* use custom name from legend
* revert prometheus change
* fix issue in the transformer and not prometheus
* getFrameDisplayName falls back to getFieldDisplayName already
* run prettier
* Update dependency @testing-library/dom to v9.3.0
* dedupe versions in the lockfile
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* 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
* 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
* loading states!
* fix uncontrolled checkbox
* cleaner css
* improve flickering title
* make sure @grafana/ui has the same version of react-loading-skeleton
* fix unit test + add tooltip text
* better way of restoring focus
* only restore focus when loading
* missing !
* use aria-label instead of tooltip
Remove unused properties:
* `FieldColorModeId.PaletteSaturated`: It doesn't exist and it is not a valid palette.
* `VariableModel.rootStateKey`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store the Redux store key.
* `VariableModel.error`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store fetching errors.
* `Panel.thresholds`: old property only existing in previous versions of the dashboard schema.
* `Panel.timeRegions`: old property only existing in previous versions of the dashboard schema.
* 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>
* 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
* remove i18n toggle
* remove beta badge on language picker
* remove toggle from go code
* Revert "remove beta badge on language picker"
This reverts commit 3b76300aa7.
* Update dependency esbuild to v0.17.18
* chore(npm): update all esbuild dependencies to use esbuild@0.17.18
* build(esbuild): update configs so esbuild-loader matches loader from file extension
* build(webpack): fix failed monaco editor loading due to require not existing
* chore(esbuild): bump to 0.17.19
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* feat: add a new UI extension type: component
* tests: add tests for checking if it is a react component
* fix: remove reference to not existing type
* chore: update betterer results
* review: remove unnecessary override function for components
* 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.
* Basic implementation in web worker
* Move instances discovery to the worker
* Remove filtering from the worker
* Use normalized routes, use rtk query for alert groups fetching
* Reorganize matchers utilities to be available for web workers
* Move object matchers to the machers util file, rename worker
* Move worker code to a separate hook, add perf logging
* Add a mock for the web worker code, fix tests
* Fix tests warnings
* Remove notification policy feature flag
* Add normalizeRoute tests, change the regex match to test for label matching
* Move worker init to the file scope
* Simplify useAsyncFn hook
* Use CorsWorker as a workaround for web workers loading from CDN
* Use a feature flag to enable/disable worker-based preview, add worker error handling
* Add POC for react-enable working with grafana feature toggles
* Code cleanup
* Remove console error, add useRouteGroupsMatcher tests
* Fix tests mock
* feat: catch any events that were reported before the EchoSrv got initialised
* fix: add events to the new echo service
* chore: update comment
* refactor: use `instanceof` to check if it is a FakeEchoSrv