Commit Graph
100 Commits
Author SHA1 Message Date
b63c56903d Plugins: Extend panel menu with commands from plugins (#63802)
* feat(plugins): introduce dashboard panel menu placement for adding menu items

* test: add test for getPanelMenu()

* added an unique identifier for each extension.

* added context to getPluginExtensions.

* wip

* Wip

* wiwip

* Wip

* feat: WWWIIIIPPPP 🧨

* Wip

* Renamed some of the types to align a bit better.

* added limit to how many extensions a plugin can register per placement.

* decreased number of items to 2

* will trim the lenght of titles to max 25 chars.

* wrapping configure function with error handling.

* added error handling for all scenarios.

* moved extension menu items to the bottom of the more sub menu.

* added tests for configuring the title.

* minor refactorings.

* changed so you need to specify the full path in package.json.

* wip

* removed unused type.

* big refactor to make things simpler and to centralize all configure error/validation handling.

* added missing import.

* fixed failing tests.

* fixed tests.

* revert(extensions): remove static extensions config in favour of registering via AppPlugin APIs

* removed the compose that didn't work for some reason.

* added tests just to verify that validation and error handling is tied together in configuration function.

* adding some more values to the context.

* draft validation.

* added missing tests for getPanelMenu.

* added more tests.

* refactor(extensions): move logic for validating extension link config to function

* Fixed ts errors.

* Started to add structure for supporting commands.

* fixed tests.

* adding commands to the registry

* tests: group test cases in describe blocks

* tests: add a little bit more refactoring to the tests

* tests: add a test case for checking correct placements

* feat: first version of the command handler

* feat: register panel menu items with commands

* refactor: make the 'configure' function not optional on `PluginExtensionRegistryItem`

* Wip

* Wip

* Wip

* added test to verify the default configure function.

* added some more tests to verify that commands have the proper error handling for its configure function.

* tests: fix TS errors in tests

* tests: add auxiliary functions

* refactor: small refactoring in tests

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* draft of wrapping command handler with error handling.

* refactor: refactoring tests for registryFactory

* added test for edge case.

* replaced the registry item with a configure function.

* renamed the configure function type.

* refactoring of the registryfactory.

* added tests for handler error handling.

* fixed issue with assert function.

* added comment about the limited type.

* Update public/app/features/plugins/extensions/errorHandling.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/plugins/extensions/errorHandling.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/plugins/extensions/errorHandling.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* added missing tests.

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-03-08 14:23:29 +01:00
Marcus Andersson 5c13d8eefd Plugins: make sure we expose all available field color modes (#64289)
expose all available field color modes via fieldcolormodeid enum.
2023-03-07 12:44:45 +01:00
Marcus Andersson ace4175e26 Plugin: Skip preloading disabled app plugins (#63083)
will not preload app plugins that is disabled.
2023-02-08 14:41:49 +01:00
Marcus AnderssonandJack Westbrook f46f8bdd3a Plugins: Renamed parts of the UI extension APIs (#63070)
* Renamed target -> id and href -> path after feedback.

* fixed type issues in test page.

* chore(pluginschemajson): update extensions props target -> id

* this is the final.

* fixed typings...again...

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2023-02-08 05:33:28 -05:00
1cfd3f81fb Plugins: Support for link extensions (#61663)
* added extensions to plugin.json and exposing it via frontend settings.

* added extensions to the plugin.json schema.

* changing the extensions in frontend settings to a map instead of an array.

* wip

* feat(pluginregistry): begin wiring up registry

* feat(pluginextensions): prevent duplicate links and clean up

* added test case for link extensions.

* added tests and implemented the getPluginLink function.

* wip

* feat(pluginextensions): expose plugin extension registry

* fix(pluginextensions): appease the typescript gods post rename

* renamed file and will throw error if trying to call setExtensionsRegistry if trying to call it twice.

* added reafactorings.

* fixed failing test.

* minor refactorings to make sure we only include extensions if the app is enabled.

* fixed some nits.

* Update public/app/features/plugins/extensions/registry.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update packages/grafana-runtime/src/services/pluginExtensions/registry.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update packages/grafana-runtime/src/services/pluginExtensions/registry.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/plugins/extensions/registry.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Moved types for extensions from data to runtime.

* added a small example on how you could consume link extensions.

* renamed after feedback from levi.

* updated the plugindef.cue.

* using the generated plugin def.

* added tests for apps and extensions.

* fixed linting issues.

* wip

* wip

* wip

* wip

* test(extensions): fix up failing tests

* feat(extensions): freeze registry extension arrays, include type in registry items

* added restrictions in the pugindef cue schema.

* wip

* added required fields.

* added key to uniquely identify each item.

* test(pluginextensions): align tests with implementation

* chore(schema): refresh reference.md

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-02-07 17:20:05 +01:00
Marcus Andersson b633d5395d Bugfix: Prevent previous query editor to set default values when changing data source (#60218)
* Fixed issue where the query editor of the previous ds sets default values on query passed to the query editor of the next ds.

* Fixed issue with changing data source for query in Alerting.

* Will apply default values from DS if available.

* Fix failing tests.

* fixed spell error.

* reverted getDefaultQuery call so it can be added in a separate PR.
2023-01-11 14:06:33 +01:00
Marcus Andersson d0a68b266c Bugfix: Attach correct link to "levitate detect breaking changes"-message included in PR (#60220)
* Fixed so we link to the proper job and step.

* Fixed according to feedback.

* Added check_suite to the job link
2022-12-15 09:56:23 +01:00
Marcus AnderssonandMarcus Efraimsson 7f92f1df00 Schema: Refactor plugin code generation (#58901)
* wip

* wip

* almost there..

* wip - change so it can run.

* treelist is working.

* support CODEGEN_VERIFY env variable

* use log.fatal

* comment out old PluginTreeList code generation

* cleanup

* rename corelist package files

* fix makefile

* move pkg/codegen/pluggen.go to pkg/plugins/codegen

* copy and refactor files to pkg/plugins/codegen

* use pkg/plugins/codegen instead of pkg/codegen for core plugins code gen

* remove unneeded files

* remove unused code to resolve linting errors

* adapters first hack

* added flattener

* add back ignore build tags to go generate file

* cleaned up the code a bit.

* seems to work, needs to do some refactoring of the GoTypesJenns and TSTypesJenny.

* one more step, going to get upstream changes in this branch.

* working but need to run import tmpl in jenny_schemapath to have the proper imports.

* added header to generated files.

* added missing jenny.

* preventing plugins with multiple decls/schemas to insert multiple lines in corelist.

* fixed so we use Slot type from kindsys to detect if its group.

* adding a go jenny that only runs if the plugin has a backend.

* added version object to generated ts.

* generating the ts types with the same output as prior to this refactoring.

* removed code that is replaced by the jenny pattern.

* removed the go code that isn't used anymore.

* removed some more unused code and renamed pluggen to util_ts

* fixed linting issue.

* removed unused vars.

* use a jenny list postprocessor for header injection

* moved decl and decl_parser to pfs.

* removed the pre-pended header in the gotypes jenny since it is done in the postprocess.

* moved decl to pfs.

* removed unused template.

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-12-02 08:22:28 +01:00
Marcus AnderssonandMarcus Efraimsson 5bd15026ff Docs: How to add plugin interaction tracking (#58652)
* docs for plugin interaction tracking.

* Update docs/sources/developers/plugins/add-anonymous-usage-reporting.md

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* Adding query type

* Fixed spelling issue

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-11-16 10:06:42 +01:00
Marcus Andersson b804b2f073 Plugins: Added hook to make it easier to track interactions in plugins (#56126)
* 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
2022-11-02 16:57:57 +01:00
Marcus Andersson 5c30b0cca1 Chore: update latest.json to 9.2.3 (#57960) 2022-11-01 07:01:37 -04:00
Marcus Andersson d406e6d899 Docs: Added icon type improvements to plugin migration guide (#56075) 2022-09-30 13:17:11 +02:00
Marcus Andersson fc09d5a8a7 GrafanaUI: Expose data links context types externally (#55905) 2022-09-28 21:35:46 +02:00
Marcus Andersson c95b530502 DataSource: Adding possibility to hide queries from the inspector (#54892)
* adding the possibility to hide queries when they are executed via the DataSourceWithBackend.query
2022-09-13 13:27:16 +02:00
2053d37d7a Chore: Introducing a Grafana HALL_OF_FAME.md (#45878)
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2022-05-18 20:13:11 +00:00
Marcus Andersson 146eed400a TempalteSrv: re-adding variabelExists to prevent breaking angular plugins. (#45387) 2022-02-15 13:22:13 +01:00
Marcus Andersson 9a12b3ea00 TemplateSrv: exposing a function to detect if a target contains a template (#45214)
* exposing a function to check if a target contains variables.

* fixed tests.

* renamed function

* updated betterer result.
2022-02-15 08:53:42 +01:00
Marcus Anderssonandachatterjee-grafana eb9d85a2bf Deprecation: use locationService in favor of getLocationSrv (#44813)
* deprecated

* updating documentation.

* added deprecation notice.

* Replacing deprecated getLocationSrv.

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* updating according to feedback.

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-07 09:37:56 +01:00
Marcus Andersson efd7a12686 Chore: Revert externalization of the tslib so it gets bundled with plugins. (#43556)
* Revert externalization of the tslib so it gets bundled with the plugins.

* Adding pnp-webpack-plugin to properly resolve dependencies in nested plugins.

* added dependency on lodash.
2021-12-30 08:53:42 +01:00
Marcus Andersson feea6e456c Chore: updated latest.json to 8.3.0 (#42631) 2021-12-02 11:43:50 +01:00
Marcus Andersson 2a50c029b2 Build: Increased the memory for the node process in the frontend build. (#42499) 2021-11-30 10:50:35 +01:00
Marcus AnderssonandLevente Balogh 170da29173 Docker: updating and syncing change log for docker hub (#42353)
* Syncing and updating README with docker hub.

* Update packaging/docker/README.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update packaging/docker/README.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2021-11-26 11:49:35 +01:00
Marcus AnderssonandLevente Balogh 487baf5a25 PluginsCatalog: hiding version history tab and install controls for plugins not published to grafana-com (#41634)
* will hide the version tab for core plugins.

* will not try to fetch the version list if plugin is local.

* added the concept wheter or not a plugin is published or not.

* Update public/app/features/plugins/admin/pages/PluginDetails.test.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/plugins/admin/types.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* removed unused api functions.

* fix(plugins/admin): fix a tiny linter issue

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2021-11-15 16:58:15 +01:00
Marcus AnderssonandLevente Balogh 95e0eea86c Docs: Adding details about how to enable dynamic imports in plugins (#41648)
* added dynamic import to the readme.

* Update packages/grafana-toolkit/README.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update README.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2021-11-15 10:20:55 +01:00
Marcus Andersson e926126d63 Chore: Prevent preloaded plugins from crashing Grafana (#41490)
* if a plugin fails to load, we will not crash grafana.

* preventing the preloaded plugings to crash the whole app on failure.

* updated to unkown.

* fixed issue with angular by moving the preloadPlugin import to the same row as we did import the importPluginModule.
2021-11-10 19:06:55 +01:00
Marcus AnderssonandJack Westbrook e5421dd53e Chore: Change so we cache loading plugins by its version (#41367)
* making it possible to cache plugins based on the version.

* feat(plugincache): introduce function to invalidate entries

* removed todo's

* added tests for the cache buster.

* fixed tests.

* fixed failing tests.

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2021-11-10 11:54:58 +01:00
Marcus Andersson 6c5dca9bb2 Chore: Moved plugins catalog ownership to prevent unnecessary pings to the user-essentials squad. (#41399) 2021-11-09 10:01:25 +01:00
Marcus Andersson dce851e396 Chore: Fixed failing e2e due to day light saving time. (#41417) 2021-11-08 17:05:01 +01:00
Marcus Andersson 712ecf5adf Chore: Prevent loading error from showing too early (#41347) 2021-11-08 16:13:37 +01:00
Marcus Andersson ad888813c6 PluginsCatalog: Fix so we display the correct badges when a plugin is disabled. (#41159) 2021-11-02 13:41:08 +01:00
Marcus Andersson d98cb8274c Docs: Fixed broken link in the plugin migration guide (#41148)
* fixed broken link.

* updated title of link.
2021-11-01 10:15:53 -04:00
Marcus Andersson f349b735fb CodeEditor: change so the code comments are aligned with our defaults. (#40763) 2021-10-29 13:24:49 +02:00
Marcus Andersson 6e08e12749 Docs: Updated the plugin admin configuration default value (#40942) 2021-10-26 13:46:29 -04:00
Marcus Andersson 49dee63453 added ownership of plugins management code to the plugins platform frontend squad. (#40939) 2021-10-26 18:38:20 +02:00
Marcus Andersson fe11a31175 PluginsCatalog: disable post-installation steps if user does not have sufficient permissions (#40853)
* added missing permissions check

* moved the permission check to the datasource component.

* added test for checking permissions.

* added tests with different permissions.

* minor refactoring so the mockUserPermisson can be reused.
2021-10-26 15:18:12 +02:00
Marcus Andersson 0d036a6df5 DashGrid: Fixed auto resize issue with tabel panel (#40688)
* Changing how we use the AutoSizer component in the DashGrid.

* updated snapshot.

* fixed failing test.
2021-10-20 16:29:07 +02:00
Marcus Andersson 44c4d5d6fc Toolkit: Prevent toolkit from crashing when an error occur. (#40627) 2021-10-19 17:03:19 +02:00
Marcus Andersson 80a7401cfb Chore: replaced the @grafana/api-extractor with the @microsoft/api-extractor (#40519)
* removed the @grafana/api-extractor and replaced it with the @microsoft/api-extractor.

* increased the limit.
2021-10-18 09:16:36 +02:00
Marcus Andersson 79ce09ddee PluginsCatalog: post installation, adding an "add datasource"-button. (#40155)
* added post installation steps.

* changes according to feedback.

* removing return union null type.

* added tests.

* changing the wording of the button to 'create a..'

* updated tests to check for the updated copy.

* changing the back to be a regular back button.

* updated snapshot
2021-10-15 13:18:39 +02:00
Marcus Andersson d9ca3c5c5d CodeEditor: making sure we trigger the latest onSave callback provided to the component (#39835) 2021-10-07 08:51:23 +02:00
2dedbcd3c3 PluginsCatalog: adding support for viewing the plugins list as both table and list (#39466)
* working version but with duplications.

* refactor(Plugins/Admin): use "fr" instead of "repeat" for grid columns

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* fix(Plugins/Admin): use PluginIconName instead of IconName

* refactor(Plugins/Admin): store the display-mode on the state

* refactor(Plugins/Admin): use && for conditional rendering

* refactor(Plugins/Admin): rename variable

* refactor(Plugins/Admin): share code between card and row components

* test(PluginListItemRow): add tests

* test(Plugins/Admin): add a simple test for the display-mode switching

* fix(Plugins/Admin): compose styles with css``

* refactor(Plugins/Admin): rename "table" to "grid" for display modes

* test(Plugins/Browse): follow up on renaming "table" to "grid"

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2021-09-29 15:44:57 +02:00
Marcus AnderssonandTorkel Ödegaard b626ba223f Hooks: Adding possibility to display banner on the top of the page (#39099)
* adding working version of notificaion banner trigger.

* Move it to enterprise

* Fixing csss, none of the pages showed our CustomScrollbar or had double scrollbars

* fixing explore

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-09-29 08:28:07 +02:00
Marcus AnderssonandLevente Balogh f3002931f4 PluginsCatalog: adding error information about disabled plugins. (#39171)
* added errors in plugin list.

* added error to details page.

* adding badge on details page.

* added some more tests.

* Renamed to disabled and will handle the scenario in the plugin catalog.

* Update public/app/features/plugins/admin/components/PluginDetailsDisabledError.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* fixing some nits

* added missing isDisabeld to the mock.

* adding tests to verify scenarios when plugin is disabled.

* fixed issue with formatting after file changed on GH.

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2021-09-20 09:08:00 +02:00
aba8af1d59 Docs: plugin migration guide 7.0.0 to 8.0.0 (#38911)
* restructuring to new storybook inspired structure.

* added instructions on how to handle breaking changes in the legend.

* start adding migration steps for 7 -> 8

* added information about the data frame format changes.

* added plugin.json changes.

* added emotion 11 imports.

* added information about theme v1 being deprecated.

* added steps for backend plugin migration.

* added reference to the migrate hooks v6 -> v7.

* docs(pluginmigration): introduce getColorForTheme changes

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* docs(migration-guide): introduce useStyles to v8 deprecation notes

* Apply suggestions from code review

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* suggestion from review.

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* docs(Migration Guide): update the example for `grafanaDependency`

* docs(Migration Guide): remove the time-series migration part for now

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* docs(Migration Guide): update wording about plugin signing

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-09-15 17:23:10 +02:00
Marcus Andersson 3bb2ee9de6 Plugins: added the possibility to manage field config state outside of the panel renderer. (#38944) 2021-09-08 15:02:44 +02:00
49f7278063 OAuth: add docs for disableAutoLogin param (#38752)
* OAuth: add docs for disableAutoLogin param

* Apply suggestions from code review

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* OAuth: add availability note for disableAutoLogin

* Update docs/sources/auth/overview.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/auth/overview.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-09-06 16:55:30 +02:00
Marcus AnderssonandJack Westbrook ff56ea6ea6 Plugins: Combine local and remote plugins into one structure (#36859)
* adding some structure to combine the local and remote into one type.

* feat(catalog): map local and remote responses to catalog plugin

* feat(catalog): render CatalogPlugins in list

* refactor(catalog): update usePluginsByFilter to work with new data structure

* refactor(catalog): move helper functions into helpers file. delete redundent usePlugins hook

* feat(catalog): create CatalogPluginDetails and pass to PluginDetails

* feat(catalog): update types and components for plugin installation

* chore(catalog): comment so not to forget to move code out of api layer

* fix(catalog): make sure all filter shows gcom and installed

* fix(catalog): fix up getCatalogPlugin logic for only locally available plugins

* refactor(catalog): create getCatalogPluginDetails helper. Move usage to hook

* revert(catalog): put back small logos in PluginList

* revert(catalog): put back small logo for PluginDetails page

* fix(catalog): prevent useDebounce from triggering when SearchField mounts

* chore(catalog): add coment explaining reason for usedebouncewithoutfirstrender

* refactor(catalog): replace reduce with filter to remove duplicate array of all plugins

* refactor(catalog): update types for useDebounceWithoutFirstRender

* chore(catalog): remove commented out import

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2021-07-20 15:20:24 +02:00
Marcus Andersson a6872deeb9 Plugins: automatically search plugins when typing in plugin list search box. (#36643)
* will automagically search if typing something in the search field.

* Decreasing the debounced time to 500ms
2021-07-16 12:43:13 +02:00
8e386b9da5 Docs: added documentation for the "prepare time series"-transformation. (#36761)
* added documentation for the prepare time series transformation.

* Update docs/sources/developers/plugins/data-frames.md

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* Update docs/sources/panels/transformations/types-options.md

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* Update docs/sources/panels/transformations/types-options.md

Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>

* Update docs/sources/panels/transformations/types-options.md

Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>

* changed according to feedbcak.

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>
2021-07-16 10:41:15 +02:00
Marcus Andersson d4e53a9be4 Plugins: adding possibility to install enterprise plugins if you have a valid license. (#36653) 2021-07-12 22:18:39 +02:00
Marcus Andersson 2fb385c192 Plugins: display enterprise plugins in the plugins catalog (#36599)
* displaying enterprise plugins in the list.

* added place holder for tests and removed unused code.

* added test for the browse page.

* added empty test file.

* added some more tests.
2021-07-12 09:49:01 +02:00
Marcus Andersson 52bd1eb1c5 Plugins: converted the plugins admin app to a core feature in grafana (#36026)
* moved the plugins admin to core and used the plugins toggle to decide which version to use.

* reverted change.

* changed so the library tab is the default one.

* fixing navigation.
#

* fixed so we have the proper header.

* including the core plugins

* fixed so we display logos for local plugins.

* fixed so we have a working version of plugin catalog.

* removed console logs.

* reverted changes.

* fixing failed test.
2021-07-08 17:50:42 +02:00
c9e28044f1 Alerting: view to display alert rule and its underlying data. (#35546)
* add page and basic things

* quick annotations

* added so we can run queries on the view rule page.

* wip.

* merge

* cleaned up the combined rule hook.

* readd queries

* fixing so you can run queries.

* renamed variable.

* fix rerenders and visualizing

* minor fixes.

* work in progress.

* wip

* a working version that can be tested.

* changing check if we have data.

* removed unused styling.

* removed unused dep.

* removed another dep.

* Update public/app/features/alerting/unified/hooks/useCombinedRule.ts

Co-authored-by: Domas <domas.lapinskas@grafana.com>

* Update public/app/features/alerting/unified/hooks/useCombinedRule.ts

Co-authored-by: Domas <domas.lapinskas@grafana.com>

* refactored and changed UI according to figma.

* resseting menu item.

* removing unused external link.

* refactor according to feedback.

* changed so we always fetch the rule.

* fixing so datasource only is displayed once. Also changed so we only navigate to alert list when rule has been deleted.

* removed unused dep.

* Will display query as json if we can't find data source.

* changed to a function instead of the React.FC.

* refactoring of id generation and added support to generate ids for native prometheus alerts without ruler.

* set max width on page content

* added page where you can easily link to a rule in grafana.

* listing rules with same name.

* fixing error cases.

* updates after pr feedback

* more pr feedback

* use 1h-now as timerange

* remove unused import

* start on test

* add test for cloud case

* add ruleview render test

* add render tests for grafana and cloud alerts

* add mock for backendsrv

* add rendering test for the find route

* check if cards are rendered

Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
Co-authored-by: Domas <domas.lapinskas@grafana.com>
2021-07-01 12:02:41 +02:00
Marcus Andersson b1286ab8d6 TimePicker: will display the correct dates when selecting range in calendar with tz. (#35829)
* fixing calendar issue.

* reset yarn.lock.

* added boilerplate for test.

* added tests to verify bugfix.
2021-06-17 15:45:06 +02:00
Marcus Andersson 5ac2a7cca6 AlertList: make sure we sort the alert list when displayed in "recent state changes" mode. (#35544) 2021-06-11 09:18:35 +02:00
Marcus Andersson da9b5973f9 PanelChrome: title styling changed to be semi bold (#35302) 2021-06-07 08:46:42 +02:00
Marcus Andersson 456b356f21 Expressions: updating copy from experimental to beta. (#35149) 2021-06-04 15:18:21 +02:00
Marcus Andersson da6236d89a Alerting: improved error message and change styling of relative button. (#34730)
* improved error message and change styling of relative button.

* minor adjustments.

* adding clock icon.
2021-05-27 15:58:58 +02:00
Marcus Andersson 1ded9a37c1 Alerting: rename type to make it obvious what part of the code base it belongs to. (#34714)
* renamed grafana query to grafana alert query.

* renamed according to feedback in PR.
2021-05-27 12:29:10 +02:00
Marcus Andersson 70efaa5582 Alerting: making sure we use the updated queries when querying for data. (#34631) 2021-05-26 10:07:20 +02:00
Marcus Anderssonandkyle e19b3df1a9 Alerting: added possibility to preview grafana managed alert rules. (#34600)
* starting to add eval logic.

* wip

* first version of test rule.

* reverted file.

* add info colum to result to show error or (with CC evalmatches)

* fix labels in evalmatch

* fix be test

* refactored using observables.

* moved widht/height div to outside panel rendere.

* adding docs api level.

* adding container styles to error div.

* increasing size of preview.

Co-authored-by: kyle <kyle@grafana.com>
2021-05-26 10:06:28 +02:00
Marcus Andersson 8ddf6de6e7 Alerting: app specific query editors for Loki and Prometheus (#34365)
* Adding simplified version of query editor based on app flag.

* cleaned up the absolute time range.

* changing placeholder text.

* updated snapshot.

* added some tests.

* adding loki query editor tests.

* updating snapshots.
2021-05-19 16:24:27 +02:00
Marcus Andersson 8b9ff62cbb Alerting: fixing so we can edit queries on existing alerting rules. (#34227)
* fixing so old query editors can mutate the query object.

* fixing so angular editors that mutate state works.
2021-05-18 17:53:15 +02:00
2aa1a051f0 Alerting: visualizing data when creating/editing alerting rule. (#34191)
* VizWrapper to handle some state

* alertingqueryrunner first edition

* added so we always set name and uid when changing datasource.

* wip.

* wip

* added support for canceling requests.

* util for getting time ranges for expression queries

* remove logs, store data in state

* merge from run branch

* incremental commit

* viz working

* added structure for marble testing.

* paddings and move viz picker

* less height for viz, less width on rows

* change so the expression buttons doesnt submit form.

* fixed run button.

* replaced mocks with implementation that will set default query + expression.

* merge with run queries

* fixed so we set a datasource name for the default expression rule.

* improving expression guard.

* lots of styling fixes for viz

* adding placeholder for relative time range.

* fixed story.

* added basic structure to handle open/close of time range picker.

* removed section from TimeOptions since it isn't used any where.

* adding mapper and tests

* move relativetimepicker to its own dir

* added some simple tests.

* changed test.

* use relativetimerangeinput

* redo state management

* refactored the tests.

* replace timerange with relativetimerange

* wip

* wip

* did some refactoring.

* refactored time option formatting.

* added proper formatting and display of time range.

* add relative time description, slight refactor of height

* fixed incorrect import.

* added validator and changed formatting.

* removed unused dep.

* reverted back to internal function.

* fixed display of relative time range picker.

* fixed failing tests.

* fixed parsing issue.

* fixed position of time range picker.

* some more refactorings.

* fixed validation of really big values.

* added another test.

* restored the step2 check.

* fixed merge issue.

* Update packages/grafana-ui/src/components/Forms/RadioButtonGroup/RadioButtonGroup.tsx

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

* reverted change.

* fixed merge conflict.

* fixed todo.

* sort some paddings

* replace theme with theme2

Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-05-18 16:16:26 +02:00
Marcus AnderssonandPeter Holmberg 07ef4060a3 Alerting: adding a time picker for selecting relative time. (#33689)
* adding placeholder for relative time range.

* fixed story.

* added basic structure to handle open/close of time range picker.

* removed section from TimeOptions since it isn't used any where.

* adding mapper and tests

* move relativetimepicker to its own dir

* added some simple tests.

* changed test.

* use relativetimerangeinput

* redo state management

* refactored the tests.

* replace timerange with relativetimerange

* wip

* wip

* did some refactoring.

* refactored time option formatting.

* added proper formatting and display of time range.

* add relative time description, slight refactor of height

* fixed incorrect import.

* added validator and changed formatting.

* removed unused dep.

* reverted back to internal function.

* fixed display of relative time range picker.

* fixed failing tests.

* fixed parsing issue.

* fixed position of time range picker.

* some more refactorings.

* fixed validation of really big values.

* added another test.

Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
2021-05-12 17:51:31 +02:00
Marcus Andersson 545d930a13 Dashboard: prevent error when sharing a dashboard. (#33680) 2021-05-05 10:36:42 +02:00
Marcus Andersson 9de2f1bb8f Alerting: moving data source uid to query instead of model (#33416)
* initial commit.

* Some more improvements to the expression data source support.

* added tests to verify that time range picker and data source picker only is visible when callbacks is passed to row.

* fixing issue with filter in alerting list.

* minor refactoring.

* removed guarding code, should be fixed in  backend.

* cleaning the data query if we change to a different data source.
2021-04-29 15:10:14 +02:00
Marcus AnderssonandTorkel Ödegaard 4b7bb418da Docs: fix export issue to prevent docs generation from failing. (#32929)
* fixing docs generation issue.

* jsdoc fixes

* raised limit

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-13 13:07:40 +02:00
Marcus Andersson 5ce25509a1 PanelChrome: adding support for displaying error messages. (#32748)
* adding support to display panel error.

* adding error indicator.

* renaming back to left.

* fixing docs error issues.

* adding release tag.
2021-04-12 16:50:49 +02:00
Marcus Andersson 678dcf6811 Docs: fixing code example that breaks the formatting of the auto generated docs. (#32465) 2021-03-30 09:09:44 +02:00
Marcus Andersson eebcc55faa Chore: changed so the PanelChrome story can be changed via controls. (#32105) 2021-03-29 14:08:00 +02:00
Marcus Andersson 69201bbf8c Plugins: moving the DataSourcePicker to grafana/runtime so it can be reused in plugins (#31628)
* moved the datasource picker to grafana-runtime.

* fixed imports.

* added e2e selectors as an external package.

* adding react as external package.

* exposing dependent types for DataSourcePicker.

* added docs for ui components.

* moving component to components.
2021-03-18 10:44:26 +01:00
Marcus Andersson 93f17bd2b3 Graphite: Support request cancellation properly (Uses new backendSrv.fetch Observable request API) (#31928)
* changed so we use fetch.

* moved tests to be at the same level as the datasource.

* fixing tests after migrating to fetch.

* removed unused dep.

* refactorings according to feedback.

* adding missing typing.
2021-03-16 18:21:38 +01:00
Marcus Andersson 66e810a5aa Plugins: exposing the getTimeZone function to be able to get the current selected timeZone. (#31900) 2021-03-11 22:24:49 +01:00
Marcus Andersson a8bf1d68e3 Bug: adding resolution for react-use-measure to prevent plugin tests from failing. (#31603) 2021-03-02 16:00:27 +01:00
ce08bcae1b Field overrides: skipping overrides for properties no longer existing in plugin (#30197)
* Safely skipping overrides on missing properties.

* Added test and missing element key.

* added possibility to remove the missing property.

* Minor UI change

* Fix test

* simplify a bit

* Fixed test

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-01-19 14:43:05 +01:00
Marcus Andersson 382c75d0db GraphNG: added support to change series color from legend. (#30256)
* added support for changing color of series.

* removed dependency on internal type.
2021-01-14 13:54:21 +01:00
Marcus Andersson 9aa282a18c Field overrides: extracting the field config factory into its own reusable module. (#30214)
* extracting the field config registry factory method into its own module.

* added docs comment.
2021-01-12 15:01:33 +01:00
Marcus Andersson 7aa6926ef6 GraphNG: adding possibility to toggle tooltip, graph and legend for series (#29575) 2021-01-06 12:40:32 -08:00
Marcus Andersson ac3bf352d9 Docs: added version note for rename by regex transformation. (#29735) 2020-12-10 07:53:52 +01:00
Marcus Andersson de395f24e4 Panel: making sure we support all versions of chrome when detecting position of click event. (#29544)
* making sure we are always using int value when compairing coordinates.

* removed unused import.

* Using Math.floor instead.

* removed unused dep.
2020-12-04 09:42:45 +01:00
Marcus Andersson 60502463e2 Chore: upgrading y18n to 4.0.1 for security reasons (#29523) 2020-12-03 08:39:14 +01:00
Marcus Andersson 863dbc7ba8 PanelEdit: making sure the correct datasource query editor is being rendered. (#29500)
* making sure we try to use the selected db in the query row.

* fixing so we use || instead of ??.
2020-12-02 11:04:42 +01:00
Marcus Andersson cbb2c0a5d8 Field overrides: added matcher to match all fields within frame/query. (#28872) 2020-12-01 09:38:35 +01:00
Marcus Andersson 26a41ecc1c Docs: fixing frontend docs issue where enums ending up in wrong folder level. (#29429)
* fixing issue with enums ending up in wrong folder.

* updated package.
2020-11-27 10:21:28 +01:00
Marcus Andersson e4f465929d Docs: fixing link issues in auto generated frontend docs. (#29326)
* updating api-documenter package and fixed failed link.

* added documentation for matcher code.

* decreasing number of lint errors.
2020-11-25 08:54:42 +01:00
Marcus Andersson 563fe01fc0 Devenv: adding default credentials for influxdb (#29344) 2020-11-25 08:28:03 +01:00
Marcus Andersson dce998711e decreasing frontend docs threshold. (#29304) 2020-11-23 14:30:46 +01:00
Marcus Andersson 81859880d3 Annotations: fixing so when changing annotations query links submenu will be updated. (#28990)
* fixing so changes to annotations query links will update submenu.

* Refactored so we dont use the events to trigger a refresh but instead recreating the annotations list instead of mutating the existing list.

* updated snapshot.

* uppdates according to feedback.

* fixed so it also works to update a annotation.
2020-11-21 12:35:18 +01:00
Marcus Andersson 4c0aa4acd5 DashboardLinks: will only refresh dashboard search when changing tags for link. (#29040)
* fixing so we dont run multiple dashboard links searches when changing variables.

* changed so we fetch the list when open the dashboard links dropdown.

* removed verification of unneccesary requests.
2020-11-18 07:11:36 +01:00
Marcus Andersson 2887f3f68b Variables: make sure that we support both old and new syntax for custom variables. (#28896) 2020-11-09 10:37:59 +01:00
Marcus Andersson 3697b628a7 Gauge: making sure threshold panel json is correct before render (#28898)
* making sure we work with a proper data structure.

* added test to verify functionality.

* removed unused variables.
2020-11-09 08:23:07 +01:00
Marcus Andersson dbaf213f8a Variables: added __user.email to global variable (#28853)
* added email to global variable.

* forgot to increase the count.
2020-11-05 15:26:08 +01:00
Marcus Andersson abe96f4f89 Units: added support to handle negative fractional numbers. (#28849) 2020-11-05 10:40:52 +01:00
Marcus Andersson 212bf7a4f6 Docs: added code comments to frontend packages. (#28784)
* fixed docs linting errors.

* decreased the limit.
2020-11-03 14:54:14 +01:00
Marcus Andersson e8bfb21851 Build: changing docs docker image to prevent setting up frontend devenv. (#28670)
* Build: changing docs dev-environment

I have added a new image that will include the auto-generated frontend docs so you don't have to generate those locally prior to running the doc container. This has a dependency on this PR: https://github.com/grafana/website/pull/2744 and that we publish a version of the `grafana/docs-devenv` image.

* will ignore everything (even symbolic links)

* fixed spelling.

* added newline.

* updated image name.
2020-10-30 10:22:01 +01:00
Marcus Andersson c258ee86eb Live: updated the reference to use lazy loaded Monaco in code editor. (#28597) 2020-10-28 07:57:58 -04:00
Marcus Andersson 0bb33839f5 Docs: updated cmd to build docs locally to generate docs prior to building site. (#28371)
* added instructions so we generate docs prior to building them.

* replaced ci script.

* improved according to feedback.
2020-10-22 09:57:56 +02:00
Marcus Andersson e663bc5cdd Docs: improved github action that syncs docs to website (#28277)
* adding cache and making sure we don't fail build if no changes have been made.

* fixed indentation.

* changed so we use the shared repo for the sync action.
2020-10-21 16:01:02 +02:00
Marcus Andersson f334cc4576 Docs: generate packages docs before syncing to website (#27879)
* updated to latest version of api-documenter.

* saved lockfile after upgrade.

* adding yarn to docker environment.

* adding packages to trigger paths.

* added steps to workflow for generating docs.

* reverted back to api-documenter 0.9.3
2020-10-14 17:03:35 +02:00