* mark up and add confirmText to lint rule
* mark up and add ariaLabel to lint rule
* add confirmText to propertiesToCheck
* mark up and add body to propsToCheck
* mark up latest
* mark up 'Dashboard saved'
* mark up filterbyvalue options
* mark up tooltip options
* mark up and add lint rules for noOptionsMessage/loadingMessage
* mark up 'Convert field type'
* mark up placeholderText/noOptionsMessage
* mark up run query
* mark up variable editor fields
* mark up week start options
* mark up dashboard link options
* mark up prom options
* mark up builder/code toggles
* make CI happy
* kick CI
* feat(grafana-data): expose PluginContext
This is aimed to be used in the `PluginErrorBoundary` (which is a class component, and cannot use the hook.)
* feat(PluginErrorBoundary): add an error boundary for plugins
* feat(ExtensionsErrorBoundary): add an error boundary for extensions)
* feat(Extensions/Utils): wrap components with error boundaries
* feat(Plugins): wrap root plugin page with an error boundary
* fix: Fallback component should always be visible for onClick() modals
* review: use object arguments instead of positional ones for `renderWithPluginContext()`
* review: update `wrapWithPluginContext()` to receive args as an object
* refactor(AppChromeExtensionPoint): remove the error boundary
We have an error boundary on the extensions-framework level now
* refactor(ExtensionSidebar): remove the ErrorBoundary from the extensions
This is handled on the extensions-framework level now.
* test(ExtensionSidebar): add tests
* chore: translation extraction
* chore: prettier formatting
* fix(PluginErrorBoundary): remove unnecessary type casting
* Plugins: adds basic PopupExtension point
* Simplify the extension point.
* Excluding the app chrome extension to be rendered on login/signup pages.
* Added feature toggle to be able to disable the app chrome extensions.
* Adding an error boundary around the extension point.
* Changed the way we use the feature toggle.
* moved to use the helper function instead of filtering.
* removed duplace info.
* chore: remove leftover useMemo
---------
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* fix: use fieldConfig.defaults.noValue in barchart and statetimeline
* change name of test
* remove todo comment
* lean on PanelDataErrorView in the case where no fields are present
* update StateTimeline and StatusHistory to use PanelDataErrorView
* fix test
* self-review cleanup
* markup timeseries panel edit
* mark up matchers ui
* mark up bar chart
* mark up stat panel
* mark up gauge
* mark up bar gauge
* mark up table component
* mark up pie chart
* mark up state timeline
* mark up heatmap
* mark up status history
* mark up histogram
* mark up text panel
* mark up alert list
* mark up dashboard list
* mark up news panel
* mark up annolist
* mark up logs panel
* mark up node-graph
* mark up traces
* mark up trend
* mark up xychart
* fix build
* wip
* use initScenesTranslations
* comment
* use just plain resource loaded from scenes lib
* update to the published scenes version
* rename loadPluginResources to loadNamespacedResources
* make viz colors configurable when creating the theme
* fix bug with palette not showing last color
* attempt to constrain the types better
* better generics
* remove reverseMap
* ensure there's an empty options default
* feat: Implement optional URL path sanitization in BackendSrv methods
* add comment
* revert
* remove namespace import from backendsrv
* change method to validatePath, remove query params and fragments
* Moved validatePath call into fetch and make it throw an error instead
* update pluginSettings tests
* prettier
* Update public/app/features/plugins/pluginSettings.ts
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
* change name to validatePath
* fix other tests
* rename property in backend_srv tests
* rename to validatePath in backend_srv, add extra tests
* Move path validation into parseUrlFromOptions
* fix
* Add additional check
* Add test
---------
Co-authored-by: joshhunt <josh.hunt@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
* I18n: Allow pseudo-locale to be enabled in production builds
* fix tests now that pseudo is around
* remove psuedo locale from i18n package
* load en-us from plugin resources for pseudo
* fix tests + remove 'hidden' option
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* WIP - time filtering
* Replace variable test
* Change tests
* Validator is already tested
* Change test to match evaluation
* Add line to docs
* Revert "Add line to docs"
This reverts commit 783f247c33e854e00a72a42c5d04eee3aa923a5a.
* Put transformations docs update in the right place, cannot build without an update, WIP
* Run build
* Use regex test and rewind
* Does this help
* make config optional
* WIP for improved hover state for calendar range
* TimeRangePicker: Add hover state when selecting a date range
* reorder styles to reduce duplication
* oops that wasn't supposed to go in
* ignore border radius false positive
* fix(#92944): add StateTimeline Null+NaN handling
* chore: remove console.warns from debugging
* test: initialize a couple of simple tests
* test: more tests for hasMappedNaN and hasMappedNull
* chore: revert some of the let-const syntax cleanup for a later PR
* chore: rename should draw method
* chore: fix comment typo
* refactor(timeline-chart-utils): un-nest hasSpecialMappedValue() helper
* test(timeline-chart-utils): unit test hasSpecialMappedValue() helper
* chore: fix code comment typos in changed files
* refactor(timeline-chart): reduce helper DRY-ness for better performance
* fix(timeline-chart): check Y value for truthiness, not if it is finite
* test(state-timeline): additional gdev test panels with null + NN values
* fix(timeline-chart): allow Y value of zero in checks
---------
Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>