-
- Downloads
Use slugs for card template tags in the native query editor + autocomplete (#25319)
* Allow slugs in question template tags, like `{{#123-a-question}}` * Update CardTagEditor to add slug names to the query text, instead of IDs * Fix dispatchApiErrorEvent prop for entity object loader * Ignore errors loading names of referenced questions * Fix e2e tests * Implement autocomplete for model slugs * Prioritize models above questions * Make the ace_autocomplete popup slightly wider to account for longer question names * Reorder requires * Remove unnecessary ? from endpoint string * Add e2e test for card tag autocomplete * Fix NativeQueryEditor not swapping back to standard completers * Refactor replaceCardSlug * Add e2e test for updating tags when card name is changed * Refactor updateReferencedQuestionNames * Add slug method to Question class * Use map for autocomplete API results * Rename endpoint path * Rename for consistency * Add docstrings * Update slug() to guard against undefined names * Fix read permissions for the endpoint * Add backend test * Fix unit tests * Fix permissions error * Make regex simpler * Undo change of value on QuestionPicker * Fix tests * Fix models e2e test * Simplify updateReferencedQuestionNames * Fix bugs in updateReferencedQuestionNames * Rename variable * Move NativeQuery methods to new native-query utils module * Fix typescript errors * Fix e2e tests * Fix e2e test * Fix BE tests * Actually fix BE test * Refactor updateQuestionTagNames * Align comments * Reorder autocomplete results * Refactor: move all query text tag utils in one place * Add tests for regex * Add unit tests for cardIdFromTagName * Add schema to autocomplete_suggestions endpoints * Add perms checks to autocomplete tests * Add unit test for updateCardTagNames * Rename updateQuestionTagNames -> updateCardTagNames * Tidy card-autocomplete-suggestions-test * Rename questionReference-> cardTag for consistency * Rename card-reference -> card-tag for consistency * Use ternary operator for comprehension * Fix broken swapCompleters * Use prefix match on name for 123-foo case
Showing
- frontend/src/metabase-lib/lib/Question.ts 5 additions, 0 deletionsfrontend/src/metabase-lib/lib/Question.ts
- frontend/src/metabase-lib/lib/queries/NativeQuery.ts 109 additions, 52 deletionsfrontend/src/metabase-lib/lib/queries/NativeQuery.ts
- frontend/src/metabase-types/types/Query.ts 3 additions, 0 deletionsfrontend/src/metabase-types/types/Query.ts
- frontend/src/metabase/entities/containers/EntityObjectLoader.jsx 5 additions, 1 deletion...d/src/metabase/entities/containers/EntityObjectLoader.jsx
- frontend/src/metabase/query_builder/actions/core/initializeQB.ts 26 additions, 4 deletions...d/src/metabase/query_builder/actions/core/initializeQB.ts
- frontend/src/metabase/query_builder/actions/core/initializeQB.unit.spec.ts 1 addition, 3 deletions...base/query_builder/actions/core/initializeQB.unit.spec.ts
- frontend/src/metabase/query_builder/components/NativeQueryEditor.css 1 addition, 0 deletions...c/metabase/query_builder/components/NativeQueryEditor.css
- frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx 47 additions, 13 deletions...c/metabase/query_builder/components/NativeQueryEditor.jsx
- frontend/src/metabase/query_builder/components/template_tags/CardTagEditor.jsx 7 additions, 1 deletion.../query_builder/components/template_tags/CardTagEditor.jsx
- frontend/src/metabase/query_builder/containers/QueryBuilder.jsx 2 additions, 0 deletions...nd/src/metabase/query_builder/containers/QueryBuilder.jsx
- frontend/src/metabase/query_builder/selectors.js 15 additions, 0 deletionsfrontend/src/metabase/query_builder/selectors.js
- frontend/src/metabase/services.js 3 additions, 0 deletionsfrontend/src/metabase/services.js
- frontend/test/metabase-lib/lib/queries/NativeQuery.unit.spec.js 84 additions, 23 deletions...nd/test/metabase-lib/lib/queries/NativeQuery.unit.spec.js
- frontend/test/metabase/modes/components/drill/ObjectDetailDrill.unit.spec.js 1 addition, 1 deletion...ase/modes/components/drill/ObjectDetailDrill.unit.spec.js
- frontend/test/metabase/scenarios/models/models.cy.spec.js 6 additions, 4 deletionsfrontend/test/metabase/scenarios/models/models.cy.spec.js
- frontend/test/metabase/scenarios/native-filters/reproductions/21246.cy.spec.js 9 additions, 9 deletions...e/scenarios/native-filters/reproductions/21246.cy.spec.js
- frontend/test/metabase/scenarios/native/native.cy.spec.js 4 additions, 2 deletionsfrontend/test/metabase/scenarios/native/native.cy.spec.js
- frontend/test/metabase/scenarios/native/native_subquery.cy.spec.js 111 additions, 7 deletions...test/metabase/scenarios/native/native_subquery.cy.spec.js
- src/metabase/api/database.clj 60 additions, 4 deletionssrc/metabase/api/database.clj
- test/metabase/api/card_test.clj 5 additions, 5 deletionstest/metabase/api/card_test.clj
Loading
Please register or sign in to comment