* Remove URL-based alertmanagers from endpoint config
* WIP
* Add migration and alertmanagers from admin_configuration
* Empty comment removed
* set BasicAuth true when user is present in url
* Remove Alertmanagers from GET /admin_config payload
* Remove URL-based alertmanager configuration from UI
* Fix new uid generation in external alertmanagers migration
* Fix tests for URL-based external alertmanagers
* Fix API tests
* Add more tests, move migration code to separate file, and remove possible am duplicate urls
* Fix edge cases in migration
* Fix imports
* Remove useless fields and fix created_at/updated_at retrieval
Co-authored-by: George Robinson <george.robinson@grafana.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
* feat(Connections): create sub-pages wrapped by `<Page>`
* feat(Connections): rename the Connections page and update routes
* feat(Connections): use new url for editing datasources
* refactor(Connections): remove unused tab components
* feat(Connections): update routes and nav titles
* tests: fix tests for Connections
* tests: fix typo in backend tests
* Added labels
* App page fixes
* Switch to switch
* wip
* Updates
* I am stuck
* Minor tweak
* This props interface could work
* removed change
* use new page extensions in plugin details page
* add link separator, fix action button spacing
* some renaming
* Move PageInfo into it's own folder + add tests
* add support for new props in old page header
* remove PluginDetailsHeader as it's no longer used
* Fix unit tests
* fix some badge alignments
* center align actions
* badge alignment + only show downloads for community/commercial plugins
* better link alignment
* conditionally render description
* move install control warnings to below subtitle + refactor
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* First baby steps
* First baby steps
* No progress really
* Updates
* no progress
* refactoring
* Progress on sub menu and value selectors
* Some more tweaks
* Lots of progress
* Progress
* Updates
* Progress
* Tweaks
* Updates
* Updates to variable system
* Cleaner tests
* Update
* Some cleanup
* correct test name
* Renames and moves
* prop rename
* Fixed scene template interpolator
* More tests for SceneObjectBase and fixed issue in EventBus
* Updates
* More tweaks
* More refinements
* Fixed test
* Added test to EventBus
* Clone all scene object arrays
* Simplify
* tried to merge issue
* Update
* added more comments to interface
* temp progress
* Trying to simplify things, but struggling a bit
* Updated
* Tweaks
* Progress on fixing the select componenet and typing, and sharing code in a base class
* Updated
* Multi select
* Simpler loading state
* Update
* removed failOnConsole
* Removed old funcs
* Moved logic from update manage to MultiValueVariable
* Added tests for MultiValueVariable logic
* Made value a more abstract concept to support object values
* renamed func to getValueText
* Refactored and moved logic to VariableSet
* Added test for deactivation and query cancelling
* Tweaks
* Fixed lint issues
The existing code uses `instanceof Error` to check for a `message` field on the thrown object. The objects that are thrown are never instances of the error interface. This change introduces a new type that extends Error so that the check works properly and displays a meaningful error message in the UI.
* chore: fix go lint issues
* feat(Routing): route standalone plugin pages to the `AppRoutePage`
* feat(plugin.json): introduce a new field called `isCorePage` for `includes`
* chore: add explanatory comments for types
* refactor(AppRootPage): receive the `pluginId` and `pluginSection` through the props
Now we are able to receive these as props as the pluginId is defined on navLinks
that are registered by plugins.
* chore: update teests for AppRootPage
* fix: remove rebase issue
* tests(applinks): add a test for checking isCorePage plugin page setting
* refactor(applinks): update tests to use FindById() and be more resilient to changes
* fix: Go lint issues
* refactor(routes): use cleaner types when working with plugin nav nodes
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* chore: fix linting issues
* t: remove `isCorePage` field from includes
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
- Delete public dashboard button added in public dashboard modal
- Delete public dashboard button refactored in order to be used in audit table and public dashboard modal
- Tests added
- RTK Query api modified, in order to keep cached data because of having to show public dashboard modal once delete modal is closed.
- RTK Query specific cached data invalidated for public dashboard
- Save button text changed: Create public dashboard when it was never created. Save public dashboard when there's a public dashboard already created
- Public Dashboard modal subscribed to DashboardModel metadata changes
* Perf: remove structureRev logic from Graph in Explore
* Avoid reinitializing uPlot when not needed
* move fieldConfigRegistry
* restore usememo for dataWithConfig
This PR splits the create and update paths for public dashboards and includes assorted refactors toward a proper REST API. Additionally, we removed the concept of a "public dashboard config" in favor of "public dashboard"
Co-authored-by: juanicabanas <juan.cabanas@grafana.com>
Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
* Show rules list for the group with the For duration, and add validation for keeping all rules in the same group with a valid For
* Sort rules by For duration
* Add number evaluations column in alert list
* Add Error badge in column #evaluations in case of invalid For
* Add test for getNumberEvaluationsToStartAlerting method
* Move re-usable new InfoIcon component into a separate file in unified components folder
* Add edge case for getNumberEvaluationsToStartAlerting method, and change some namings
* Started search state refactor
* Things are working
* Move more to statemanger
* minor tweaks
* Fixed name of hook
* revert yarn.lock changes
* Harderning StateManagerBase
* More tests and refinements
* Fixed unit test
* More polish
* fixing tests
* fixed test
* Fixed test
* first stab at context away plugin tracking.
* adding a plugin context and a hook to get hold of a tracker that always appends the plugin context information.
* wip
* improved the code a bit.
* wip
* Fixed type errors.
* added datasource_uid to data sources.
* fixed error message when trying to use hook outside of context.
* small refactoring according to feedback.
* using the correct provider for data source context.
* check not needed.
* enforcing the interaction name to start with grafana_plugin_
* exposing guards for the other context type.
* added structure for writing reporter hook tests.
* added some more tests.
* added tests.
* reverted back to inheritance between context types.
* adding mock for getDataSourceSrv
* user essentials mob! 🔱
lastFile:pkg/services/libraryelements/writers.go
* user essentials mob! 🔱
lastFile:pkg/services/libraryelements/writers.go
* user essentials mob! 🔱
lastFile:pkg/services/libraryelements/writers.go
* user essentials mob! 🔱
lastFile:pkg/services/libraryelements/writers.go
* user essentials mob! 🔱
lastFile:pkg/services/libraryelements/database.go
* user essentials mob! 🔱
lastFile:pkg/services/libraryelements/writers.go
* user essentials mob! 🔱
lastFile:pkg/services/libraryelements/writers.go
* user essentials mob! 🔱
* support filterFolderUIDs in the frontend
* move common logic to a variable
* fixed FolderLibraryPanelsPage and improved unit test
* fix backend lint error
* fix formatting error
Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
- Migrate Postgres query editor to react
- Add support for field aliasing in SELECT clauses to SQL based datasources
Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
PublicDashboards: delete button added in public dashboard table in order to delete a public dashboard.
Co-authored-by: Jeff Levin <jeff@levinology.com>