This PR has two steps that together create a functional dry-run capability for the migration.
By enabling the feature flag alertingPreviewUpgrade when on legacy alerting it will:
a. Allow all Grafana Alerting background services except for the scheduler to start (multiorg alertmanager, state manager, routes, …).
b. Allow the UI to show Grafana Alerting pages alongside legacy ones (with appropriate in-app warnings that UA is not actually running).
c. Show a new “Alerting Upgrade” page and register associated /api/v1/upgrade endpoints that will allow the user to upgrade their organization live without restart and present a summary of the upgrade in a table.
* Separate overlapping legacy and UA alerting routes
api/alert-notifiers, alerting/list, and alerting/notifications existed in both
legacy and UA.
Rename legacy route paths and nav ids to be independent of UA ones.
* WIP first pass
* Change to toolbarbutton/buttonselect pattern
* Move to two toolbarbuttons with dropdown
* Justify text to the right of icons
* Fix betterer
* Fix styling and tests
* Add to docs
* Perist last clicked, add translations
* move styling to core component
* use label for tooltip, let parser combine panes in multiple params
* Explore: Panes encoding suggestions (#78210)
panes encoding suggestions
* WIP-add menu groups
* Get group actions working
* add icons and non-local last selected state
* Fix translations after merge
* Add categories to translation, tweak the verbiage
* Fix translation extraction
* Fix tests
* fix translation conflict
* Log if time is absolute
---------
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Move serializeParams to @grafana/data
* Update comment
* Update solution in Tempo
* Fix type assertions
* Use toUrlParams in serializeParams
* Update data sources
* Update
* Update packages/grafana-data/src/utils/url.ts
* playlist skeleton poc
* refactor into PlaylistCard
* make card actions more responsive, update skeleton color to work on secondary background
* don't loop over array
* fix unit tests
* Dashboard: Use plural values for time units
* Cleaned up code a bit and added support for negative values.
---------
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* Fix broken interpolation for mixed datasources in explore
* Add interpolation tests
* Use Promise.all and be better about dealing with invalid empty ds in query scenario
* condense logic
* Remove type declarations
* Fix tests
* moved themecontext to data
* chore(grafana-ui): re-export ThemeContext from grafana/data for backwards compatibility
* Moved icon bundling to core.
* feat(plugins): share react-inlinesvg with plugins for grafana/ui bundling
* chore(codeowners): add generate-icon-bundle.js to file
* chore(storybook): update path to iconBundle file for theme
* feat(plugins): share i18n dependency via systemjs
* Make sure that icon bundle is initialized for tests.
* Removed comment.
* added tests for icon root.
* Removing the need of having an init variable.
* feat(grafana-ui): add icon svgs to bundle for projects that don't rely on grafana
---------
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* Start adding correlations editor mode
* Add selector for merge conflict resolution
* Enable saving
* Build out new corelation helper component
* flesh out save with label/description, change color
* Have breadcrumb exit correlation editor mode
* Add extension property to show/hide, use it for correlations
* Bring in feature toggle
* Remove unnecessary param
* Cleanup
* Parse logs json
* Work on correlation edit mode bar
* Tinker with a top element for the editor mode
* Handle various explore state changes with correlations editor mode
* WIP - add unsaved changes modal
* Have correlation bar always rendered, sometimes hidden
* Add various prompt modals
* Clear correlations data on mode bar unmount, only use not left pane changes to count as dirty
* Move special logic to explore
* Remove all shouldShow logic from plugin extensions
* remove grafana data changes
* WIP - clean up correlations state
* Interpolate data before sending to onclick
* Override outline button coloring to account for dark background
* More cleanup, more color tweaking
* Prettier formatting, change state to refer to editor
* Fix tests
* More state change tweaks
* ensure correlation save ability, change correlation editor state vars
* fix import
* Remove independent selector for editorMode, work close pane into editor exit flow
* Add change datasource post action
* Clean up based on PR feedback, handle closing left panel with helper better
* Remove breadcrumb additions, add section and better ID to cmd palette action
* Interpolate query results if it is ran with a helper with vars
* Pass the datasource query along with the correlate link to ensure the datasource unique ID requirement passes
* Use different onmount function to capture state of panes at time of close instead of time of mount
* Fix node graph’s datalink not working
* Actually commit the fix to saving
* Fix saving correlations with mixed datasource to use the first query correlation UID
* Add tracking
* Use query datasources in mixed scenario, move exit tracking to click handler
* Add correlations to a place where both can be used in the correlations editor
* Be more selective on when we await the datasource get
* Fix CSS to use objects
* Update betterer
* Add test around new decorator functionality
* Add tests for decorate with correlations
* Some reorganization and a few tweaks based on feedback
* Move dirty state change to state function and out of component
* Change the verbiage around a little
* Various suggestions from Gio
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* More small Gio-related tweaks
* Tie helper data to datasource - clear it out when the datasource changes
* Missed another Gio tweak
* Fix linter error
* Only clear helper data on left pane changes
* Add height offset for correlation editor bar so it doesn’t scroll off page
---------
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* various type fixes
* candlestick panel type fixes
* few more fixes
* some fixes
* more :)
* moar!
* undo change to SilencesFilter
* undo change to configureStore
* Fix parsing absolute range
* Silence warning issued by moment js
* Introduce URLRangeValue to enforce better type-checking
* Fix unit tests
* Allow not passing range to generate ExploreUrl
* Use updated time range format in a test
* Allow empty object to be passed as a data link for backward compatibility
* Update mocks
* Post-merge fixes
* Simplify checking if range is passed as an empty object
* Update docs
* adding load time metrics for app init.
* chore: add the `metrics.ts` to the CODEOWNERS
* moved file according to PR feedback.
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>