15 Commits

Author SHA1 Message Date
ff89217d66 NestedFolders: Fix select all in folder view selecting items out of folder (#69780)
* NestedFolders: Fix select all selecting items outside of folder when viewing a folder

* fix lint errors
2023-06-08 14:35:21 +03:00
0e28d6143b Nested folders: Improve loading states (#69556)
* loading states!

* fix uncontrolled checkbox

* cleaner css

* improve flickering title

* make sure @grafana/ui has the same version of react-loading-skeleton

* fix unit test + add tooltip text

* better way of restoring focus

* only restore focus when loading

* missing !

* use aria-label instead of tooltip
2023-06-07 11:21:44 +01:00
394ff9fcde NestedFolders: Improve performance of Browse Dashboards by loading one page at a time (#68617)
* 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
2023-06-05 10:21:45 +00:00
6cb1a5e368 Nested folders: Add alert rule counts and deletion to folder registry (#67259)
* Let alert rule service implement registry service
* Add count method to RuleStore interface
* Add implementation for deletion of alert rules
* Rename uid to folderUID in registry methods
* Check forceDeleteRule value for registry deletion
* Register alerting store with folder service
* Move folder test functions to separate package
* Add testing for alert rule counting, deletion
* Remove redundant count method
* Fix deleteChildrenInFolder signature
* Update pkg/services/ngalert/store/alert_rule.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Add tests for nested folder deletion
* Refactor TestIntegrationNestedFolderService
* Add rules store as parameter for alertng provider

---------

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-06-02 16:38:02 +02:00
a8f91f115c Nested folders: Add folder actions to other tabs (#68673)
* add folder actions to other tabs

* fix copy pasta

* add unit tests

* don't need tree here

* fixes some copy pasta

* move into separate fixtures file
2023-05-24 10:41:03 +01:00
765da9c841 Nested folders: remove behaviour where selecting all children selects parent (#68084)
remove behaviour where selecting all children selects parent
2023-05-10 10:51:57 +01:00
5d5a54979c Nested folders: hook up getAffectedItems to the backend count route (#67677)
* hook up getAffectedItems to the backend count route

* mock out backendSrv in unit tests

* Don't delete alert rules while API doesn't return counts

* Show alert rule counts when API returns them

* use components for modal styles

* Revert "use components for modal styles"

This reverts commit 80ac1152f8d966b62bd692d935695bc4f992c5ba.

---------

Co-authored-by: joshhunt <josh@trtr.co>
2023-05-02 21:20:30 +00:00
02086e843f Nested folders: hook up move/delete logic properly (#67648)
* clear selection post move/delete

* move actions out of rtk-query

* move findItems, create selectors, refetch children when moving/deleting

* cleaner syntax

* remove unnecessary function, just put logic in the selector

* handle moving/deleting from the root

* slightly cleaner

* handle when rootItems are undefined

* handle 'general' in the fetchChildren reducer

* only refresh at the end

* don't need thunk api
2023-05-02 17:22:51 +01:00
fd2c7594cf NestedFolders: Add empty states for Browse and Search (#67423)
* NestedFolders: Add empty states for Browse and Search

* empty states

* fix types

* tests
2023-05-02 14:33:59 +03:00
32d3e895b3 NestedFolders: Indicate when folders have mixed-selection children (#67337)
* 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
2023-05-02 13:17:25 +03:00
334ecd1be7 NestedFolders: Select all for Browse and Search (#67227)
* 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
2023-04-27 12:29:26 +03:00
258f11f08d Nested folders: deduplicate selection of children (#67229)
* scaffold out dedupe logic, use mock api to get descendant info

* rename methods

* use for..of

* some renaming for clarity
2023-04-26 11:20:10 +01:00
69e5a2bdf9 NestedFolders: Basic search view (#67093)
* First stab and reusing SearchView for new Browse Dashboards

* NestedFolders: Basic SearchView

* last bits of cleanup
2023-04-24 18:32:04 +03:00
1cad819670 Nested folders: Add dummy Move/Delete actions (#67051)
* slight refactor, show actions on selection

* add unit tests

* refactor logic into custom selector + hook
2023-04-21 15:18:40 +01:00
3518f8ec53 NestedFolders: Refactor BrowseView state into redux (#66898)
* refactor all state into redux

* add tests for reducers

* added comments
2023-04-20 16:37:00 +01:00