* wip for pagination
* kind of doing pagination, but only for the root folder
* wip
* wip
* refactor paginated fetchChildren
* make sure dashboards are loaded if a folder contains only dashboards
* rename lastKindHasMoreItems
* load additional root pages
* undo accidental commit
* return promise from loadMoreChildren, and prevent loading additional page while a request is already in flight
* rename browseDashboards/fetchChildren action so it's more clear
* starting to revalidate children after an action
* unset general uid
* comment
* clean up
* fix tests omg
* cleanup
* fix items not loading after invalidating loaded cache
* comment
* fix lints
* Center align cell items
* Change empty folder message + style
* Use new Text components in TypeCell
* Use new components in Move and Delete modals
* fix test
* Change spinner in DescendantsCount to the same font size as the text to prevent layout shift
* Show indeterminate checkbox for folders with partially selected children
* When selecting an item, check ancestors to see if all their children are now selected
* reword comment
* fix test
* fix lint
* Check all descendants for mixed state
* Use indeterminate checkbox
* fix test description
* make header checkbox select/unselect automatically
* mixed header checkbox:
* fix tests
* add tests
* NestedFolders: Select all for BrowseView and SearchView
* show fake indeterminate state for SearchView
* fix types
* Select search results as additional pages are loaded
* fix (de)select all between browse and search
* tests
* fix test
* fix test
* NestedFolders: Connect Search input fields to state manager
* Fix tag list not loading
* Clear includePanels checkbox when leaving search
* fix test
* Fix extra right margin
* fix missing style
* cleanup
* fix placeholder
* fix test
* NestedFolders: Item selection state
* Select children in state
* Unselect parents when children are unselected
* remove unneeded comment
* tests
* tidy test a little bit
* tidy test a little bit
* tidy test a little bit
* tidy test a little bit
* tidy test a little bit
* poc for virtual tree
* remove my silly debug stuff
* wip
* style table
* improve styles
* fix
* start to split tree into seperate component
* cleanup unused function
* split into more components
* more better
* secondary color type column
* simple tests for DashboardsTree
* restore styles from dodgy rebase
* remove my weirdo text component thing
* scaffold new browse routes
* a part of rtk query
* load nested data
* .
* link nested dashboards items
* add comment about bad code, update codeowners
* tidies
* wip for move folders
* hello
* Polish up move dashboard results messages
* tests
* fix other test
* tweak messages when things can't be moved
* tweak messages when things can't be moved
* fix tests
* remove comment
* restore failOnConsole
* .
* Fix move modal not opening due to dodgy rebase
* dirty dirty code for showing nested folders in folder view
refactor to NestedFolderItem
Update dashboard grid view to new types
update tests
REBASE OUT OF THIS BRANCH - joshhunt/star-by-uid merged into this
Squashed commit of the following:
commit d0f046ccd3
Author: joshhunt <josh@trtr.co>
Date: Wed Feb 8 18:35:56 2023 +0000
undo async
commit abe2777a1f
Author: joshhunt <josh@trtr.co>
Date: Wed Feb 8 18:34:11 2023 +0000
Dashboards: Star dashboards by UID
add type for dashboard search dto
clean DashboardSearchItem type
simplify DashboardSearchHit type
remove unused properties from DashboardSearchHit
make uid non-optional
rename + move NestedFolderItem type to DashboardViewItem
clean up
* wip
* fix checkbox selection of nested folders
* show folder's parent correctly
* Add dashboard result kind
* don't render folder empty view in SearchView
* call nested folders api only if feature flag enabled
* remove unused import
* un-rename variable to reduce PR diff
* fix typo in comment
* fix order of pseudoFolders
* Fix General folder not showing in browse
* rename folder view tests
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Chore: Refactor Search/Folder view types into DashboardViewItem
* uid is not optional in api
* rename queryResultToNestedFolderItem function
* Fix error from locationInfo being empty
* change queryResultToViewItem to take view instead
* Fix sortMeta fields not showing on search cards
* Show correct parent for panel search results
* Extract dirty translations from main
* Translate some variable phrases
* Translate nav bar
* Translate search/browse
* Fix header returning null
* Translate search results type
* fix test
* Navigation: Translate nav tree in store
* Remove usage of getNavTitle
* properly translate children
* add pubdash translation
* remove extraneous calls to translation in PageHeader
* empty commit
* correctly allow subtitle to be overrwitten (thank you tests!)
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* user essentials mob! 🔱
lastFile:public/app/features/search/state/SearchStateManager.ts
* user essentials mob! 🔱
lastFile:public/app/features/search/page/components/ActionRow.tsx
* user essentials mob! 🔱
* remove searchSort state from localStorage when cleared
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
* Config: Make frontend settings a struct rather than map
remove frontend settings to setting package
remove frontend settings struct to dtos package
rearrange structs to avoid cycles
rename getFrontendSettings fn
omitempty
fix login test
fix middleware test
* wip some enterprise types
* cleanup, moved structs from enterprise
* ci
* Reduce size of topnav search 'input' to 1/5th of the width, min width 200px
* Open command palette on topnav search box click
* Rename component
* fix comment
* feature flag the change
* update feature flag description
* CommandPalette: Use custom useMatches to avoid perf issues with long names
* wip start to multi search
* use search permutations, and do substring match if search is over 25 chars
* update ufuzzy
* don't permute query if greater than 5 words
* CommandPalette: Search for dashboards using API
* Fix ordering of dashboards
* Put recent + search dashboards in root list, refactor actions into hook
* limit recent dashboards to 5
* search debounce to 200ms
* update priorities
* extract i18n
* Fix not all recently used time ranges showing
* Refactor time picker history to store simpler json objects
* Don't store duplicate items
* update todo tests:
* Add tests for TimePickerWithHistory
* better fix for focus scope issues in test
* wip for exposing full nav tree in command palatte
* Expose whole nav tree in command palette
* give search an icon
* comments
* remove unused index variable
* navigate to parents
* include image icons
* comment
* start to split admin into two sections
* most of new admin nav implemented
* landing pages
* hide admin for non-admins
* update admin redirects if not topnav
* clean up
* updated IA for admin (still WIP)
* move plugin pages into correct admin sections
* fix backend unit test
* move correlations into the correct section
* add translations for admin sections
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* user essentials mob! 🔱
* user essentials mob! 🔱
lastFile:packages/grafana-ui/src/components/Select/SelectPerf.story.internal.tsx
* user essentials mob! 🔱
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* add api route for validating a dashboard json
* add feature flag for showDashboardValidationWarnings
* tidy up
* comments and messages
* swagger specs
* fix typo
* more swagger
* tests!
* tidy test a little bit
* no more ioutil
* api will return different status code depending on validation error
* clean up
* handle 4xx errors
* remove console.log
* fix backend tests
* tidy up
* Swagger: Exclude alpha endpoints
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>