Commit Graph

920 Commits

Author SHA1 Message Date
Ashley Harrison
ff0642bf6e
Chore: Type improvements 🧹 (#75271)
* fix some e2e flows types

* some type fixes

* must... fix... more...

* MOAR

* MOREMOREMORE

* 1 more
2023-09-22 15:06:49 +01:00
Andres Martinez Gotor
c70623fb85
Chore: Rename testdata plugin with a fully qualified name (#75104) 2023-09-22 15:00:40 +03:00
Esteban Beltran
8e8bd2760b
Plugins: Report plugin utilization of Grafana runtime dependencies (#75156)
* Plugins: Report plugin utilization of Grafana runtime dependencies

* Change approach to determine pluginName too

* Fix tests

* Update tests

* remove commented code
2023-09-21 13:36:32 +02:00
Hugo Kiyodi Oshiro
6600dd265b
Plugins: Refresh plugin info after installation (#75074) 2023-09-21 13:33:12 +02:00
Gábor Farkas
24350521be
sql: improve imports in test (#75006) 2023-09-19 09:19:28 +02:00
Esteban Beltran
62d0becd25
Sandbox: Set sandbox wrapper to height 100% for panel plugins (#75004)
Sandbox: Fix panel plugin not showing scrollbars
2023-09-19 09:11:56 +02:00
Gábor Farkas
fb0357947f
sql: add more tests (#74919) 2023-09-18 14:11:11 +02:00
Esteban Beltran
c7b6ac065a
Sandbox: Make window.monaco and window.Prism available for plugins inside the sandbox (#74977)
* Sandbox: Make `window.monaco` available for plugins inside the sandbox

* Add Prism as an endowment

* Fix typo
2023-09-18 10:45:09 +02:00
Gábor Farkas
1f6f866a36
sql: do not use the getTimeSrv call (#74800)
* sql: eliminate the getTimeSrv call

* adjusted tests
2023-09-18 10:39:05 +02:00
Yulia Shanyrova
44bf663942
Plugins: Check if the user has permissions to access the plugin custom page (#74664)
* Check if the user has permissions to access the plugin custom page

* If plugin does not have includes we should show the plugin

* chngaes after review, added the test for AppRootPage

* fix the type error

* add more test cases

* test: wrap location pushes to act() calls

* Add no existing role to test

* fix name of the test

* fix not existing role test

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-09-14 16:38:33 +02:00
Deepayan Mukherjee
712f3fb8b2
SQL query editor: Ensure unique ID for switch components (#74751)
* SQL:Add unique sql filter id

Signed-off-by: Deepayan Mukherjee <deepayanmukherjee1312@gmail.com>

* SQL: add unique sql group filter preview ids

Signed-off-by: Deepayan Mukherjee <deepayanmukherjee1312@gmail.com>

---------

Signed-off-by: Deepayan Mukherjee <deepayanmukherjee1312@gmail.com>
2023-09-13 09:36:22 +02:00
Levente Balogh
2fac3bd41e
Plugins: Show deprecated plugins (#74598)
* feat: add a `isDeprecated` field to `CatalogPlugin`

* tests: update the tests for merging local & remote

* feat: display a deprecated badge in the plugins list

* feat: show a deprecated warning if the plugin is deprecated

* Fix linting issues

* Review notes

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* refactor: remove `isDeprecated` from the details (it's already in the main CatalogPlugin object)

* refactor: use an enum for remote statuses

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2023-09-12 12:49:10 +02:00
Marcus Andersson
05ce7e5789
PluginExtensions: Reports user interactions with UI extensions (#74355)
* Added tracking information to how UI links are being used by users.

* Fixed nit.
2023-09-12 11:52:16 +03:00
Andres Martinez Gotor
8cb93bf3e7
Bug: Allow to uninstall a deprecated plugin (#74444) 2023-09-12 10:33:09 +02:00
Andres Martinez Gotor
29238c19fd
Bug: Expect a plugin signature per version (#74595) 2023-09-12 09:31:38 +02:00
Levente Balogh
9c83dd43d9
Plugins: Group tests (#74667)
refactor: group plugin-details page tests together
2023-09-12 08:10:18 +02:00
Gábor Farkas
6e75c5d182
postgres/sql: fix imports (#74535)
* postgres/sql: fix imports

* nicer import

Co-authored-by: Adam Yeats <16296989+adamyeats@users.noreply.github.com>

---------

Co-authored-by: Adam Yeats <16296989+adamyeats@users.noreply.github.com>
2023-09-11 09:48:55 +02:00
Jack Westbrook
0d1845f857
Plugins: Fix applying default extension and AMD detection (#74471)
* fix(plugins): support edge cases where default extension was not added

* fix(plugins): only apply AMD wrapper to AMD format plugins

* refactor(plugins): update regex for codeql warnings

* refactor(plugins): remove check for commented out dependency strings in AMD regex

* test(plugins): add tests for systemjs hook amd detection
2023-09-07 14:30:35 +02:00
Ieva
d46208b28a
Chore: remove legacy AC fallback from frontend access control checks (#74385)
* don't use legacy AC fallback for frontend access control checks

* extend tests

* more test fixes

* more test fixes

* more test fixes

* final test fix

* team test fix

* finally fix tests
2023-09-06 16:07:49 +01:00
Esteban Beltran
ae858fcdd2
Sandbox: Fix sandbox not loading SystemJs.module objects correctly inside plugins (#74445) 2023-09-06 16:46:31 +03:00
Esteban Beltran
f8026463a8
Sandbox: Fix plugins not loading due to wrong plugin module url (#74436) 2023-09-06 13:49:09 +03:00
Gareth Dawson
f18cd13f2b
SQL: Add feature tracking to sql datasources (#73996)
* add sql ds feature tracking

* feature tracking

* remove unused imports

* Update public/app/features/plugins/sql/components/QueryHeader.tsx

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>

* suggestion

* add datasource to report interaction

* report editor collapse

* pass ds on preview copy

* update missing instance checks

* add confirm modal data to report

---------

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2023-09-05 12:45:41 +01:00
Esteban Beltran
b8dd081d8a
Sandbox: Fix post message trying to serialize proxy objects inside plugins (#73596) 2023-09-01 16:54:06 +03:00
Jack Westbrook
62821c69b3
Plugins: Bump SystemJS to 6.14.2 (#70068)
* chore(plugins): bump systemjs to latest version

* refactor(plugins): switch runtime over to use latest systemjs, add typings

* refactor(plugins): use latest systemjs APIs for runtime dependency resolution

* refactor(plugins): return valid urls from backend for latest systemjs import to work

* revert(plugins): remove cfg from assetpath in favour of relative paths

* fix(plugins): useDefault for systemjs deps to solve undefined errors

* feat(plugins): add basic support for loading plugins via CDN

* fix(plugins): load nested plugins with latest systemjs

* feat(plugins): add back ability to transform plugin src for cdns

* feat(plugins): get caching for module.js working, clean up

* refactor(plugin_loader): create buildImportMap fn and more clean up

* refactor(angularapp): use buildImportMap for dependencies and clean up

* test(plugin_loader): fix failing test due to systemjs update

* test(jest): mock systemjs amd extra in tests to prevent it breaking tests

* chore(plugins): remove systemjs module-types extra, already included with system

* fix(plugins): update key for invalidating cached plugins

* fix: move systemjs amd define to another global so monaco can load

* refactor(plugins): clean up cache buster and tests

* chore(plugins): remove debug

* refactor(plugins): move systemjs define to keep global cleaner

* fix(plugins): set useDefault so system modules lodash references dont fail

* feat(plugins): hook systemjs onload so stylesheets are applied to the dom

* refactor(plugins): wrap amd formatted plugins in iife to prevent define collision

* feat(plugins): support system module format for legacy plugins

* test(plugincachebuster): update tests to match latest implementation

* test(plugins-loader): fix up tests post module property change

* fix test

* Update pkg/plugins/manager/loader/assetpath/assetpath.go

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

* chore(plugin_loader): remove stray import from merge conflict

* Revert "Update pkg/plugins/manager/loader/assetpath/assetpath.go"

This reverts commit 0df57d1cf20f49c22c93369001c70aae46a97c42.

* fix(plugin_loader): set use default for shared plugin dependencies

* refactor(plugins): use leading slash for Module and BaseUrl

* fix(plugins): fix resolve appending extension to cache query param

* refactor(plugins): align baseurl and module paths

* refactor(plugins): update builtInPlugins keys to match naming convention

* refactor(plugins): minor loader clean up, fix up types

* test(plugins): fix failing tests

* refactor(plugins): rename cache buster systemjs plugin to cache

* refactor(plugins): separate plugin_loader into smaller files

* chore(plugins): clean up plugin_loader types

* chore(plugin_sandbox): fix typescript error

* chore(npm): remove unplug debug and pin systemjs to 6.14.1

* refactor(plugins-cdn): update loaders to use absolute module url from backend

* fix(plugins): escape period in systemjs  module regex

* chore(plugins): delete redundant systemjs plugins

* refactor(plugin_loader): move hooks into own file, add types

* test(plugins): add tests for systemjs loader hooks

* chore(plugins): rename systemjshooks file

* chore(plugins): remove redundant systemjs cdn backend code

* fix(plugins): handle loading with config.appSubUrl

* chore(plugins): delete redundant plugin-cdn angular code

* test(plugins): fix failing systemjs test missing pluginsCDNBaseUrl

* refactor(plugins): backend provides base and module properties with AppSubUrl

* fix(plugins): consider AppSubUrl for plugin logos

* fix(plugins): use isHostedOnCDN util when checking for cdn hosted plugins

* add new appSubURL field to config

* refactor relative URL func

* fix path for core app

* refactor asset path input

* fix(plugins): catch errors in loadPluginCss

* feat(plugins-cdn): selectively transform sourceMapURL

* re-add deleted test case

* chore(plugins): bump to latest systemjs@6.14.2

* feat(plugins): add systemjs-cjs-extra for loading commonjs plugins

---------

Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-08-31 15:45:44 +02:00
Hugo Kiyodi Oshiro
4084329193
Plugins: Add dependency column in version table (#73991)
* Plugins: add dependency column in version table

* Closes #44052
2023-08-29 16:38:31 +02:00
Giuseppe Guerra
bf4d025012
Dashboards: Add alert and panel icon for dashboards that use Angular plugins (#70951)
* Add angularDeprecationUI feature toggle

* Add angular notice in angular panel header

* Show angular notice for angular datasources

* Show angular notice at the top of the dashboard

* Changed Angular deprecation messages

* Fix angular deprecation alert displayed for new dashboards

* re-generate feature flags

* Removed unnecessary changes

* Add angular deprecation dashboard notice tests

* Add test for angular deprecation panel icon

* Update test suite name

* Moved isAngularDatasourcePlugin to app/features/plugins/angularDeprecation

* Add hasAngularPlugins to DashboardModel

* re-generate feature toggles

* Fix tests

* Fix data source spelling

* Fix typing issues

* Extract plugin type into a separate function

* re-generate feature flags

* reportInteraction on angular dashboard notice dismiss

* re-generate feature flags

* Re-generate feature flags

* lint
2023-08-29 16:05:47 +02:00
Esteban Beltran
050b9d9a85
Sandbox: Fix prismjs syntax for plugins defining its own language (#73393)
* Sandbox: Fix prismjs syntax for plugins defining its own language

* Add clarifying comment
2023-08-22 13:04:57 +02:00
Ezequiel Victorero
993f5491a2
DataSourcePicker: remove default property from data source variable selection (#73314) 2023-08-18 07:42:55 -05:00
Torkel Ödegaard
3245e25273
SqlDataSources: Update metricFindQuery to pass on scopedVars to templateSrv (#73333) 2023-08-17 14:58:54 +02:00
Yulia Shanyrova
9f4fb71a7b
Plugins: remove 'admin/plugins' redirect (#73319)
Redirect was deleted because it is deprecated
2023-08-17 10:30:42 +02:00
Esteban Beltran
84181eb613
Sandbox: Fix monaco editor custom languages not working correctly inside the sandbox (#72911) 2023-08-11 10:50:57 +02:00
Ashley Harrison
0ffdcbbe52
Chore: improve typings (#72679)
improve typings
2023-08-07 09:32:13 +01:00
Sol
1aed2ede7e
SQL: Remove double quotes for multi-value variables (#71130)
* RemoveFirstLastQuotes

* MoveTemplateHandleToFront

* PreserveTemplateInQuery

* Revert "RemoveFirstLastQuotes"

This reverts commit e1ef5764b8.

* CheckForTemplateVarType

* CheckTemplateVars

* ReRunChecks

* ExtractMultiTestToFunction + AddTests

* RemoveAsyncFromTests

* Move condition definition out of .some()
2023-08-04 09:43:13 +01:00
Giuseppe Guerra
24e826aac0
Plugins: Add elementId attribute to angular_deprecation_docs_clicked interaction (#72800)
Add elementId attribute to angular_deprecation_docs_clicked interaction
2023-08-03 13:58:22 +02:00
ismail simsek
d333c09418
InfluxDB: SQL Query Editor (#72168)
* Add influxdbSqlSupport feature toggle

* Add SQL option to the config page

* Add SQL backend

* Add metadata support in config page

* Implement unified querying

* Fix healthcheck query

* fsql tests

* secure grpc by default

* code cleanup

* Query handing for sql mode

* Implement a placeholder sql editor

* Fix query language dropdown

* drop in SQL editor

* switch to use rawSql, get sql editor working

* fix healthcheck

* WIP

* memoize component to stop unwanted rerender onQuery

* dont reinit datasource on each render of the editor

* remove useless memo

* clean up

* Fix the link

* Alpha state warning

* Remove console.logs

* update model for fsql

* remove unused

---------

Co-authored-by: Galen <galen.kistler@grafana.com>
2023-08-02 19:04:16 +02:00
Ashley Harrison
e0587dfb30
Chore: Replace deprecated usage of shape.borderRadius() (#72672)
* properly mark borderRadius() as deprecated, replace borderRadius() with default

* undo a couple of changes

* use radius.pill in FilterPill
2023-08-01 14:46:07 +01:00
Esteban Beltran
81a940f675
Sandbox: Redirect calls to window.location to window.locationSandbox (#72252) 2023-07-28 15:04:23 +03:00
Marcus Andersson
1755f8c7b7
PluginExtensions: Allow to specify unkown properties in override but they will be ignored (#72273)
* fixed bug.

* Update public/app/features/plugins/extensions/getPluginExtensions.ts

Co-authored-by: Ben Sully <ben.sully@grafana.com>

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

Co-authored-by: Ben Sully <ben.sully@grafana.com>

* Update public/app/features/plugins/extensions/getPluginExtensions.ts

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

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

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

---------

Co-authored-by: Ben Sully <ben.sully@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2023-07-25 20:18:49 +02:00
Giuseppe Guerra
8811aa78c3
Plugins: Angular deprecation: Open "View plugin details" in new tab (#72280) 2023-07-25 17:23:20 +02:00
Giuseppe Guerra
296e30d620
Dashboards: Add Angular deprecation alert in data source query editor (#72211)
* reportInteraction when clicking on angular deprecation docs link

* Made messages consistent, removed duplicate component

* Revert unnecessary changes in PluginDetailsPage.test.tsx

* Moved angular deprecation notice to different folder

* Fix component names

* Dismissable alert

* Plugins: Add Angular deprecation alert in data source query editor

* Add tests

* Fix test name

* Add const deprecationText

* lint

* PR review feedback
2023-07-25 14:35:07 +02:00
Giuseppe Guerra
7f4d8de6f5
Plugins: Consistent Angular deprecation messages and tracking on docs link click (#71715)
* reportInteraction when clicking on angular deprecation docs link

* Made messages consistent, removed duplicate component

* Revert unnecessary changes in PluginDetailsPage.test.tsx

* Moved angular deprecation notice to different folder

* Fix component names

* Dismissable alert
2023-07-24 17:25:36 +02:00
Esteban Beltran
20d7cf34b2
Sandbox: Set the style attribute of all Element child to be a live target (#72208) 2023-07-24 17:23:40 +02:00
Marcus Andersson
57a54fc38a
PluginExtensions: Add category to link extensions (#71074)
* adding a panel menu group item to UI extensions.

* draft

* Fixed so we support groups in the old panel menu.

* added proper styling.

* Made tests green and small refactor.

* Added tests for panel menu category.

* Will truncate the extensions category to 25 chars.

* added test for truncating category.
2023-07-24 13:08:59 +02:00
mikkancso
b08271da32
Connections: Stop using dataConnectionsConsole feature toggle (#72111)
* remove dataConnectionsConsole feature toggle

* fix imports

* reintroduce dataConnectionsConsole

To prevent breaking change
2023-07-24 10:54:52 +02:00
Esteban Beltran
e8e3f81e38
Sandbox: Add support for webpack dynamic imports (#71714) 2023-07-20 13:19:57 +02:00
Andres Martinez Gotor
5d07b1c884
Chore: Move getSearchFilterScopedVar to @grafana/data (#71839) 2023-07-19 13:56:14 +02:00
Ashley Harrison
9852b24d61
Chore: Upgrade prettier to v3 (#71764)
* Update dependency prettier to v3 (#71586)

* Update dependency prettier to v3

* run prettier

* ignore prettier update in legacy select scss

* update command line arg

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>

* unplug prettier

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-17 15:58:22 +01:00
Ashley Harrison
5ca382c88a
Revert "Update dependency prettier to v3 (#71586)" (#71755)
This reverts commit 2e8cd1c021.
2023-07-17 14:46:15 +01:00
renovate[bot]
2e8cd1c021
Update dependency prettier to v3 (#71586)
* Update dependency prettier to v3

* run prettier

* ignore prettier update in legacy select scss

* update command line arg

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-07-17 09:19:27 +01:00
Esteban Beltran
0db1d16c09
Plugins: Make datasource instances live targets for the sandbox (#71472) 2023-07-13 15:44:52 +02:00