86 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
a9b6d098e9 Chore: Add eslint no-restricted-globals rule (#104519)
* Chore: Add no-restricted-globals eslint rule

* Fix eslint warnings

* Revert some changes

* Update

* Feedback
2025-05-12 12:38:26 +03:00
c594faa64e Dashboard: Fix Panel Explore link subpath duplication (#104952)
* Stop appending subpath in onNavigateToExplore function old-arch
* we are using assureBaseUrl inside getExploreUrl function

* adjust test to ensure subPath is not added to the url

* fix linting
2025-05-07 11:29:37 +02:00
f96e4e9ad2 Frontend: Remove Angular (#99760)
* chore(angularsupport): delete feature toggle to disable angular

* feat(angular-support): remove config.angularSupportEnabled

* chore(jest): remove angular from setup file

* chore(angular): delete angular deprecation ui components

* refactor(angular): move migration featureflags into migration notice

* chore(dashboard): remove angular deprecation notices

* chore(annotations): remove angular editor loader

* feat(appwrapper): no more angular app loading

* feat(pluginscatalog): clean up angular plugin warnings and logic

* chore(angular): delete angular app and associated files

* feat(plugins): delete old angular graph plugin

* feat(plugins): delete old angular table panel

* feat(frontend): remove unused appEvent type

* feat(dashboards): clean up angular from panel options and menu

* feat(plugins): remove graph and table-old from built in plugins and delete sdk

* feat(frontend): remove angular related imports in routes and explore graph

* feat(theme): remove angular panel styles from global styles

* chore(i18n): run make i18n-extract

* test(api_plugins_test): refresh snapshot due to deleting old graph and table plugins

* chore(angulardeprecation): delete angular migration notice components and usage

* test(frontend): clean up tests that assert rendering angular deprecation notices

* chore(backend): remove autoMigrateOldPanels feature flag

* chore(config): remove angularSupportEnabled from config preventing loading angular plugins

* chore(graphpanel): remove autoMigrateGraphPanel from feature toggles

* chore(tablepanel): delete autoMigrateTablePanel feature flag

* chore(piechart): delete autoMigratePiechartPanel feature flag

* chore(worldmappanel): remove autoMigrateWorldmapPanel feature toggle

* chore(statpanel): remove autoMigrateStatPanel feature flag

* feat(dashboards): remove automigrate feature flags and always auto migrate angular panels

* test(pluginsintegration): fix failing loader test

* test(frontend): wip: fix failures and skip erroring migration tests

* chore(codeowners): remove deleted angular related files and directories

* test(graphite): remove angular mock from test file

* test(dashboards): skip failing exporter test, remove angularSupportEnabled flags

* test(dashbaord): skip another failing panel menu test

* Tests: fixes pkg/services/pluginsintegration/loader/loader_test.go (#100505)

* Tests: fixes pkg/services/pluginsintegration/plugins_integration_test.go

* Trigger Build

* chore(dashboards): remove angularComponent from getPanelMenu, update test

* feat(dashboards): remove all usage of AngularComponent and getAngularLoader

* chore(betterer): refresh results file

* feat(plugins): remove PluginAngularBadge component and usage

* feat(datasource_srv): remove usage of getLegacyAngularInjector

* feat(queryeditor): delete AngularQueryComponentScope type

* Chore: removes Angular from plugin_loader

* Chore: remove angular from getPlugin

* Chore: fix i18n

* Trigger Build

* Chore: remove more Angular from importPanelPlugin

* Chore: remove search options warning

* Chore: remove and deprecate Angular related

* chore(angular): remove angular dependencies from core and runtime

* chore(runtime): delete angular injector

* chore(data): delete angular scope from event bus

* chore(plugin-catalog): remove code pushing app plugins angular config page

* chore(yarn): refresh lock file

* chore(frontend): remove ng-loader from webpack configs, remove systemjs cjs plugin

* chore(navigation): remove tether-drop cleanup from GrafanaRouter, delete dependency

* chore(runtime): delete AngularLoader

* chore(betterer): refresh results file

* chore(betterer): fix out of sync results file

* feat(query): fix type and import errors in QueryEditorRow

* test(dashboards): delete skipped angular related tests

* Tests: add back tests and fix betterer

* Tests: fix broken test

* Trigger build

* chore(i18n): remove angular deprecation related strings

* test: clean up connections and plugins catalog tests

* chore(betterer): update results file

---------

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2025-04-04 11:31:35 +02:00
b88ce9df38 Chore: Remove Dashboard datasource barrel file (#98040)
* chore(dsahboard-datasource): delete barrel file

* refactor(dashboards): update paths for dashboard ds imports

* chore(betterer): update file

* style(dashboard-datasource): fix linting errors
2024-12-18 13:18:55 +01:00
63bdbb67fc SubMenu: Fix expanding sub menu items on touch devices (#93208)
* click more in mobile phone

* use stopPropagation stop event

* delete log

* delete inspect click and add stopPropagation

* bug fix

* fix unit tests

* fix e2e tests

* fix old-arch tests

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-07 15:22:18 +01: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
53ead9904d datatrails: interpolate adhoc variables and datasource variables when opening "explore metrics" from dashboard panels (#86252)
* fix: interpolate "explore metrics" from panels

---------

Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>

* fix: remove support for legacy dashboard

- simplify code
- take advantage of scenes dashboard async and datasource api object

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-24 12:05:48 -04:00
804c726413 PluginExtensions: Make the extensions registry reactive (#83085)
* feat: add a reactive extension registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: add hooks to work with the reactive registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: start using the reactive registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "command palette" extension point to use the hook

* feat: update the "alerting" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "explore" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "datasources config" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "panel menu" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "pyroscope datasource" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "user profile page" extension point to use the hooks

* chore: update betterer

* fix: update the hooks to not re-render unnecessarily

* chore: remove the old `createPluginExtensionRegistry` impementation

* chore: add "TODO" for `PanelMenuBehaviour` extension point

* feat: update the return value of the hooks to contain a `{ isLoading }` param

* tests: add more tests for the usePluginExtensions() hook

* fix: exclude the cloud-home-app from being non-awaited

* refactor: use uuidv4() for random ID generation (for the registry object)

* fix: linting issue

* feat: use the hooks for the new alerting extension point

* feat: use `useMemo()` for `AlertInstanceAction` extension point context

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-04-24 09:33:16 +02:00
66c0fd4dcc chore: update datatrails feature flag and enable (#85508)
* chore: update datatrails feature flag and enable

* fix: rename `datatrails` feature flag to `exploreMetrics`
2024-04-09 14:15:18 -04:00
63e8753aa0 datatrails: integrate dashboard panels with metrics explore (#84521)
* feat: integrate dashboard panels with metrics explore

- add dashboard panel menu items (in non-scenes dashboard) to open
  `metric{filters}` entries detected from queries to launch
  "metrics explorer" drawers for the selected `metric{filter}`

* fix: remove OpenEmbeddedTrailEvent

* fix: use modal manager dismiss capabilities instead
2024-03-18 17:16:38 +01:00
39232a0776 Alerting: Show error message when error is thrown after clicking create alert f… (#84367)
Show error message when error is thrown after clicking create alert from panel
2024-03-15 12:36:34 +01: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
6e4418ffd2 DashboardScene: Show plugin extensions in panel menu (#78702)
* DashboardScene: Show plugin extensions in panel menu

* FIx test

* Nits

* Nit

* Review nits
2023-11-28 03:26:09 -08:00
0abfc3b6be Alerting: Update 'Create alert' to 'New alert rule' in the panel and docs (#76950)
* Update 'Create alert' to 'New alert rule' in the panel and docs

* Fix test
2023-11-02 17:33:53 +01:00
1de65bb384 Alerting: Add Alerting menu in getPanelMenu (#76618)
* Add Alerting menu in getPanelMenu

* Add translations

* Allow alert tab, heart icon in all panel types, and not show warning in DashobardPicker panels

* Fix tests

* Move alerting submenu under 'More...' item

* Move create alert menu item to More... without submenu

* Update translations

* Revert "Allow alert tab, heart icon in all panel types, and not show warning in DashobardPicker panels"

This reverts commit 225da3f60eb90757370892338dc369e8efa2a77c.

* Revert allowing alert tab and health icon for all panel types

* use onCreateAlert method name in onClick instead of new function

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>

* Move getAlertingMenuAvailability method to a /features/alerting folder and rename it to getCreateAlertInMenuAvailability

* Use onCreate direclty instead of a new method

* Make getCreateAlertInMenuAvailability to return a boolean

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-10-18 15:13:38 +03:00
d18766e88b PluginExtensions: Make sure to pass default timeZone in context (#76513)
* Fixed so we will return default timeZone to extensions if empty is provided.

* Update public/app/features/dashboard/utils/getPanelMenu.test.ts

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2023-10-13 14:43:45 +02:00
ed3fb71f7b DashboardScene: Panel menu tracking, adding explore menu action and unit tests (#74867)
* DashboardScene: Panel menu updates, adding explore action

* DashboardScene: Panel menu updates, adding explore action

* Fix test

* Update test
2023-09-14 16:12:20 +02:00
fdd384ab56 Explore: Decouple TimeSrv from Explore (#73559) 2023-09-04 14:08:52 +01:00
0853819ff7 Chore: friday typings 5 (#73844)
* fix some event.target as stuff

* segment async story

* segmentinput story

* SegmentSelect

* fixing some tests

* more test fixes

* undo change to SilencesFilter
2023-08-29 09:14:15 +01:00
8e090f9951 Prometheus: Add a keyboard shortcut to toggle all exemplars (#64479)
* Add a keyboard shortcut to toggle all exemplars

Sometimes it's hard to see the quantile line behind all the exemplars.

This commit adds a `d x` keyboard shortcut to toggle exemplar visibility
on all prometheus queries. Unlike with legends, the logic is simpler
and it does a pure toggle as opposed to "majority toggle" as with legends.

Since exemplars might not be loaded, this also requires refreshing the data.
For the same reason, toggling a single panel is not supported, as it will
make the panel data out of sync with the rest of the dashboard.

* Use "p x" to navigate to panel explore rather than just "x"

It's more consistent with other panel level shortcuts.

It also doesn't conflict with the global "x" to toggle exemplars that way.
2023-07-25 07:45:18 -05:00
eee8e52605 PluginExtensions: Increased extension limit per plugin (#72196)
increased limit of how many items a plugin can register for panel and explore extension pint.
2023-07-24 16:20:57 +02:00
57a54fc38a PluginExtensions: Add category to link extensions (#71074)
* adding a panel menu group item to UI extensions.

* draft

* Fixed so we support groups in the old panel menu.

* added proper styling.

* Made tests green and small refactor.

* Added tests for panel menu category.

* Will truncate the extensions category to 25 chars.

* added test for truncating category.
2023-07-24 13:08:59 +02:00
f1529997f2 Explore: Make toolbar action extendable by plugins (#65524)
* Cleaned up solution and starting to make it work properly.

* will disable add button if no queries available.

* Changed so 'add to dashboard' is registered as an extension in explore.

* moved utility function to utils

* hides button if insufficent permissions.

* Fixed ts issue.

* cleaned up the code and change to using the 'getPluginLinkExtensions'

* Added values to explore context.

* truncating title in menu.

* added tests to verify explore extension point.

* fixed failing tests in explore.

* made excludeModal optional.

* removed temporary fix to force old button.

* reverted generated files.

* fixed according to feedback.

* Update public/app/features/explore/extensions/ToolbarExtensionPoint.test.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/explore/extensions/ToolbarExtensionPoint.test.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* added tests suggested in reviews.

* fixed failing tests after sync with main.

* replaced exploreId type with stirng.

* cleaned up code a bit more.

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-06-28 15:42:41 +02:00
13e3308959 Chore: some type fixes (#69860)
* some type fixes

* restore empty object

* undo 1 fix for now

* commit betterer update

* explicitly type slug and uid as string | undefined
2023-06-20 17:13:49 +01:00
7b2bd48677 Plugin Extensions: Custom limits for extensions-per-plugin (#69430)
* feat(plugins): remove global limit on extensions per placement

* feat: add a way to limit extension per plugin at the getter

* test(plugins): fix failing getPluginExtensions test

* refactor(panelmenu): put back limit of 2 extensions per plugin

* tests: add a test for checking all extensions are returned by default

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2023-06-02 11:09:25 +02:00
3fd04edd81 Dashboards: Remove Explore option from panel menu when panel's datasource uid is "-- Dashboard --" (#69017)
* Remove Explore option from panel menu when panel's datasource uid is "-- Dashboard --"

* Use the constant SHARED_DASHBOARD_QUERY
2023-05-26 08:01:54 -06:00
58aa098ed7 Extensions: Moved the "Extensions" menu item so the "More..." is displayed last in the panel menu. (#68372)
Moved the extensions before the more option.
2023-05-15 09:01:05 +02:00
e7a67e749c Plugins: Pass panel data in plugin extension context (#67509)
* Plugins: Pass panel data in plugin extension context

Similar to https://github.com/grafana/grafana/pull/65861, this passes
the panel's data as part of the context object used when configuring
extension links.

This is useful if the plugin wants to conditionally show the link
depending on the presence or absence of certain features in the
data. For example in the ML plugin we only want to offer Outlier
Detection links for a query if the query returned more than 3 series.

* Update getPanelMenu extension test to include data object
2023-05-12 14:12:00 +02:00
5605d2f4a5 PluginExtensions: Expose scopedVars via the context to plugins that extends the dashboard panel menu (#67917)
* Exposes the scoped vars to UI extensions via context.

* reverted the interpolation when running a query via the query runner.

* adding scoped vars to test.#
2023-05-11 12:58:19 +02:00
b4a7427f31 [Chore] Refactor Panel Menu Rudderstack events and add missing instrumentation (#66850) 2023-04-28 12:19:39 +02:00
c8ecd0679b PluginExtensions: Adding full targets to the panel menu context (#65861)
* Making sure we add the whole query to the dashboard panel context.

* Adding some more tests.

* Synced with main.
2023-04-04 07:17:10 +02:00
1380fa54d6 UI Extensions: Rename placement to extensionPointId (#65841)
* UI Extensions: Rename `placement` to `extensionPointId`

* Fix tests.

* Fix conflicts and review notes

* Remove `placement` from some other places
2023-04-03 18:59:54 +03:00
8b738d770c PluginExtensions: Added onClick to link as a replacement for the command type (#65837)
* Added onClick to the link and made path optional.

* Added type to the import.

* revert(plugin-extensions): put back isPromise utility function

* Minor update to the isPromise function.

* added onClick in the panel menu item.

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-04-03 17:27:55 +02:00
30b5b8d984 Plugins: Hide extensions menu when editing a panel (#65840)
Plugins: Hide extensions menu when editing a panel
2023-04-03 18:00:21 +03:00
34f3878d26 UI extensions: Refactor the registry and remove the "command" type (#65327)
* Wip

* Wip

* Wip

* Wip

* Wip
2023-04-03 10:42:15 +02:00
c03bf7d8ad New Panel Header: Fix when clicking submenu item the parent menu item onClick get's triggered (#65691) 2023-03-31 16:35:34 +02:00
a0d440fb03 Dashboards: Show copy menu item to editors (regardless of dashboard edit state) (#64826) 2023-03-21 07:15:45 -07:00
595518ec12 Plugin Extensions: Move PanelMenu links into extensions submenu (#64599)
* feat(pluginextensions): move panel menu links into an extensions submenu

* refactor(pluginextensions): move extensions submenu above more... submenu

* test(panelmenu): fix failing tests after moving extensions out of more

* fix: fix rebase issues

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-03-17 11:09:23 +01:00
fef0ee913c Panel Header: Add CancelQuery option to panel header (#64796)
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2023-03-16 13:56:58 +01:00
79152969f3 Extensions: Expose an enum for available placements (#64586)
* feat: expose an enum type for extension placements

* fix: export the enum properly
2023-03-10 13:55:38 +01:00
f1a17d54cd PanelHeader: Add analytics (#64533) 2023-03-10 12:56:41 +01:00
b63c56903d Plugins: Extend panel menu with commands from plugins (#63802)
* feat(plugins): introduce dashboard panel menu placement for adding menu items

* test: add test for getPanelMenu()

* added an unique identifier for each extension.

* added context to getPluginExtensions.

* wip

* Wip

* wiwip

* Wip

* feat: WWWIIIIPPPP 🧨

* Wip

* Renamed some of the types to align a bit better.

* added limit to how many extensions a plugin can register per placement.

* decreased number of items to 2

* will trim the lenght of titles to max 25 chars.

* wrapping configure function with error handling.

* added error handling for all scenarios.

* moved extension menu items to the bottom of the more sub menu.

* added tests for configuring the title.

* minor refactorings.

* changed so you need to specify the full path in package.json.

* wip

* removed unused type.

* big refactor to make things simpler and to centralize all configure error/validation handling.

* added missing import.

* fixed failing tests.

* fixed tests.

* revert(extensions): remove static extensions config in favour of registering via AppPlugin APIs

* removed the compose that didn't work for some reason.

* added tests just to verify that validation and error handling is tied together in configuration function.

* adding some more values to the context.

* draft validation.

* added missing tests for getPanelMenu.

* added more tests.

* refactor(extensions): move logic for validating extension link config to function

* Fixed ts errors.

* Started to add structure for supporting commands.

* fixed tests.

* adding commands to the registry

* tests: group test cases in describe blocks

* tests: add a little bit more refactoring to the tests

* tests: add a test case for checking correct placements

* feat: first version of the command handler

* feat: register panel menu items with commands

* refactor: make the 'configure' function not optional on `PluginExtensionRegistryItem`

* Wip

* Wip

* Wip

* added test to verify the default configure function.

* added some more tests to verify that commands have the proper error handling for its configure function.

* tests: fix TS errors in tests

* tests: add auxiliary functions

* refactor: small refactoring in tests

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* draft of wrapping command handler with error handling.

* refactor: refactoring tests for registryFactory

* added test for edge case.

* replaced the registry item with a configure function.

* renamed the configure function type.

* refactoring of the registryfactory.

* added tests for handler error handling.

* fixed issue with assert function.

* added comment about the limited type.

* Update public/app/features/plugins/extensions/errorHandling.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/plugins/extensions/errorHandling.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/plugins/extensions/errorHandling.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* added missing tests.

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-03-08 14:23:29 +01:00
f82c57f281 Fix: Prevent freezing dashboard time range (#64212)
fix(extensions): create new object to prevent freezing dashboard time range
2023-03-06 13:43:03 +01:00
8c8f584b41 Plugins: Extend panel menu with links from plugins (#63089)
* feat(plugins): introduce dashboard panel menu placement for adding menu items

* test: add test for getPanelMenu()

* added an unique identifier for each extension.

* added context to getPluginExtensions.

* wip

* Wip

* wiwip

* Wip

* feat: WWWIIIIPPPP 🧨

* Wip

* Renamed some of the types to align a bit better.

* added limit to how many extensions a plugin can register per placement.

* decreased number of items to 2

* will trim the lenght of titles to max 25 chars.

* wrapping configure function with error handling.

* added error handling for all scenarios.

* moved extension menu items to the bottom of the more sub menu.

* added tests for configuring the title.

* minor refactorings.

* changed so you need to specify the full path in package.json.

* wip

* removed unused type.

* big refactor to make things simpler and to centralize all configure error/validation handling.

* added missing import.

* fixed failing tests.

* fixed tests.

* revert(extensions): remove static extensions config in favour of registering via AppPlugin APIs

* removed the compose that didn't work for some reason.

* added tests just to verify that validation and error handling is tied together in configuration function.

* adding some more values to the context.

* draft validation.

* added missing tests for getPanelMenu.

* added more tests.

* refactor(extensions): move logic for validating extension link config to function

* Fixed ts errors.

* Update packages/grafana-data/src/types/app.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update packages/grafana-runtime/src/services/pluginExtensions/extensions.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* refactor(extensions): rename limiter -> pluginPlacementCount

* refactor(getpanelmenu): remove redundant continue statement

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2023-03-02 15:42:00 +01:00
a1d33c63c8 Internationalization: Translate page headers and Search dashboard actions (#60727)
* Fix: PageHeader & PageHeaderTabs & NavBarItem & DashboardActions & PanelMenu is displayed in default_language (#60719)

* I18N: update strings (#60719)

Co-authored-by: TaitChan <1441645821@qq.coom>
2023-01-13 14:33:42 +00:00
84eb275c8d PanelChrome: Menu is wrapped in a render prop for full outside control (#60537)
* setup menu as a render prop sent down from PanelStateWrapper to PanelChrome

* let the Dropdown take care of opening the menu in PanelChrome

* menu and leftItems are on the right side of the header together

* add storybook examples with menu

* menu does not need to be a callback because it's opened in a Dropdown anyway

* pass down to getPanelMenu whether or not data is streaming atm

* stop loading data as well as streaming from menu

* override menu's style where needed

* reduce snapshot matching in tests
2023-01-12 11:10:09 +02:00
f2cb248d93 Internationalization: Translate 'Hide / show legend' of PanelHeaderMenuItem (#58800) 2022-11-16 13:06:04 +01:00