Commit Graph

40 Commits

Author SHA1 Message Date
Ashley Harrison
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
Josh Hunt
52c4761218
Fix: Fix dashboards not showing in folders with search v2 enabled (#69638)
* Fix: Fix dashboards not showing in folders with search v2 enabled

* tests
2023-06-06 16:26:06 +00:00
Josh Hunt
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
Arati R
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
Ashley Harrison
9968a7324d
Nested folders: add skeleton scaffolding (#69310)
add skeleton scaffolding
2023-06-01 11:06:28 +01:00
Ashley Harrison
10adebd7b3
Page: Add inline rename functionality (#68828)
* initial attempt at inline rename

* handle version correctly

* refactor

* minor tweaks

* add unit tests

* prettier...

* add to other tabs, remove settings tab when feature toggle is enabled

* fix truncation

* allow title to span full width of page

* fix h1 styling when no renderTitle/onEditTitle is present

* better layout

* use input from grafana/ui, fix imports

* fix unit test

* better error handling

* don't use autosavefield

* undo changes to AutoSaveField

* remove timeout

* remove maxWidth now we're not using AutoSaveField

* rename isEditInProgress to isLoading

* sync localValue with value

* better responsive css
2023-05-31 17:03:54 +01:00
Ashley Harrison
fd7f2d4a5e
ConfirmModal: Ignore case for confirmation text (#69000)
* ignore case for confirmation text, add a couple of unit tests

* just have 1 test

* fix related unit tests
2023-05-31 16:20:36 +01:00
Ashley Harrison
a018fa5cfb
Nested folders: More browse unit tests (#68994)
* improved BrowseDashboardsPage unit tests

* better

* add unit tests for FolderActionsButton
2023-05-25 11:26:39 +01:00
Ashley Harrison
6613610f07
Nested folders: update delete modal title to just be "Delete" (#68999)
update delete modal title to just be "Delete"
2023-05-25 11:07:02 +01:00
Ashley Harrison
f91c1b9897
Nested folders: use an info banner instead of a warning in the move modal (#68997)
use an info banner instead of a warning
2023-05-24 16:24:45 +01:00
Ashley Harrison
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
Josh Hunt
e17f676a98
NestedFolders: Style tweaks (#68532)
* 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
2023-05-22 08:59:46 +00:00
Ashley Harrison
e27e71ee59
Nested folders: move permissions to a drawer (#68476)
* move permissions to a drawer when nested folders is enabled

* only show count when resource is folder

* Extract descendant count out into its own component

* remove label
2023-05-17 16:15:36 +01:00
Ashley Harrison
82114cb316
NestedFolders: Show Dashboard and Folder full breadcrumb hierarchy (#68308)
* update FolderDTO to match backend struct

* hacky way to get folder page breadcrumbs working

* hacky way to get dashboard nested breadcrumbs working

* undo route changes, get url from folder

* fix breadcrumbs in dashboard settings

* add parent pages to navIndex

* adjust getRootSectionForNode to just return the parent of a leaf node

* undo changes to generated files

* undo changes to toggles_gen.go

* feature toggle dashboardInit code

* remove unnecessary code in home dashboard

* build navModel directly, don't use getNavModel

* don't need fallback here

* remove getLoadingNav since it's not used anymore

* don't need to hide tabs from breadcrumbs anymore

* use id to find dashboards tab
2023-05-16 13:54:44 +01:00
Ashley Harrison
7e3c68d3c1
Nested folders: Clear selection state when navigating to a different folder (#68438)
* clear selection state when navigating to a different folder

* consolidate useEffects
2023-05-15 13:26:55 +01:00
Torkel Ödegaard
debf04eb2c
Modals: Be more consistent with Modal cancel button styling (#68302)
* Modals: Be more consistent with Modal cancel button styling

* Update docs

* Fix tests

* fixing tests
2023-05-12 09:21:07 +02:00
Ashley Harrison
135b0a25aa
Nested folders: Redo search query when actions complete (#68102)
redo search query if searching when actions complete
2023-05-10 11:13:27 +01:00
Ashley Harrison
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
Josh Hunt
338e98e237
NestedFolders: Fetch access control metadata for folder view (#67786) 2023-05-04 10:32:37 +01:00
Ashley Harrison
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 80ac1152f8.

---------

Co-authored-by: joshhunt <josh@trtr.co>
2023-05-02 21:20:30 +00:00
Josh Hunt
c4a31390ef
NestedFolders: Use new Browse Dashboards UI behind feature flag (#67416)
NestedFolders: Put feature flagged new Browse Dashboards UI at main route
2023-05-02 17:25:03 +01:00
Ashley Harrison
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
Josh Hunt
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
Josh Hunt
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
Tobias Skarhed
166641d66d
NestedFolders: Permission for creating and editing (#67406)
* Initial permissions

* Show/hide checkboxes

* Fix kinds from main

* CreateNewButton tests

* Update DashboardsTree test

* Mock folder permissions

* Rename showCheckBoxes to canSelect

* Make column ordering look better
2023-04-28 18:00:56 +02:00
Ashley Harrison
4b241311b3
Nested folders: very naive implementations of move/delete (#67309)
* implement naive delete

* implement naive move

* use params object instead of appending to url
2023-04-27 15:10:34 +01:00
Tobias Skarhed
4b047b62a7
NestedFolders: Button for creating new dashboards and and folders (#67260)
* Add CreateNewButton and tests

* Add translation support

* Move reused phrases to temp common file

* Use just a simple button

---------

Co-authored-by: joshhunt <josh@trtr.co>
2023-04-27 11:43:20 +01:00
Josh Hunt
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
Josh Hunt
9796b6b000
NestedFolders: Connect Search input fields to state manager (#67193)
* 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
2023-04-26 15:42:25 +01:00
Ashley Harrison
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
Ashley Harrison
e6e741546f
Nested folders: Create basic Move/Delete modals (#67140)
* add modal scaffolding

* add some unit tests

* remove dummy api, add some TODO comments

* small test refactor

* another small test refactor

* fix unit tests due to aria-label/data-testid change
2023-04-25 17:08:40 +01:00
Josh Hunt
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
Ashley Harrison
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
Josh Hunt
1d0387dcc2
NestedFolders: Make TagsCell return null when showing nothing (#67041) 2023-04-21 12:17:04 +01:00
Josh Hunt
0eca9950a0
NestedFolders: Show Tags in Browse Dashboards (#67029)
* NestedFolders: Show tags in Browse Dashboards view

* tests
2023-04-21 11:49:58 +01:00
Josh Hunt
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
Josh Hunt
e0c5b4f0e0
NestedFolders: Basic item selection (#66843)
* 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
2023-04-19 22:44:07 +03:00
Josh Hunt
9b15c79e19
NestedFolders: Virtual tree view (#66102)
* 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
2023-04-17 11:08:24 +01:00
Josh Hunt
0b2a4322db
NestedFolders: Fix warning from tests, restore page default export (#66441)
NestedFolders: Fix warning from tests, and restore default export for page
2023-04-13 10:46:24 +01:00
Josh Hunt
5df33c0dc1
NestedFolders: New Browse Dashboards views (#66003)
* scaffold new browse routes

* a part of rtk query

* load nested data

* .

* link nested dashboards items

* add comment about bad code, update codeowners

* tidies
2023-04-12 10:44:01 +01:00