Commit Graph

31 Commits

Author SHA1 Message Date
Marcus Andersson
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
Alexa V
42b58fbca6 [Panel Header - Fullstory]: Make sure new menu's are findable in fullstory (#65167) 2023-03-28 10:20:35 +02:00
Jack Westbrook
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
kay delaney
36e474d109 PanelHeaderMenu: Use UI/Menu component (#63040) 2023-02-24 04:23:56 +00:00
kay delaney
40ec4ef5b8 PanelChrome: Implement hover header (#61774)
Closes #59078

Co-authored-by: polinaboneva <polina.boneva@grafana.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
2023-02-02 17:53:18 +00:00
Polina Boneva
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
Josh Hunt
3c6e0e8ef8 Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00
Torkel Ödegaard
34c397002c PanelChrome: Use react Panel Header for angular panels. (#21265)
* WIP: Angular panel chrome, this is going to be tricky

* AngularPanelChrome: initial render works

* Options are showing up

* viz options working

* Fixed singlestat background

* AngularPanels: Fixed alert tab

* Removed anuglar loading spinner

* Dashboard: Refactor dashboard reducer & actions

* Dashboard: minor refactoring

* PanelChrome: loading state moved to header

* Subscribe to render events to solve title update issue

* Time info and query errors now works

* PanelHeader: unifying angular and react behavior

* added getPanelMenu test

* Scrollable now works again

* Various fixes

* Making stuff work

* seperate event emitter for angular

* Fixed issue sending updated dimensions to angular panel

* Minor tweaks

* Fixed tests

* Alerting: alert state now works

* Fixed unit tests

* Fixed a few null check errors

* Simplified events handling

* Fixed strict null checks
2020-02-09 10:53:34 +01:00
Dominik Prokop
9b7748ec13 Chore: Reorg packages (#20111)
Primarily- moving majority of the types and utils from @grafana/ui to @grafana/data

* Move types from grafana-ui to grafana-data

* Move valueFormats to grafana-data

* Move utils from grafana-ui to grafana-data

* Update imports in grafana-ui

* revert data's tsconfig change

* Update imports in grafana-runtime

* Fix import paths in grafana-ui

* Move rxjs to devDeps

* Core import updates batch 1

* Import updates batch 2

* Imports fix batch 3

* Imports fixes batch i don't know

* Fix imorts in grafana-toolkit

* Fix imports after master merge
2019-10-31 10:48:05 +01:00
Torkel Ödegaard
aafd4a339a Moved dashboard state components to state folder 2019-01-31 08:56:17 +01:00
Torkel Ödegaard
a02b4b47b6 Moving a couple of types to @grafana/ui 2018-12-23 09:15:32 +01:00
Peter Holmberg
a9b5cbf381 adced clickoutside wrapper 2018-11-13 17:00:28 +01:00
Torkel Ödegaard
37eb7ca62b further refactoring of #13984 2018-11-07 13:55:02 +01:00
Torkel Ödegaard
a24f6998f2 refactorings and some clean-up / removal of things not used 2018-11-07 13:36:35 +01:00
Johannes Schill
9c28ff8f84 wip: panel-header: Remove custom menu items from panels completely 2018-11-06 16:44:13 +01:00
Johannes Schill
dd7437e9e9 wip: panel-header: Reverted a lot of code to pause the "custom menu options" for now 2018-11-06 16:37:51 +01:00
Johannes Schill
49550ccedf wip: panel-header: More merge conflicts during cherry pick 2018-11-06 16:12:04 +01:00
Johannes Schill
dbf7f3fb61 wip: panel-header: More merge conflicts during cherry pick 2018-11-06 16:05:34 +01:00
Johannes Schill
6c0c1254fe wip: panel-header: More merge conflicts 2018-11-06 15:44:04 +01:00
Johannes Schill
ca4612af26 wip: panel-header: Merge conflicts 2018-11-06 15:35:15 +01:00
Johannes Schill
f471482569 wip: panel-header: Fragment not needed anymore 2018-11-06 15:27:15 +01:00
Johannes Schill
f124b9de6a wip: panel-header: Separate all panel actions to its own file so we decouple them from react 2018-11-06 15:26:43 +01:00
Johannes Schill
6151310216 wip: panel-header: Start implementing the Toggle legend, but its not taken all the way 2018-11-06 15:26:34 +01:00
Johannes Schill
5375ce5ffd wip: panel-header: Refactor so "Share" use the same code in angular+react 2018-11-06 15:25:46 +01:00
Johannes Schill
f9dd516578 wip: panel-header: Add "Edit JSON" functionality + make sure everyone using the json editor pass in the model property instead of the scope property when triggering the json modal 2018-11-06 15:25:36 +01:00
Johannes Schill
edceb204e7 wip: panel-header: Add "Copy" functionality 2018-11-06 15:25:13 +01:00
Johannes Schill
b296d724e5 wip: panel-header: Add "Duplicate" 2018-11-06 15:25:07 +01:00
Johannes Schill
839057dc7a wip: Add "Share" to the react panels 2018-11-06 15:25:02 +01:00
Johannes Schill
bf8703edb8 wip: panel-header: Move code existing in both angular+react to utility functions 2018-11-06 15:24:25 +01:00
Johannes Schill
820e47b4c0 wip: panel-header: Remove panel 2018-11-06 15:24:06 +01:00
Johannes Schill
9f6683de2c wip: Initial commit for PanelHeaderMenu 2018-11-06 15:23:52 +01:00