* 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>
* 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>
* 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>
* fix(catalog): prefer rendering installed version over latest version
* feat(catalog): signify installed version in version history
* feat(catalog): introduce installedVersion and latestVersion
* refactor(catalog): use latestVersion for installation, simplify plugindetails header logic
* refactor(catalog): clean up installedVersion and latestVersion
* feat(catalog): use table-layout so versions list table has consistent column widths
* test(catalog): update failing tests
* removed the need of having a latest version in the plugin catalog type root level.
* fixed flaky test depending on what locale it was being running with.
* added missing test to verify version for a remote plugin.
* fixed version in header.
* preventing the UI from break if no versions are available.
* fixed failing test due to missing mock data.
* added todo as a reminder.
* refactor(catalog): prefer grafana plugin icons over gcom notfound images
* refactor(Plugins/Admin): change constant name
* refactor(Plugins/Admin): add comment to make condition easier to understand
* chore: update go modules
* feat(Backend/Plugins): add "dependencies" field to `PluginListItem`
* feat(Plugins/Admin): show the grafana dependency for the installed version
* refactor(Plugins/Admin): use the local version of links
* refactor(Plugins/Admin): prefer the local version for `.type`
* refactor(Plugins/ADmin): prefer the local `.description` field
* fix(Plugins/Admin): fix tests
* test(plugins/api): update the expected response for the `api/plugins` tests
* chore(Plugins/Admin): add todo comments to check preferation of remote/local values
* feat(backend/api): always send the grafana version as a header when proxying to GCOM
* feat(plugins/admin): use the `isCompatible` flag to get the latest compatible version
* feat(plugins/admin): show the latest compatible version in the versions list
* fix(plugins/admin): show the grafana dependency for the latest compatible version
* fix(plugins/admin): update the version list when installing/uninstalling a plugin
* test(plugins/admin): add some test-cases for the latest-compatible-version
* fix(plugins/admin): show the grafana dependency for the installed version (if installed)
* feat(plugins/backend): add the `dependencies.grafanaDependency` property to the plugin object
* test(plugins/backend): fix tests by adjusting expected response json
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* feat(catalog): introduce id and href to PluginDetailsTabs
* feat(catalog): add hrefs and ids to PluginDetails tabs. Pass queryParams to PluginDetailsBody
* feat(catalog): pass queryParams to PluginsDetailsBody and add page param to PluginListCard
* fix(catalog): prevent flicker of content by waiting for fetch details to finish loading
* feat(catalog): add tab icons to PluginDetails page
* feat(catalog): make breadcrumbs in PluginDetailsHeader aware of page queryparam
* fix(catalog): fix deeplinking to PluginDetails by comparing tabs length
* test(catalog): update tests with correct props and wrap in router
* feat(catalog): add update info to PluginListCard
* refactor(catalog): use IconName enum and minor styling changes to PluginHeaderDependencies
* fix(catalog): add a semver range to grafanaVersion for dependency checks in InstallControls
* fix(@grafana/data): add a missing optional field to the plugin types
* refactor(Plugins/ADmin): use the type from @grafana/data for plugin dependencies
* fix(Datasources/Graphite): add missing `state` to useEffect dependencies
* refactor(Plugins/Admin): remove unnecessary comment
* feat(Plugins/Admin): add plugin and grafana dependencies to the CatalogPluginDetails
* feat(Plugins/ADmin): show Grafana dependency under plugin details
* feat(Plugins/Admin): show grafana and plugin dependencies for a plugin
* test(Plugins/Admin): add a smoke test for plugin dependencies
* refactor(Plugins/Admin): remove unused style from the header