* remove/migrate normalize.scss
* fix typo
* migrate _add_data_source styles
* migrate panel-header styles
* migrate slate styles to emotion globals
* put back a couple of classes used by external plugins
* migrate section-heading
* move fonts to global styles
* migrate code styles to emotion globals
* migrate spacings styles and leave some in angular
* padding should be 2 here not 1
* 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>
* 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
* fix some type assertions in loops
* some more cleanup
* some alerting fixes
* put comments in correct place to ignore rule
* couple more
* undo SilencesFilter changes
* feat: make it possible to specify prop types for component extensions
* Update packages/grafana-runtime/src/services/pluginExtensions/getPluginExtensions.ts
* chore: adapted test case
* chore: update betterer
* feat: update types for configureComponentExtension()
* fix: remove type specifics for `configureExtensionComponent`
* Update betterer config
---------
Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
* 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
* Scenes bump
* Refactor query group components so that they are reusable
* Basic queries rendering and datasource change
* Store last used ds in local storage
* maxDataPoints and minInterval queries options
* Progress on query options
* Query options tests
* Allow panel inspection / queries inspection from panel edit
* Add counters to data pane tabs
* Betterer update
* Handle data source changes
* Minor fixes
* Data source change tests
* Handle scenario of data source change when transformations are in place
* Review comment
* Fix test
* refactor out DataSourcesListCard
* add skeleton
* increase gap between buttons on skeleton to match real component
* lineHeight: 1 instead of 0
* refactor out ternary
* Update basicsettings for datasource
* Change aria-label for data-testid
* Update more tests
* Update betterer
* Remove unnecessary data-testid
* Put back aria label for some datasource selectors
* Try to use data-testid with alerts
* Update betterer
* feat: added markup for data source picker title
* feat: added markup for builtin data source list
* feat: added markup for datasource list
* chore: generated markup files
* feat: added markup for new data source button
* chore: generated markup files
* fix: fixed prefix names
* chore: updated markup files
* fix: removed extra spaces
* feat(plugins): allow filtering of plugin errors by plugin type
* refactor(plugins): migrate PluginsErrorsInfo component to use Alert component
* chore(plugins): remove redundant d3 import
* feat(datasources): filter plugin errors by plugin type
* refactor(plugins): pass plugin.type from selector rather than guess from pluginId
* refactor(plugins): move filtering to selector
* WIP
* fixes for readability
* fix
* WIP
* Keep tab index working with portal
* Use callback and clean up
* Fix linting errors
* Ignore clickable element
---------
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
* Apply filters consistently to every list in the picker
* Display all built-in DS when editing a panel
* Add `uploadFile` prop to toggle the CSV file DS
* DS Picker: Add `inputId` and `noDefault` options
* DS Picker: Add `disabled` state
* Add tests for `disabled`
* Select default DS if `current` is not provided
* Remove `width` from style
* Move types next to components
* Only calculate height when opening
* refactor file drop out of query group
* make sure we display errors when file upload fails
* refactor to make onChange take default queries
* let grafana datasource handle file -> query
* add dropdown tests
* add modal tests
* add filtering props to dropdown
---------
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* feat: add a new UI extension type: component
* fix: remove reference to not existing type
* chore: update betterer results
* review: use a single type notation in import
* review: stop exporting `PluginExtensionBase`
* refactor: make extension config types more explicit
By using some repetition now these types are much easier to oversee.
* feat: add a new extension point to the datasources config
* fix: export tcontext type from grafana-data
* chore: update betterer results
* chore: fix tests
* feat: extend the context shared with extensions
* feat: stop omitting jsonData props & update context type
* tests: update tests