Commit Graph

67 Commits

Author SHA1 Message Date
Josh Hunt
1fde7f7f46
NestedFolders: Switch between old and new folder picker components (#72124)
NestedFolders: Create wrapper to switch between old and new folder picker components
2023-07-24 10:25:32 +00:00
Josh Hunt
a5016c9e88
NestedFolders: API improvements for NestedFolderPicker (#72093)
* NestedFolders: Prepare nested folder picker for more usage

* fix betterer results

* Update usage of NestedFolderPicker

* fix tests

* fix betterer
2023-07-21 15:40:39 +01:00
Josh Hunt
f3235ba959
NestedFolders: Rename FolderPicker to OldFolderPicker (#72098)
* Rename FolderPicker to OldFolderPicker

* fix jest mock

* fix jest mock
2023-07-21 13:24:43 +00:00
Ashley Harrison
f078a0bb40
NestedFolderPicker: Allow for excluding certain uids (#72019)
* exclude some uids from nested folder picker so you can't move a folder to itself

* rename excludedUids to excludeUIDs
2023-07-21 13:10:23 +01:00
Ashley Harrison
8f464ac66e
NestedFolderPicker: Correctly handle pagination (#72030)
correctly handle pagination in the folder picker when there is more than 1 page of dashboards
2023-07-21 13:08:19 +01:00
Laura Fernández
47f70bdb00
GLDS: Text component (#71439) 2023-07-20 12:59:42 +02:00
Josh Hunt
34a2a7f3cb
NestedFolders: Paginate nested folder picker (#71489)
* Paginate nested folder picker items

* Prevent dashboards from appearing in the folder picker

* fix tests

* remove SkeletonGroup

* more excludeKinds

* cleanup
2023-07-19 16:10:43 +03:00
Laura Benz
bb48417ba0
refactor: remove cta for users with reading rights (#71380)
* refactor: remove cta for users with reading rights

* feat: add tests

* refactor: replace folder uid

* refactor: replace folder uid
2023-07-13 17:00:28 +02:00
Ashley Harrison
580345306b
Nested folders: Only show edit title button if user has permissions (#71426)
only show edit title button if user has permissions
2023-07-12 11:07:16 +01:00
Ashley Harrison
29ed310af9
Nested folder picker: Move options into overlay (#71042)
* move options into overlay

* add some unit tests

* Update public/app/features/browse-dashboards/components/BrowseActions/MoveModal.tsx

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

* minor refactoring based on review comments

* just pass in uid

---------

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2023-07-12 10:37:08 +01:00
Ashley Harrison
2650aa5600
Internationalization: Correctly generate plural forms (#71341)
* user essentials mob! 🔱

lastFile:public/locales/pseudo-LOCALE/grafana.json

* user essentials mob! 🔱

* user essentials mob! 🔱

lastFile:contribute/internationalization.md

* user essentials mob! 🔱

lastFile:contribute/internationalization.md

* move pseudo generation to precommit hook if en-US file is modified

Co-authored-by: L-M-K-B <48948963+L-M-K-B@users.noreply.github.com>
Co-authored-by: tskarhed <1438972+tskarhed@users.noreply.github.com>

* fix unit tests

---------

Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: Roxana Turc <anamaria-roxana.turc@grafana.com>
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: L-M-K-B <48948963+L-M-K-B@users.noreply.github.com>
Co-authored-by: tskarhed <1438972+tskarhed@users.noreply.github.com>
2023-07-11 16:37:01 +01:00
Bohdan Jóža
d36b70dec6
I18n: Translate phrases for new Browse Dashboards (#70654)
* Mark strings in folder manager nav for translation

* Mark strings in folder actions for translation

* Mark strings in new folder modal for translation

* Mark strings in delete modal for translation

* Mark strings in move modal for translation

* Fix interpunction in translations

* Run i18n:extract

* Fix Manage Permissions drawer test

* Redundnt useMemo

* Updated extracted translations after resolving conflicts

---------

Co-authored-by: Roxana Turc <anamaria-roxana.turc@grafana.com>
2023-07-04 16:32:32 +01:00
RoxanaAnamariaTurc
e2dd1e9055
I18n: Mark up phrases for translation on NewFolder drawer (#70888)
* I18n:Mark up phrases for translation on NewFolder drawer

* Updated variable name from field-label to name-label
2023-06-30 12:13:03 +01:00
RoxanaAnamariaTurc
0e2626b004
I18n:Mark up phrases for translation on Permissions drawer (#70842)
* I18n:Mark up Permissions

* Mark up strings in Permissions file

* I18n:Mark up phrases for on Permissions drawer

* I18n:Mark up phrases for translation on Permissions page

* I18n:Mark up phrases for translation on Permissions page

* Made the changes based on suggestions received

* restore translations

* Run extract again
2023-06-29 13:43:14 +01:00
Ashley Harrison
703bf4afcc
Nested folders: Unify visual styles between tree + search view (#70814)
* unify search table styles with browse

* add a skeleton state when switching to search view

* show all column headers

* use isItemLoaded

* extract number of placeholder rows into variable + add comment

* fix all selection toggle behaviour

* tidy up

* fix unit test
2023-06-29 10:31:22 +01:00
RoxanaAnamariaTurc
9e844b36b2
I18n:Mark up phrases for translation on Folder Page (#70801)
* I18n:Mark up phrases for translation on Folder Page

* I18n:Mark up phrases for translation on Folder Page, made suggested updates
2023-06-28 11:41:35 +01:00
Josh Hunt
f18a7f7d96
NestedFolders: Nested folder picker (#70148)
* Initial layout

* Add some styles

* Add checkbox functionality

* Add feature flag

* Extract list component

* remove feature flag

* expand folders

* Don't show empty folder indicators in nested folder picker, prevent opening folder from selecting that folder

* remove legend and button

* selection stuff

* new feature flag just for nested folder picker

* fix lint

* cleanup

* fix movemodal not showing selected item

* refactor styles, make only label clickable

---------

Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
2023-06-28 09:40:29 +00:00
RoxanaAnamariaTurc
12ddfbf2be
I18n: Mark up phrases for translation on Folder page (#70754)
* I18n:Mark up phrases for translation on Folder page

* Updated the Trans tag to be inside the Button
2023-06-27 16:23:57 +01:00
Ashley Harrison
135ef088ed
Nested folders: Paginate child folder items (#70730)
* make handleLoadMore aware of child folders

* combine PAGE_SIZE and ROOT_PAGE_SIZE
2023-06-27 11:38:33 +01:00
Ashley Harrison
8ea74333f1
Nested folders: Replace explicit type column with icon in browse view (#70666)
* remove type column and add icon instead

* extract translations
2023-06-26 11:58:26 +01:00
Laura Benz
d64b6264ff
GrafanaUI: Define tooltip or aria-label as required for IconButton (#69699)
* refactor: modify interfaces to make tooltip or aria-label required

* refactor: change functionality around aria-label and tooltip

* refactor: change and add information in storybook documentation

* refactor: remove default from tooltip

* refactor: IconButton to make tooltip or aria-label required

* refactor: Fix tests

* refactor: Fix tests

* refactor: Fix tests

* refactor: Fix tests

* feat: add migration guide for breaking change

* feat: add latest requirements to storybook docs

* refactor: separate iconbutton story with and without tooltip

* refactor: remove exported baseArgs

* refactor: clean up and restructure original story

* refactor: adjust styling

* refactor: enable control for tooltip

* refactor: clean up

* refactor: enable control for aria-label

* refactor: fix theme getting the wrong theme

* refactor: fix tests

* refactor: adjust story

* refactor: remove confusing story

* refactor: adjust controls for stories
2023-06-23 17:10:37 +02:00
Ashley Harrison
eacb5bee7e
Nested folders: Consolidate mutations in RTK query (#70249)
* this is an ok intermediate point

* delete some unused actions + fix tag invalidation on folder save

* remove prefetching for now (it creates a permanent subscription?!)

* leave paginated fetch out of rtk query for now

* ensure we're invalidating the cache correctly

* fix dashboard saving

* simplify

* recursively invalidate children on rename

* tidy up

* don't need to invalidate tags on delete

* don't need to invalidate on new either

* make new refreshParents action

* pageheader spacing

* invalidate getFolder on move

* bit of rearrangement
2023-06-22 09:44:19 +01:00
RoxanaAnamariaTurc
3c88868fe5
Internationalization: Mark up phrases for translation on Dashboards page (#70361)
* Internationalization:Mark up phrases for translation on Dashboards page

* Internationalization: Mark up phrases for translation on Dashboards page
2023-06-21 09:07:42 +01:00
Ashley Harrison
266751b96d
NestedFolders: stay in the modal whilst actions complete (#69730)
* stay in the modal whilst actions complete

* don't return anything here to fix types

* ensure we're always resetting button state
2023-06-12 16:53:17 +01:00
Ashley Harrison
9799a28fad
Nested folders: add analytics tracking for some features (#69901)
* add analytics for folder creation

* add interaction tracking for move/delete

* add tracking for item clicked in the new browse view

* review comments

* emit counts instead
2023-06-12 16:52:08 +01:00
Ashley Harrison
ca8d0ef041
NestedFolders: Move New folder into a drawer (#69706)
* make New folder a drawer

* use sentence case

* extract strings and update tests

* use sm drawer
2023-06-09 16:00:16 +01:00
Josh Hunt
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
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