* add redirect notice for datasources and plugins pages
* do not depend on the internal implementation of Alert
The deleted css piece was problematic because it relied on the internals
of Alert.
If we don't remove that padding, then the Alert looks a bit off, so I
added some title to the Alert to look better.
This way the Connections LinkButton is not vertically aligned to the
center, but this is the closest we can get to the designed alert without
doing hacks and reimplementing the Alert component.
* Identify and show onCall contact points with a badge in case the plugin is installed
* Add onCall logo for onCall contact points Badge
* Refactor and make Grafana App Receiver type more generic, not only for onCall type
* Show onCall notification policy in the specific routing table with special onCall badge
* Fix tests
* Move onCall badge to the type column in contact points view table
* Fix typos and remove onCallIntegrations from tagTypes in alertingApi
* Fetch only local plugins instead of all (external are not needed) and don't fetch plugin details
* Use directly useGetOnCallIntegrationsQuery and more PR review suggestions
* Move onCall contact point to the top in the drop-down, in the notification policy view
* Add PR review requested changes
* SQL Datasources: Use health check for config test
* Remove unnecessary test
* Fix test errors
* Revert mysql go driver update
* Use transform query error
* Use TransformQueryError from sql_engine
* Datasource settings: Add deprecation notice for database field
* SQL Datasources: Migrate from settings.database to settings.jsonData.database
* Check jsonData first
* Remove comment from docs
* feat(plugins-catalog): only allow admins to access plugins catalog routes
* add backend check
* fix(plugins-catalog): update route role access to include server admins
Co-authored-by: Will Browne <will.browne@grafana.com>
* refactor(PluginDetails): use react-router hooks instead of props
* Wip
* refactor: remove unnecessary constant
* feat: use the original plugin details page under connections
* chore: use better wording in the not-found warning
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* chore: use the renderer utility everywhere in the test
* chore: don't show a title while loading a plugin
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* Update jest monorepo to v29
* update snapshots + wrap test in act
* fix linting errors: jest.mocked now defaults to deep mocking
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* VizPanel: Make it more real
* Updates
* Progress on query runner and max data points from width
* Updated
* Update
* Tests
* Fixed issue with migration
* Moving VizPanel
* Fixed migration issue due to pluginVersion not being set
* Update public/app/features/scenes/querying/SceneQueryRunner.test.ts
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* Some minor review fixes
* Added expect
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* fix(AppRootPage): push the query params properly
* refactor: remove unnecessary changes in AppRootPage
* refactor(AppRootPage): use existing utility function
SQL Datasources: fix issue where testing the datasource connection would show success even when there was an error.
Co-authored-by: Victor Marin <victor.marin@grafana.com>
* 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>
* 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>
* 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
- 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>
* Add phlare datasource
* Rename
* Add parca
* Add self field to parca
* Make sure phlare works with add to dashboard flow
* Add profiling category and hide behind feature flag
* Update description and logos
* Update phlare icon
* Cleanup logging
* Clean up logging
* Fix for shift+enter
* onRunQuery to set label
* Update type naming
* Fix lint
* Fix test and quality issues
Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
* Revert: QueryEditor components from grafana-ui
* Use local version of experimental
* Use experimental for query editor components
* Fix type issues in MSSQL
* point to actual version of experimental package
* point to latest version of experimental
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
* Flamegraph
* Updated flame graph width/height values
* Fix top table rendering issue
* Add feature toggle for flamegraph in explore
* Update tests
* Hide flamegraph from dash panel viz list if feature toggle not enabled
* Show table if no flameGraphFrames
* Add flame graph to testdata ds
* Minor improvement
* NewIA: Plugin nav config
* progress
* Progress
* Things are working
* Add monitoring node
* Add alerts and incidents
* added experiment with standalone page
* Refactoring by adding a type for navtree root
* First test working
* More tests
* more tests
* Progress on richer config and sorting
* Sort weight working
* Path config
* Improving logic for not including admin or cfg nodes, making it the last step so that enterprise can add admin nodes without having to worry about the section not existing
* fixed index routes
* removed file
* Fixes
* Fixing tests
* Fixing more tests and adding support for weight config
* Updates
* Remove unused fake
* More fixes
* Minor tweak
* Minor fix
* Can now control position using sortweight even when existing items have no sortweight
* Added tests for frontend standalone page logic
* more tests
* Remove unused fake and fixed lint issue
* Moving reading settings to navtree impl package
* remove nav_id setting prefix
* Remove old test file
* Fix trailing newline
* Fixed bug with adding nil node
* fixing lint issue
* remove some code we have to rethink
* move read settings to PrivideService and switch to util.SplitString
* PluginDetails: Make plugin details page look good in topnav
* Minor style tweak aligning things
* minor refactoring where I moved the logic to decide the default tab into its own hook.
* refactor(plugindetails): first pass at using navmodel for usePluginDetailsTabs hook
* refactor(plugindetails): move "reset page when uninstalling plugin" to installcontrols
this prevents a user from seeing a blank page if they uninstall an app plugin whilst viewing a
config page
* refactor(plugindetails): remove usage of toIconName and reduce nested if
* Trying to fix tests
* minor fix
* test(plugindetails): update selectors causing failing tests
* chore(plugindetails): remove commented out test code
* test(plugindetails): clean up - remove unnecesary usage of waitFor
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* convert plugin filter options to use a type instead of string
* add secrets manager and renderer to app plugin filter
* update frontend tests
* more test updates
* fix function to handle all cases