182 Commits

Author SHA1 Message Date
2b8c74de2e i18n: removes useTranslate hook (#106556)
* i18n: removes useTranslate hook

* chore: fix duplicate imports

* chore: fix import sorting and hook dependencies
2025-06-12 11:03:52 +02:00
7bfa78c6e6 I18n: Update eslint rule to catch some untranslated object properties (#105072) 2025-05-28 21:14:43 +01:00
119d5897ea i18n: imports use @grafana/i18n (#105177)
* i18n: everything should target @grafana/i18n

* wip

* chore: updates after PR feedback

* Trigger build

* Trigger build

* Trigger build

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: revert all flaky tests

* chore: some incorrect usages of useTranslate
2025-05-15 09:17:14 +02:00
c83c486c9b Internationalisation: Lint rule improvement (#103788)
* improve autofix so it can fix foo={"bar"}

* apply fixes

* fix type checks + betterer

* tweak to make types happy
2025-04-10 16:22:52 +01:00
0fbb51ab08 Internationalisation: More automatic markup (#103260)
* easy markup

* final tweaks, betterer + translations

* fix unit test
2025-04-03 09:26:24 +01:00
01b57f412f Dashboards: WeekStart is now of type WeekStart | undefined instead of string (#101123)
* change weektype from string to WeekStart | undefined

* Change to WeekStart in more places, fix lint

* change in more places

* More weekstart changes

* fix snapshot, update betterer

* keep weekstart as '' in test dashboards to make sure it doesn't break old dashboards
2025-02-24 11:35:55 +01:00
eb2f8182c0 Dashboards: Allow custom quick time ranges specified in dashboard model (#93724)
* TimeRangePicker: allow to customize quick ranges per dashboard

* TimeRangePicker: show selected custom time range using its name

* rangeutil: add tests for describeTextRange + quickRanges

* Fix up tests, and add an extra case for hidden time ranges

* Don't construct an object to find options, add findRangeInOptions util

* fix type errors detected by TypeScript

---------

Co-authored-by: joshhunt <josh@trtr.co>
2025-02-04 14:36:28 +00:00
687e207b48 SingleTopNav: Clean up and remove code + toggle (#97937)
* clean up almost all of the toggle

* betterer

* clean up searchBarHidden and extract translations

* fix remaining unit tests

* remove redundant topPosition
2024-12-17 13:32:38 +00:00
1fc9b4bfc1 Chore: Remove dashboard state barrel file (#97562)
* refactor(dashboard-state): delete dashboard/state barrel file and update imports

* chore(betterer): update results
2024-12-06 16:01:51 +01:00
4d08f44667 SingleTopNav: Revert to using AppChromeUpdate so banners are correct (#94540)
* revert to using AppChromeUpdate

* fix dashboard settings in old arch

* remove empty interface

* fix AlertRuleForm
2024-10-11 15:07:01 +01:00
40ad52fdbc SingleTopNav: Handle for non-scenes dashboards (#94198)
handle singleTopNav for non-scenes dashboards
2024-10-04 15:11:32 +01:00
a45662bf2d Revert "Restore Dashboards: Add e2e tests (again) (#93214)" (#94003) 2024-09-30 14:26:16 +01:00
42f1fcaf2c Restore Dashboards: Add e2e tests (again) (#93214) 2024-09-30 10:44:15 +01:00
6c63aec586 Calendar/TimePickers: By default use the system/user start of week (#93464)
Calendar: Should automatically use user or system start of week
2024-09-24 08:19:55 +02:00
20f7e11987 Restore Dashboards: Revert e2e tests (#93026) 2024-09-06 11:18:49 +01:00
b20017cf8c Restore Dashboards: Add e2e tests (#92514) 2024-09-04 15:47:15 +01:00
8862578f50 ShareDrawer: Wrap render logic and add shareView query param (#92060) 2024-08-27 16:31:07 +03:00
0af4a20b58 Routing: Import useLocation from compat package (#92071)
* Routing: Import useLocation from compat package

* Add ComparRouter

* Add CompatRouter

* Fix tests

* Add CompatRouter to TestProvider

* Use findBy

* Remove AppChromeService

* Remove historyOptions

* Routing: Fix alerting/test utils issues from react compat router usage (#92127)

* Use render from test-utils

* Use compat router

* Convert more tests

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-08-23 09:54:13 +03:00
0145b0fe70 Dashboard: Chore - Remove rudderstack events from panel menu and toolbar (#91376)
* Chore: Remove rudderstack events from panel interactions, and toolbar in dashboards

- dashboards_panelheader_menu
- dashboards_panelheader_description_displayed
- dashboards_toolbar_actions_clicked

* Add back some toolbar events: sharing, settings, favourites, and add

* restore ShareButton
2024-08-02 13:30:47 +02:00
be1414b36b Dashboards: Remove scenes feature toggle (#89771) 2024-06-27 09:03:46 +02:00
9056ff73f6 TimeRangePicker: Use week start (#89765) 2024-06-27 07:53:46 +03:00
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
0f98bd3b7b Chore: Rewrite dashboard component css using object styles (#86930) 2024-04-25 20:18:02 +01:00
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
e90b87589f ModalsContext: Unify modals context and manager (#84916)
* ModalsContext: Unify modals context and manager

* Clear on location change

* fixes

* Update

* use generics to avoid anys

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-03-28 13:26:57 +01:00
b20da139ad DashboardScene: Show insights icon (#84877)
* DashboardScene: Show insights icon

* Update

* Create separate group for precence indicators

* fix

* Update

* fix tests
2024-03-22 09:46:29 +01:00
4a81a0388b Playlist: run on Scenes (#83551)
* DashboardScene: Implement playlist controls

* Mock the runtime config properly

* PlaylistSrv: with state you can subscribe to (#83828)

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-03-11 13:33:32 +01:00
b02183e9ac Alerting: Fix dashboard nav drawers disappearing (#82890)
Add DashNav modal renderer to handle modals rendered from Toolbar buttons
2024-02-22 10:16:27 +01:00
83ea51f241 Scenes: Add snapshots view support (#81522) 2024-02-06 19:29:57 -03:00
7c2622a4f1 ShareModal: Fixes url sync issue that caused issue with save drawer (#81706)
* ShareModal: Fixes url sync issue that caused issue with save drawer

* Updated fix
2024-02-01 15:07:01 +01:00
e0054c06fe DashNav: add missing key (#81626)
* DashNav: add missing key

* DashNav: use more specific key
2024-01-31 13:51:15 +02:00
9ba13dd309 Dashboards: Remove emptyDashboardPage feature flag (#81188)
* remove emptyDashboardPage feature toggle from DashNav

* remove emptyDashboardPage feature toggle from NewDashboardWithDS

* remove emptyDashboardPage feature toggle from DashboardGrid

* remove emptyDashboardPage feature toggle from DashboardModel

* remove emptyDashboardPage feature toggle from initDashboard

* remove unused AddPanelWidged component

* remove add-panel type from test

* remove emptyDashboardPage feature flag from registry.go
2024-01-25 14:04:29 +00:00
40e4d3deb5 UI: Hide additional separator when time picker is hidden (#80168)
UI: Hide additional separator when time range is hidden
2024-01-09 07:43:31 -03:00
25ff4baa76 UI: New share button and toolbar reorganize (#77563) 2024-01-08 10:42:24 -03:00
f0c38611a2 Scenes: Remove old scenes stuff (#79760)
* Scenes: Remove old scenes stuff

* Fixes

* Fixes

* update
2024-01-04 15:44:41 +01:00
096a3b148f DashboardScene: Support custom actions in the nav toolbar (#79139)
* DashbaordScene: Support custom nav toolbar actions

* Move custom actions to scenes feature dir

* Review

* betterrerererererer
2023-12-11 00:26:32 -08:00
bfde6f2c8a Dashboard interactions reporting refactor, DashboardScene interactions handling (#79078)
* Refactor dashboard interactions tracking

* Local scenes tmp

* Use latest scenes

* Review refactor

* Fix enterprise tests

* Reporting parity for panel description
2023-12-06 07:24:15 -08:00
6708848056 Add tracking dashboard toolbar options v2 (#78237)
* Add share, save, add tracking

* change event name

* revert naming

* change naming of action
2023-11-27 09:53:48 -05:00
384e024955 Task: Add tracking dashboard toolbar options (#77524)
* add tracking for toolbar

* Add favorite

* add timepicker

* add reusable analytics file

* change the refresh and zoom click prop function

* add interaction for timepicker

* decouple tracking code

* update naming of function

* Update packages/grafana-ui/src/components/DateTimePickers/TimeRangePicker.tsx

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>

* use useEffect

* remove prop from useEffect

* destructure prop

* add dependency on useEffect

---------

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2023-11-14 13:37:43 -05:00
225614a513 Snapshots: Remove scenes button from snapshot view (#77997) 2023-11-10 11:44:04 -03:00
3529b7413d DashboardScene: Include url params when switching from old dashboard arch to new (#74969)
* DashboardScene: Include url params when switching from old dashboard arch to new

* remove imports

* fix
2023-09-22 13:04:17 +02:00
1d1bdaab37 DashboardScene: ShareModal + link sharing (#74955)
* DashboardScene: Panel menu updates, adding explore action

* DashboardScene: Panel menu updates, adding explore action

* Initial test

* Update

* share modal

* Update

* rename

* Update tests

* Fix test

* update

* Fix tooltip wording

* Update translation file

* fix e2e

* Extract ShareLinkTab component

* rename to overlay

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2023-09-19 16:02:21 +02:00
d87c2c4049 SceneDashboard: Move time controls from nav toolbar into controls and make controls them sticky, and edit mode (#71082)
* Scene with sticky controls

* Progress on an edit mode
2023-07-06 11:21:03 +02:00
698b07518a Dashboards: Support an auto refresh interval that is based on the query range (#70479) 2023-06-26 19:46:23 +03:00
4db6679460 [Chore] Dashboard: Tests for dashboard's add content buttons and menu (#66233)
* add tests for empty dashboard page

* add tests for AddPanelButton

* export default components

* test +Add menu in dashboard page

* use userEvent instead of firing an event on the DOM itself

* fix test to match new analytic events
2023-06-08 11:16:08 +01:00
24668137f8 NavBar: app chrome state wrongly overwritten when ds modal is opened (#67952) 2023-05-08 16:51:42 -03:00
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
b9fb23502c Dashboard: Add new visualization/row/library panel/pasted panel is now a dropdown menu (#65361)
* Empty Dashboard state has its own CTA items and its own separate box to choose a library panel to create

* show empty dashboard screen if no panels

* add feature flag for empty dashboard redesign

* only show empty dashboard redesign if FF

* add-new-panel button is a dropdown with options: visualization, row, import, paste

* fix onPasteCopiedPanel types

* do not create new panel to new dashboard if emptyDashboardPage FF true

* ToolbarButton does not allow rendering of Dropdown's overlay - switch to Button

* remove panel-add icon's default size of xl

* separate components for add new panel from dash navigation bar
2023-03-30 13:50:35 +03:00
2578774188 Chore: Avoid explicit React.FunctionComponent<Props> when possible (round 3) (#64839) 2023-03-16 16:56:26 +02:00
d5a9a0cea0 Chore: remove comments feature (#64644) 2023-03-11 04:28:12 -08:00