From cedaf89e2e68de45c486c18e2f40ff6339024cc4 Mon Sep 17 00:00:00 2001 From: "metabase-bot[bot]" <109303359+metabase-bot[bot]@users.noreply.github.com> Date: Thu, 9 Mar 2023 10:32:08 +0000 Subject: [PATCH] Do not show parameters for non-variable template tags in the action editor (#29028) (#29071) Co-authored-by: Alexander Polyankin <alexander.polyankin@metabase.com> --- e2e/support/helpers/e2e-action-helpers.js | 4 +++- .../scenarios/models/model-actions.cy.spec.js | 20 +++++++++++++++++++ .../actions/containers/ActionCreator/utils.ts | 2 +- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/e2e/support/helpers/e2e-action-helpers.js b/e2e/support/helpers/e2e-action-helpers.js index 9a1f644f7a5..a79669df90f 100644 --- a/e2e/support/helpers/e2e-action-helpers.js +++ b/e2e/support/helpers/e2e-action-helpers.js @@ -9,7 +9,9 @@ export function enableActionsForDB(dbId = SAMPLE_DB_ID) { } export function fillActionQuery(query) { - cy.get(".ace_content").type(query, { parseSpecialCharSequences: false }); + cy.get(".ace_content:visible").type(query, { + parseSpecialCharSequences: false, + }); } /** * diff --git a/e2e/test/scenarios/models/model-actions.cy.spec.js b/e2e/test/scenarios/models/model-actions.cy.spec.js index d8a2f35bc85..e7370d59864 100644 --- a/e2e/test/scenarios/models/model-actions.cy.spec.js +++ b/e2e/test/scenarios/models/model-actions.cy.spec.js @@ -330,6 +330,26 @@ describe( cy.findByLabelText("Success message").should("be.disabled"); }); }); + + it("should display parameters for variable template tags only", () => { + cy.visit("/"); + cy.findByText("New").click(); + popover().findByText("Action").click(); + cy.findByText("Select a database").click(); + popover().within(() => cy.findByText("QA Postgres12").click()); + + fillActionQuery("{{#1-orders-model}}"); + cy.findByLabelText("#1-orders-model").should("not.exist"); + + fillActionQuery("{{snippet:101}}"); + cy.findByLabelText("#1-orders-model").should("not.exist"); + cy.findByLabelText("101").should("not.exist"); + + fillActionQuery("{{id}}"); + cy.findByLabelText("#1-orders-model").should("not.exist"); + cy.findByLabelText("101").should("not.exist"); + cy.findByLabelText("Id").should("be.visible"); + }); }, ); diff --git a/frontend/src/metabase/actions/containers/ActionCreator/utils.ts b/frontend/src/metabase/actions/containers/ActionCreator/utils.ts index 0a5262b32d7..0b25761c314 100644 --- a/frontend/src/metabase/actions/containers/ActionCreator/utils.ts +++ b/frontend/src/metabase/actions/containers/ActionCreator/utils.ts @@ -75,7 +75,7 @@ export const setTemplateTagTypesFromFieldSettings = ( const query = question.query() as NativeQuery; let tempQuestion = question.clone(); - query.templateTagsWithoutSnippets().forEach((tag: TemplateTag) => { + query.variableTemplateTags().forEach((tag: TemplateTag) => { const currentQuery = tempQuestion.query() as NativeQuery; const fieldType = fields[tag.id]?.fieldType ?? "string"; const nextTag = { -- GitLab