Skip to content
Snippets Groups Projects
Unverified Commit f6aab536 authored by Kamil Mielnik's avatar Kamil Mielnik Committed by GitHub
Browse files

[Epic] Search in selection in entity picker (#47755)


* Maintain selected folder state in Entity Picker (#47309)

* Keep tabs mounted

* Rename TablePicker onChange to onItemSelect to match QuestionPicker and also call it for folders

* Inline small functions

* Remove unused type

* Rename

* Remove TODOs

* Remove duplication

* Reduce diff

* Rename

* Lift state from TabsView

* Remove redundant callback

* Store folder state in DataPickerModal

* Refactor computing tabs

* Consolidate search tab definition with recents tab definition

* Simplify computeInitialTab interface

* Extract RECENTS_CONTEXT

* Store tab state in DataPickerModal

* Propagate initial tab state

* Fix a flicker

* Keep tab state in EntityPickerModal

* Fix typing computeInitialTab

* Remove Notebook prefix

* Pass onItemSelect to individual tabs from EntityPickerModal

* Auto select folder

* Fix types

* Adjust remaining tabs definitions to use render

* Adjust tabs definitions to use render in tests

* Fix inverted condition

* Fix TS error

* Fix types

* Rename EntityTab to EntityPickerTab, TabId to EntityPickerTabId

* Rename EntityTabRenderProps to EntityPickerTabRenderProps

* Separate tab models from tab ids

* ESLint

* ESLint

* Recognize folders inside EntityPickerModal

* Add missing prop

* Remove console.log

* Simplify handleFolderSelect

* Revert changes that will go to a different PR

* Fix unit tests

* Refactor

* Remove keepMounted prop

* Fix type

* Remove useMemo from tabs computation (#47505)

* Extract getTabs for DataPickerModal

* Extract getTabs for EntityPickerModal

* Add explicit return type

* Revert "Add explicit return type"

This reverts commit feb3f58c.

* Revert "Extract getTabs for EntityPickerModal"

This reverts commit 4e875a1f.

* Revert "Extract getTabs for DataPickerModal"

This reverts commit cdda8ea1.

* Remove useMemo

* Maintain tab state in Entity Picker (#47794)

* Store picker path state in data picker modal

* Adjust remaining QuestionPicker usages

* Store collection picker state

* Use dedicated onPathChange prop

* Store dashboard picker state

* Improve naming

* Fix unit tests

* Remove accidental code

* Return to previously opened tab when search input is cleared in Entity Picker (#47798)

* Restore previous tab when clearing search input

* Add a unit test for new behavior

* Update comment

* Don't use effect

* Add more tests

* Reduce diff

* Fix flakes

* Change search input placeholder depending on selected folder & tab in Entity Picker (#47801)

* Make TabFolderState generic, pass folder to EntityPickerSearchInput

* Simplify interface

* Extract getSearchInputPlaceholder

* Reduce diff

* Remove TODO

* Implement it

* Shorten code

* Reduce diff

* Use database to scope search if there's only 1 schema

* Add scoped search in the Search tab in Entity Picker (#47839)

* Cleanup entity picker search types (#48098)

* Add e2e tests for local search in the entity picker (#48122)

* Sync the value back into selectedItem when it changes

* Await element

* Handle empty tabs

* Pick everywhere tab

* Click Everywhere in unit tests

* Use deep equality to sync value

* Sync back the path value to the dashboard too

* Run test as admin to avoid (unrelated) permissions issues

* Filter scoped results too

* Fix post-merge issues

* Fix type issues

* Fix null scoped search results

* Sign in as admin to appease the tests

* Use useDeepCompareEffect when syncing back state

* Add default value for searchResultFilter to avoid double condition

* Avoid using useEffect to sync selectedItem

* Avoid overwriting path in useEnsureCollectionSelected

* Fix e2e test

---------

Co-authored-by: default avatarAlexander Polyankin <alexander.polyankin@metabase.com>
Co-authored-by: default avatarRomeo Van Snick <romeo@romeovansnick.be>
parent 9f50306f
No related branches found
No related tags found
No related merge requests found
Showing
with 1713 additions and 242 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment