Commit Graph

210 Commits

Author SHA1 Message Date
Ryan McKinley
afe0848d16 history UI 2024-06-27 13:11:10 +03:00
Ryan McKinley
2fab168fb1 history UI 2024-06-27 12:08:46 +03:00
Ashley Harrison
47f8717149 React: Use new JSX transform (#88802)
* update eslint, tsconfig + esbuild to handle new jsx transform

* remove thing that breaks the new jsx transform

* remove react imports

* adjust grafana-icons build

* is this the correct syntax?

* try this

* well this was much easier than expected...

* change grafana-plugin-configs webpack config

* fixes

* fix lockfile

* fix 2 more violations

* use path.resolve instead of require.resolve

* remove react import

* fix react imports

* more fixes

* remove React import

* remove import React from docs

* remove another react import
2024-06-25 12:43:47 +01:00
Ashley Harrison
7d8afd9578 Tab: Improve accessible name (#89602)
* replace aria-label selector with data-testid

* fix unit tests

* fix e2e selectors

* fix last unit test

* fix e2e tests

* fix casing

* fix e2e test

* fix casing
2024-06-24 17:48:26 +01:00
Ashley Harrison
82eb160f5c Chore: SCSS tidy up (#87956)
* more scss tidy up

* replace some scss
2024-05-16 11:20:29 +01:00
kay delaney
0f98bd3b7b Chore: Rewrite dashboard component css using object styles (#86930) 2024-04-25 20:18:02 +01:00
Tom Ratcliffe
08200bc533 Nav: Fix alerting links/special cases not selecting the right MegaMenu item (#85336)
* Render current MegaMenu link as `aria-current=page`

* Add overrides capability for mega menu links

* Pass pageNav into getActiveItem so we can use override capability

* Test MegaMenu special cases for starred & dashboards

* Test that overrides for megamenu util works correctly

* Alpha-sort megamenu overrides

* Refactor util for getting active item for megamenu

Update parameters to getActiveItem

Update tests for getActiveItem

* Fix test for starred dashboard and remove query param test

Query param case happens differently in real app and is fiddly to test here

* handle edge cases

* restore handling home page test

* fix dashboard settings

* handle starring properly

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-23 11:04:53 +01:00
Ashley Harrison
fc45b56d9d EmptyState: Apply call-to-action variant in core (#86448)
* apply empty state in a bunch of places

* fix unit tests

* put alert back on top

* add data-testids so e2e tests keep working

* remove info boxes

* fix annotations empty state alignment with new maxWidth
2024-04-22 17:01:24 +01:00
Joanna
65951c40c4 Dashboard: Fix A11y in AutoRefresh input field (#86058)
Dashboard: Fix issue with providing clear instructions for data format in Auto Refresh input field
2024-04-17 12:54:37 +02:00
Ivan Ortega Alba
74e62ac6fa Dashgpt: Make generate title and description work in scened dashboard settings (#84649)
* wip

* add GenAI to scenes dashboard settings

* rework title and description into controlled inputs

---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2024-03-19 14:06:03 +00:00
Gilles De Mey
8765c48389 Alerting: Remove legacy alerting (#83671)
Removes legacy alerting, so long and thanks for all the fish! 🐟

---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
Co-authored-by: Sonia Aguilar <soniaAguilarPeiron@users.noreply.github.com>
Co-authored-by: Armand Grillet <armandgrillet@users.noreply.github.com>
Co-authored-by: William Wernert <rwwiv@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-03-14 15:36:35 +01:00
Gilles De Mey
248031d007 Alerting: Show legacy provisioned alert rules warning (#81902) 2024-02-16 14:47:03 +01:00
Ivan Ortega Alba
35e96d6b04 Settings: Consistent footer actions across edit views (#82048) 2024-02-08 11:50:53 +02:00
Oscar Kilhed
1ecf9faded Chore: Skip flaky dashboard settings test. (#82098)
skip flaky dashboard test
2024-02-07 23:51:39 +01:00
Ashley Harrison
28b336ac80 DockedMegaMenu: Clean up toggle and old code (#81878)
* remove toggle

* remove code not behind toggle

* remove old MegaMenu

* rename DockedMegaMenu -> MegaMenu and clean up go code

* fix backend test

* run yarn i18n:extract

* fix some unit tests

* fix remaining unit tests

* fix remaining e2e/unit tests
2024-02-06 13:43:11 +00:00
Sergej-Vlasov
3605d85c4c Dashboards: Remove advancedDataSourcePicker feature toggle (#81790)
* remove advancedDataSourcePicker feature toggle from DataSourcePickerWithPrompt

* remove advancedDataSourcePicker toggle from DataSourcePicker and adjust tests that relied on old picker

* adjust failing tests in QueryVariableEditorForm

* move DataSourceDropdown to DataSourcePicker file

* covert style declaration syntax to object style in DataSourcePicker

* remove advancedDataSourcePicker  feature flag from registry

* remove .only from test

* adjust QueryVariableEditor test to avoid console.error
2024-02-06 09:20:07 +00:00
Torkel Ödegaard
a5d890984b Dashbboard: Fixes time picker schema default issues (#81847)
* Dashbboard: Fixes time picker schema default issues

* Fix tests

* fix imports
2024-02-05 12:32:59 +01:00
Ryan McKinley
ed925c81d4 Chore: deprecate/remove folderId from more typescript (#81194) 2024-02-02 18:42:43 +02:00
Ashley Harrison
3f1e97cb07 NestedFolderPicker: Add clearable prop (#81114)
* add clearable prop to NestedFolderPicker

* update types
2024-01-24 13:18:01 +00:00
Victor Marin
b93567a839 Scenes: Restore dashboard from version settings (#80600)
* Add versions tab in dashboard settings

* Fetch and render dashboard versions

* Be able to compare two versions

* PR discussion changes

* remove unnecessary async in test

* PR discussion mods

* linter fix

* styles and tests

* Fix show more versions bug

* migrate files + style fix

* fix test

* refactor styles - css object keys to camelCase

* refactor file migrations

* more files migrations

* wip restore

* remove unused type, cleanup

* wip

* restore functionality

* revert defaults

* wip

* restore functional

* refactor + tests

* CR modifications

* fix tests - CR mods
2024-01-19 10:58:20 +02:00
Victor Marin
5a509ef1f1 Scenes: Compare versions in dashboard settings (#80286)
* Add versions tab in dashboard settings

* Fetch and render dashboard versions

* Be able to compare two versions

* PR discussion changes

* remove unnecessary async in test

* PR discussion mods

* linter fix

* styles and tests

* Fix show more versions bug

* migrate files + style fix

* fix test

* refactor styles - css object keys to camelCase

* refactor file migrations

* more files migrations

* remove unused type, cleanup
2024-01-17 17:14:29 +02:00
Ivan Ortega Alba
07778cb221 DashboardLinksSettings: Move them to Scenes (#79998) 2024-01-16 13:24:54 +02:00
Victor Marin
1cf53a34d1 Scenes: Render versions in dashboard settings (#80229)
* Add versions tab in dashboard settings

* Fetch and render dashboard versions

* PR discussion changes

* remove unnecessary async in test

* PR discussion mods

* linter fix
2024-01-15 16:57:45 +02:00
Ivan Ortega Alba
e56a252158 GeneralSettings: Edit general dashboards settings to scenes (#78492) 2023-12-01 17:04:56 +02:00
Dominik Prokop
0122f7ccad DashboardScene: Support dashboard links (#77855)
* MenuItem: Allow react node as label

* LinkButton: Expose ButtonLinkProps

* Typecheck fix

* DashboardLinks: Refactor and use LinkButton and menu

* DashbaordLinks scene object

* Use flex layout for dashboard controls

* Update public/app/features/dashboard/components/SubMenu/DashboardLinksDashboard.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* fix keepTime and includeVars

* Add ellipsis to menu item label and description

* Use DashboardLink type from grafana/schema

* Update dashboard scene controls layout

* Fix e2e

* Test fix

* Bring back keyboard navigation

* Remove unused code

* One more fix

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-11-15 17:49:51 +02:00
Joao Silva
f183e68b1c GrafanaUI: Move Box out of unstable and into GrafanaUI (#77080) 2023-10-26 13:46:11 +01:00
Jo
28c0fb1cfd AccessControl: Remove legacy frontend AC checks (#76187)
* remove legacy ac checks

* fix RBAC disabled tests

* add permissions for tests to work

* fix unifiedalertstatesworker test
2023-10-09 18:10:06 +02:00
Abhi Shandilya
6150d1370c i18n: dashboard settings (#75854)
* feat: i18n dashboard settings

* run i18n extract

* rename titles and use vars

* json editor title

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-10-03 15:12:44 +01:00
otilor
3c7c608b5b i18n: Mark up GeneralSettings for translations (#75827)
* add preliminary i18n

* translate delete btn

* update keys for i18n

* update locales

* add translation

* update locales

* update translation

* add new translation

* add new translation keys

* add new translation

* update keys

* update key structure

* translate auto-refresh

* add new translations for label and description

* Update public/app/features/dashboard/components/DashboardSettings/AutoRefreshIntervals.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DashboardSettings/TimePickerSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DashboardSettings/TimePickerSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DashboardSettings/TimePickerSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DeleteDashboard/DeleteDashboardButton.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DashboardSettings/TimePickerSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* update internationalization key

* Update public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/features/dashboard/components/DashboardSettings/TimePickerSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* update internationalization key

* Update public/app/features/dashboard/components/DashboardSettings/TimePickerSettings.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* update label

* fix style

---------

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>
2023-10-03 13:15:11 +01:00
Joao Silva
79c0087466 GeneralSettings: Use Box instead of gf-form classes (#75678)
DashboardSettings: Use Box instead of gf-form classes
2023-09-29 09:35:33 +01:00
Ashley Harrison
a2964731eb Navigation: Change dashboard settings to use tabs when dockedMegaMenu is enabled (#75463)
* kinda working

* return to selected parents

* feature toggle everything

* fix toggling of annotations

* use Trans instead of Text

* kick drone
2023-09-28 16:15:00 +01:00
otilor
6ff767a6bb i18n: Add translation for json editor settings (#75549)
* add translation for json editor settings

* add different translations

* update translation

* update pseudo locale

* update locales

* Use Trans and new i118n key

* add psuedo locale translations

* Update public/locales/pseudo-LOCALE/grafana.json

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Update public/locales/en-US/grafana.json

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Update public/app/features/dashboard/components/DashboardSettings/JsonEditorSettings.tsx

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-09-28 15:24:50 +01:00
Ivan Ortega Alba
d531f5ab42 Dashboards: Auto-generate dashboard title and description from settings (#75240)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2023-09-21 19:07:56 -07:00
Torkel Ödegaard
74d453f056 DashboardSchema: Remove old unused legacy props style and timepicker.enable (#73879)
* DashboardScheam: Remove old unused legacy props style and timepicker.enable

* Update

* fix test
2023-08-28 12:18:17 +02:00
Ashley Harrison
2374458e94 Nested folders: use FolderPicker in dashboard settings (#72192)
* Use new NestedFolderPicker in SaveDashboardAsForm

* use FolderPicker wrapper in dashboard settings

* fix e2e test

* actually pass the deprecated props to the component

* just pass value

---------

Co-authored-by: joshhunt <josh@trtr.co>
2023-07-24 14:27:47 +01: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
9852b24d61 Chore: Upgrade prettier to v3 (#71764)
* Update dependency prettier to v3 (#71586)

* Update dependency prettier to v3

* run prettier

* ignore prettier update in legacy select scss

* update command line arg

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>

* unplug prettier

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-17 15:58:22 +01:00
Ashley Harrison
5ca382c88a Revert "Update dependency prettier to v3 (#71586)" (#71755)
This reverts commit 2e8cd1c021.
2023-07-17 14:46:15 +01:00
renovate[bot]
2e8cd1c021 Update dependency prettier to v3 (#71586)
* Update dependency prettier to v3

* run prettier

* ignore prettier update in legacy select scss

* update command line arg

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-07-17 09:19:27 +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
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
Laura Benz
24502c4c4a Add tooltip to instances of IconButton (#68880)
* refactor: tooltip is required

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: adjust tests

* refactor: apply changes from code review

* refactor: adjust component for e2e test

* refactor: adjust fallback

* refactor: apply changes from code review

* refactor: apply changes from code review

* refactor: set IconButton default as type=button and remove from use cases

* refactor:  remove aria-labels when duplicated and type=button from use cases

* refactor: clean up

* refactor: fix tests

* refactor: fix type errors

* refactor: remove changes in order in order to add them to a separate PR

* refactor: set IconButton default as type=button

* refactor: remove tooltip

* refactor: apply changes requested in review
2023-06-08 10:23:28 +02: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
4e492ae725 Navigation: Unify Page component (#66951)
* remove old page component

* add test to check initDashboard is only called once (prevent variables loading twice)

* add help node

* update unit tests

* remove last mentions of topnav

* fix unit tests

* remove unused props from ButtonRow interface

* remove prop from test
2023-04-24 16:41:32 +01:00
Ryan McKinley
9452c0d718 Annotations: Support filtering the target panels (#66325)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2023-04-18 15:39:30 -05:00
Ashley Harrison
0741f47876 Navigation: Move SectionNav to AppChrome (#64391)
* move section nav to app chrome

* unit tests

* Move SectionNav to AppChrome folder

* fix duplicate variable rendering

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-04-18 14:58:00 +01:00
Ashley Harrison
4abe0249ba Chore: Clean up old navigation (#66287)
* remove code outside of the topnav feature flag

* delete NavBar folder

* remove topnav toggle from backend

* restructure AppChrome folder

* fix utils mock

* fix applinks tests

* remove tests since they're covered in e2e

* fix 1 of the approotpage tests

* Fix another dashboardpage test

* remove reverse portalling + test for plugins using deprecated onNavChanged method

* kick drone

* handle correlations
2023-04-14 09:43:11 +01:00
Ashley Harrison
1261345b81 Chore: Upgrade to react 18 (#64428)
* update react 18 related deps

* fix some types

* make sure we're on react-router-dom >= 5.3.3

* Use new root API

* Remove StrictMode for now - react 18 double rendering causes issues

* fix + ignore some @grafana/ui types

* fix some more types

* use renderHook from @testing-library/react in almost all cases

* fix storybook types

* rewrite useDashboardSave to not use useEffect

* make props optional

* only render if props are provided

* add correct type for useCallback

* make resourcepicker tests more robust

* fix ModalManager rendering

* fix some more unit tests

* store the click coordinates in a ref as setState is NOT synchronous

* fix remaining e2e tests

* rewrite dashboardpage tests to avoid act warnings

* undo lint ignores

* fix ExpanderCell types

* set SymbolCell type correctly

* fix QueryAndExpressionsStep

* looks like the types were actually wrong instead :D

* undo this for now...

* remove spinner waits

* more robust tests

* rewrite errorboundary test to not explicitly count the number of renders

* make urlParam expect async

* increase timeout in waitFor

* revert ExplorePage test changes

* Update public/app/features/dashboard/containers/DashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* skip fakeTimer test, ignore table types for now + other review comments

* update package peerDeps

* small tweak to resourcepicker test

* update lockfile...

* increase timeout in sharepublicdashboard tests

* ensure ExplorePaneContainer passes correct queries to initializeExplore

* fix LokiContextUI test

* fix unit tests

* make importDashboard flow more consistent

* wait for dashboard name before continuing

* more test fixes

* readd dashboard name to variable e2e tests

* wait for switches to be enabled before clicking

* fix modal rendering

* don't use @testing-library/dom directly

* quick fix for rendering of panels in firefox

* make PromQueryField test more robust

* don't wait for chartData - in react 18 this can happen before the wait code even gets executed

---------

Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2023-04-11 10:51:54 +01:00
Ashley Harrison
a123e0a97c e2e tests: Add selector to close dashboard settings and use it in e2e tests (#65625)
* add selector to close dashboard settings and use it in e2e tests

* check visibility of add panel button

* check visibility of add new panel button before clicking
2023-03-31 09:32:44 +01:00