Data picker (#41175)
* Fix nil schema in /api/table/:id/query_metadata * Fix nil schema in /api/table/:id/query_metadata * Fix nil schema in /api/table/:id/query_metadata * Fix nil schema in /api/table/:id/query_metadata * Fix nil schema in /api/table/:id/query_metadata * Revert "Fix nil schema in /api/table/:id/query_metadata" This reverts commit 38ac0923350db54966d831a456fceb339315e6d8. * Revert "Fix nil schema in /api/table/:id/query_metadata" This reverts commit 2b8fe78ed4039c82c665834904c13fd4a5263c90. * Revert "Fix nil schema in /api/table/:id/query_metadata" This reverts commit 219506f0e014b046844a726302eb2f2ea8457708. * Revert "Fix nil schema in /api/table/:id/query_metadata" This reverts commit 9430478bdf7d075594ef1a13c81714779afec871. * Revert "Fix nil schema in /api/table/:id/query_metadata" This reverts commit 8c6cdd9068db81c0de24998faf5f9bce80fd820c. * Table Picker (#40509) * Generic types * Generic types * Generic types + make generateKey a prop * Generic types * Extract AutoScrollBox.styled.tsx * Move AutoScrollBox to a separate directory * Generic types * Generic types * Generic types * Unhookify searchFilter * Generic types * Generic types * Generic types * Generic types * Generic types * Generic types * Generic types * Generic types * Finish dealing with a cast * Destructure import * Inline type * Generic types * Remove cast * Remove commented code * Remove redundant fallback * Move CollectionPicker out of EntityPicker * Avoid as unknown * Remove TODOs * Rename TisFolder to IsFolder * Fix any * Fix anys * Remove NestedItemPicker's storybook * Remove a cast * Remove a cast * Remove a cast * Revert "Remove a cast" This reverts commit b762d0f07692fa010ef752dd114ba8f1e350f0cb. * Use extends SearchModelType instead of extends string everywhere * Revert "Use extends SearchModelType instead of extends string everywhere" This reverts commit 708190d63ed61e0a4d36e560b9c6ef630982cb5d. * Fix SearchResult["available_models"] type * Handle options.allowCreateNew * Add missing description attribute to Database type * Move allowCreateNew to CollectionPickerOptions * Add missing description attribute in Database mock * Add types * Add TableList component * Add SchemaList component * Fix naming * Add DatabaseList component * Add NotebookDataItemPickerResolver * Fix typing * Add TablePicker and NotebookDataPickerModal * Update types * Fix types * Add folder type * Fix initial state * Update title * Make query model-dependent * Render tables * Fix schema icon * Adjust key generation * Rename utilts to utils * Use ItemList error prop * Use value prop * Rename NotebookDataPickerModal to DataPickerModal * Automatically open datapicker if there is no value * Highlight current item * Rename value to initial value * Fix item highlighting * Rework TablePicker state * Leave TODOs for names * Fix selecting items * Fix highlighting selected item * Hide confirmation button * Add fetchMetadata to tableApi * Fix Table['schema'] type * Fetch table metadata upon selection * Remove options from DataPickerModal * Fix collectionId typing in Question * Add collectionId prop * Remove title prop * Add todo * Fix confirmation button * Remove old DataSourceSelector * Bring back useSchemaListQuery * Fix crash * Fix picker not opening * Hide dbs list and schemas list if there's only 1 * Remove unused ref * Remove unused DataPickerListResolver * Remove unused types * Change conditional rendering to allow for loading state * Revert collection-related changes * Use RTK * Avoid using stale data * Fix highlighted db * Remove todo * Remove unused type * Remove useSchemaListQuery * Rename Value to TablePickerValue * Move isValueEqual to utils and rename it to isTablePickerValueEqual * Improve TODO * Remove unused options prop * Introduce tablePickerValueFromTable * Avoid having 2 table metadata requests * Update comment * Update comment * Remove unused function * Allow null in tablePickerValueFromTable * Extract helpers * Rename schemaId to schemaName * Remove description * Improve naming * Simplify types * Add explanatory comments * Fall back to empty state when there are no items * Account for null schemas * Account for null schema in tests * Revert "Account for null schema in tests" This reverts commit 0c96d1cb8807205913ea5b7c09cfba428e01bdd2. * Revert "Account for null schemas" This reverts commit 4f5c4e99ee9af74499c238f480b9a36d985de94f. * Improve typing around schema name * Refactor auto-select logic * Refactor * Avoid comment * Make useAutoSelectOnlyItem generic * Do not enforce presence of at least 1 tab with TypeScript * Fix types * Remove obsolete comment * Post-merge fix * Integrate QuestionPicker in DataPicker (#42268) * Add question and model pickers to Data Picker * Add model attribute to data picker value * Introduce DataPickerValue * Start with the right tab when opening data picker modal * Do not use stale sourceCard value * Fix switching tabs when a table is selected * Use undefined instead of null for consistency * Do not show models/questions tabs when there are no models/questions * Fix selecting models/questions in search results * Remove dead code * Remove dead code * Ignore selecting collections * Refactor useHasModels and useHasQuestions into useAvailableData * Use models param to speed up the query * Do not require `onConfirm` prop in `EntityPickerModal` (#42317) * Make onConfirm prop optional * Add a test for onConfirm prop assertion * Table does not appear selected in single-schema dbs (#42336) * Convert useAutoSelectOnlyItem arguments to param object * Disable auto-selection when there already is a selection * Use `DataPicker` in `JoinTablePicker` (#42330) * Refactor DataStep: - rename handleTableSelect to handleTableChange - extract value and memoize it * Remove redundant fragment * Add new DataPicker props * Use DataPickerModal in JoinTablePicker * Remove initialTab prop since the default tab is always the models tab anyway * Limit table selection to particular database * Limit search results to a given database * Support databaseId in useAvailableData * Filter collection items by databaseId * Use databaseId prop only for CollectionItemList component * Fix types * Fix filtering * Use useLatest for onChange * Fix typing * Introduce shouldShowItem and use it instead of databaseId prop * Improve PickerInfo type * Use MLv2 to generate DataPickerModal value in JoinTablePicker * Fix title * Add isModel to TableDisplayInfo * Add a hack to populate query metadata with info that table is a model * Remove NewQuestionView & QuestionDataSelector (#42562) * Temporarily disable recents tab in the data picker * Update Data Picker tests (#42565) * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Fix metadata loading * Update test * Update test * Update tests * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update tests * Update test * Update test * Update test and make it pass * Update test * Update tests * Update test * Use entityPickerModal() instead of modal() * Use entityPickerModal() instead of modal() * Update test * Update test * Update test * Revert change that broke tests * Update test * Update test * Update test * Update test * Update test * Update test * Remove test * Update test * Update test * Update test * Update test * Update test * Update test * Update tests * Update test * Update test * Rename createDatabaseIdItemFilter to createShouldShowItem * Update test * Update and skip a test * Remove test * Update tests * Update tests * Update tests * Remove test * Update tests * Update test * Update test * Update test * Extract utils * Use helpers * Extract helpers * Update test * Update test * Update test * Update test * Update test * Filter out collections that do not have card or dataset * Improve filtering * Always show root and personal collections, see https://github.com/metabase/metabase/issues/42687 * Remove failing assertion * Update tests * Use entityPickerModalTab * Accept strings in pickEntity * Use entityPickerModalLevel * Use entityPickerModalTab * Use entityPickerModalTab * Update tests * Update test * Update tests * Update test * Fix assertion * Update test * Update tests * Update test * Update tests * Update tests * Update test * Update test * Update tests - ensure database list gets loaded like in a real app * Update test * Update test * Integrate Recents tab in Data Picker (#42821) * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Fix metadata loading * Update test * Update test * Update tests * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update test * Update tests * Update test * Update test * Update test and make it pass * Update test * Update tests * Update test * Use entityPickerModal() instead of modal() * Use entityPickerModal() instead of modal() * Update test * Update test * Update test * Revert change that broke tests * Update test * Update test * Update test * Update test * Update test * Update test * Remove test * Update test * Update test * Update test * Update test * Update test * Update test * Update tests * Update test * Update test * Rename createDatabaseIdItemFilter to createShouldShowItem * Update test * Update and skip a test * Remove test * Update tests * Update tests * Update tests * Remove test * Update tests * Update test * Update test * Update test * Extract utils * Use helpers * Extract helpers * Update test * Update test * Update test * Update test * Update test * Filter out collections that do not have card or dataset * Improve filtering * Always show root and personal collections, see https://github.com/metabase/metabase/issues/42687 * Remove failing assertion * Update tests * Use entityPickerModalTab * Accept strings in pickEntity * Use entityPickerModalLevel * Use entityPickerModalTab * Use entityPickerModalTab * Update tests * Update test * Update tests * Update test * Fix assertion * Update test * Update tests * Update test * Update tests * Update tests * Update test * Update test * Update tests - ensure database list gets loaded like in a real app * Update test * Enable recents tab and update tests * Update test * Update tests * Add Recents-related assertions * Update test * Clean up mocks --------- Co-authored-by:Alexander Polyankin <alexander.polyankin@metabase.com>
Showing
- e2e/support/helpers/e2e-collection-helpers.js 9 additions, 3 deletionse2e/support/helpers/e2e-collection-helpers.js
- e2e/support/helpers/e2e-notebook-helpers.ts 20 additions, 15 deletionse2e/support/helpers/e2e-notebook-helpers.ts
- e2e/support/helpers/e2e-ui-elements-helpers.js 12 additions, 0 deletionse2e/support/helpers/e2e-ui-elements-helpers.js
- e2e/test/scenarios/admin/datamodel/editor.cy.spec.js 19 additions, 14 deletionse2e/test/scenarios/admin/datamodel/editor.cy.spec.js
- e2e/test/scenarios/admin/datamodel/hide_tables.cy.spec.js 11 additions, 7 deletionse2e/test/scenarios/admin/datamodel/hide_tables.cy.spec.js
- e2e/test/scenarios/binning/binning-reproductions.cy.spec.js 16 additions, 14 deletionse2e/test/scenarios/binning/binning-reproductions.cy.spec.js
- e2e/test/scenarios/binning/qb-explicit-joins.cy.spec.js 18 additions, 12 deletionse2e/test/scenarios/binning/qb-explicit-joins.cy.spec.js
- e2e/test/scenarios/collections/collections.cy.spec.js 1 addition, 1 deletione2e/test/scenarios/collections/collections.cy.spec.js
- e2e/test/scenarios/collections/reproductions/24660-same-name-parent-collections.cy.spec.js 13 additions, 12 deletions...productions/24660-same-name-parent-collections.cy.spec.js
- e2e/test/scenarios/collections/trash.cy.spec.js 5 additions, 2 deletionse2e/test/scenarios/collections/trash.cy.spec.js
- e2e/test/scenarios/custom-column/cc-data-type.cy.spec.js 4 additions, 2 deletionse2e/test/scenarios/custom-column/cc-data-type.cy.spec.js
- e2e/test/scenarios/custom-column/custom-column.cy.spec.js 7 additions, 2 deletionse2e/test/scenarios/custom-column/custom-column.cy.spec.js
- e2e/test/scenarios/custom-column/reproductions/13751-cc-allow-strings-in-filter.cy.spec.js 7 additions, 3 deletions...reproductions/13751-cc-allow-strings-in-filter.cy.spec.js
- e2e/test/scenarios/custom-column/reproductions/14843-cc-apply-filter-not-equal-to.cy.spec.js 3 additions, 9 deletions...productions/14843-cc-apply-filter-not-equal-to.cy.spec.js
- e2e/test/scenarios/custom-column/reproductions/21135-cc-same-name-as-existing-column.cy.spec.js 1 addition, 13 deletions...ductions/21135-cc-same-name-as-existing-column.cy.spec.js
- e2e/test/scenarios/custom-column/reproductions/27745-cc-numeric-missing-summarize.cy.spec.js 8 additions, 4 deletions...productions/27745-cc-numeric-missing-summarize.cy.spec.js
- e2e/test/scenarios/dashboard/dashboard.cy.spec.js 2 additions, 2 deletionse2e/test/scenarios/dashboard/dashboard.cy.spec.js
- e2e/test/scenarios/embedding/interactive-embedding.cy.spec.js 6 additions, 2 deletions...test/scenarios/embedding/interactive-embedding.cy.spec.js
- e2e/test/scenarios/filters/reproductions/20683-postgres-current-quarter.cy.spec.js 7 additions, 5 deletions...s/reproductions/20683-postgres-current-quarter.cy.spec.js
- e2e/test/scenarios/filters/reproductions/29094-non-boolean-custom-expressions.cy.spec.js 4 additions, 2 deletions...oductions/29094-non-boolean-custom-expressions.cy.spec.js
Loading
Please register or sign in to comment