Commit Graph

193 Commits

Author SHA1 Message Date
Sonia Aguilar
4270e5606c
Alerting: Fix enter key 'clicking' first button on form (#55222)
* Add type='button' in button used in Heading component to prevent having the default value ='submit'

* Add type='button' for buttons used in form when grafana-managed alert type is selected

* Add type='button' for buttons used in form when mimir-or-loki alert type is selected
2022-09-20 11:02:41 +02:00
Ryan McKinley
17b2fb04e8
DashboardQuery: Expand query options (#53998) 2022-09-16 13:28:47 -04:00
Ryan McKinley
7700b529f9
SupportSnapshots: improved iframe support (#55059)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-09-14 12:54:09 -07:00
Ivana Huckova
e70395f07a
Query editor: Allow query editors to create new query (#55028)
* Query editor: Allow query editors to create new query

* Update

* Revert "Update"

This reverts commit d5b79d60dd.
2022-09-13 13:09:31 +02:00
owensmallwood
f4bbce15a0
Public Dashboards: Add Expressions Support (#54336)
Adds support for expressions with public dashboards
2022-08-31 09:11:10 -06:00
Kristina
38c1f3d054
Explore: Add Mixed Datasource (#53429)
* Toggle on the mixed mode option

* Ensure switching to mixed gives existing query prev datasource

* WIP - Populate datasource when switching between mixed and not

* WIP - handle change from mixed

* Remove preimport filter, refine filter to work for queries

* WIP debugging datasource transition

* Ensure creating a new query gets target data source if switching with no matches between

* Add mixed datasource to rich history display

* Cleanup console logs, add relevant comments

* Add feature toggle for mixed datasource

* Fix Wrapper tests

* Fix tests!

* Fix test types and add feature tracking

* Remove unnecessary default, remove explore/mixed workarounds for D2E

* Move display text logic to mixed datasource file

* Add in the default query parameters to a generated empty query

* Condense some code

* Apply suggestions from code review

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Add more logic around mixed datasource being off for explore

* Build out logic to handle different datasource scenarios

* Add tests

* Finalize last test

* Fix mixed URL with mixed ds off, and relevant test

* Fix datasource to explore workflow

* Add datasource change function, call import queries if needed

* add logic for changing single query ds

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-08-31 09:24:20 -05:00
Adam Simpson
87375f570d
QueryEditorRow: filter data on mount (#54260)
This works correctly on initial dashboard load. However, when an action
is taken that triggers a "re-mount", e.g. opening the options pane on
the right side of the page, the `data` prop becomes undefined.
2022-08-29 13:49:58 +00:00
owensmallwood
dc23643bee
Public Dashboards: Usage Insights (#52768) 2022-08-10 14:14:48 -03:00
Leo
c4984854b6
added dashboard uid when tracing header in browsermode (#53232) 2022-08-10 10:36:19 +02:00
owensmallwood
0b4af38bfa
Public Dashboards: Query Caching (#51403)
* passes id and uid to PublicDashboardDatasource

* betterer results

* If for a public dashboard, return the PublicDashboardDataSource first or else getDatasourceSrv.get() will fail bc of no authed user.

Added some unit tests for resolving the uid from the many possible datasource types.

* updates betterer

* Exports DashboardService. Adds method to DashboardService to build anonymous user for use with public dashboards where there is no authed user. Adds method on dashboard_queries to get all dashboard uids from a dashboard.

* refactors to get unique datasource uids

* Adds tests for getting all unique datasource uids off a dashboard

* adds test for building anonymous user with read and query actions that are scoped to each datasource uid in the dashboard

* updates casing of DashboardService

* updates test case to have additional panel with a different datasource

* gives default interval to public dashboard data source
2022-07-06 12:42:39 -06:00
Gilles De Mey
3ab410de0b
QueryEditorRow: Render frame warnings in QueryEditorRow (#50116) 2022-06-28 13:38:31 +02:00
Ezequiel Victorero
25d4ddf959
PublicDashboards: disable annotations (#50984)
* PublicDashboards: disable annotations
2022-06-23 13:09:30 -03:00
Jeff Levin
d076bedb5e
public dashboards: finalize db schema & v1 feature complete (#50467)
This PR completes public dashboards v1 functionality and simplifies public dashboard conventions. It exists as a large PR so that we are not making constant changes to the database schema.

models.PublicDashboardConfig model replaced with models.PublicDashboard directly
dashboard_public_config table renamed to dashboard_public
models.Dashboard.IsPublic removed from the dashboard and replaced with models.PublicDashboard.isEnabled
Routing now uses a uuid v4 as an access token for viewing a public dashboard anonymously, PublicDashboard.Uid only used as database identifier
Frontend utilizes uuid for auth'd operations and access token for anonymous access
Default to time range defined on dashboard when viewing public dashboard
Add audit fields to public dashboard

Co-authored-by: Owen Smallwood <owen.smallwood@grafana.com>, Ezequiel Victorero <ezequiel.victorero@grafana.com>, Jesse Weaver <jesse.weaver@grafana.com>
2022-06-22 13:58:52 -08:00
Josh Hunt
98132fc7dc
Remove as any from requireActual usage (#51182) 2022-06-21 17:48:38 +01:00
polibb
665da5d063
Template Variable: Datasource variable can be used when MIXED option is selected in panel query (#51170)
* user essentials mob! 🔱

* user essentials mob! 🔱

lastFile:public/app/features/query/components/QueryEditorRowHeader.test.tsx

* user essentials mob! 🔱

* test variables showing in data source picker dropdown on MIXED

* clean up unused imports

* remove comment

* remove unused mock

Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-06-21 17:46:52 +03:00
Josh Hunt
bc7ed4baab
Chore: use jest.mocked in favor of type assertions/any (#51156)
* use jest.mocked instead of yucky any

* remove more anys in favor of jest.mocked

* fix stray unused variables
2022-06-21 13:47:33 +01:00
Erik Sundell
1b51cd2043
DataSource: Allow data source plugins to set query default values (#49581)
* make it possible to set default query

* set default query in cloudwatch ds

* remove cloudwatch example code

* apply feedback

* Update public/app/features/explore/state/query.ts

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Update public/app/features/query/components/QueryGroup.tsx

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* add alpha tag to method definiton

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-06-16 22:22:05 +02:00
owensmallwood
1bb2d2599c
Public Dashboards: Pubdash panels get data from pubdash api (#50556)
* Public dashboard query API

* Create new API on service for building metric request

* Flesh out testing, implement BuildPublicDashboardMetricRequest

* Test for errors and missing panels

* WIP: Test for multiple datasources

* Refactor tests, add supporting code for multiple datasources

* Gets the panel data from the pubdash query api

* Adds tests to make sure we get the correct api url from retrieving panel data

* Public dashboard query API

* Create new API on service for building metric request

* Flesh out testing, implement BuildPublicDashboardMetricRequest

* Test for errors and missing panels

* WIP: Test for multiple datasources

* Refactor tests, add supporting code for multiple datasources

* Handle queries from multiple datasources

* Replace dashboard time range with pubdash time range settings

* Fix comments from review, build failure

* removes changes to DataSourceWithBackend.ts regarding getting the pubdash panel query url. Going to do this in a new class, PublicDashboardDataSource.ts

* Include pubdash Uid in dashboard meta

* Creates new PublicDashboardDataSource.ts and adds test

* Passes pubdash uid down to PanelQueryRunner.ts to a PublicDashboardDatasource can be chosen when were looking at a public dashboard

* removes comment

* checks for error when unmarshalling json

* Only replace dashboard time settings with pubdash time settings when pubdash time settings exist

* formatting and added comment

Co-authored-by: Jesse Weaver <jesse.weaver@grafana.com>
Co-authored-by: Jeff Levin <jeff@levinology.com>
2022-06-13 18:03:43 -06:00
Joao Silva
ce1ee4de04
DataSources: Fixes issue with expressions not being queried (#50446) 2022-06-09 12:50:16 +01:00
Konrad Lalik
4c28d09d6d
Alerting: Add fgac support to alert list panel (#47934)
* Add fgac support to alert list panel

* Fix typo

* test: fix test suite for UnifiedAlertStatesWorker

* Update worker permission check

* Update alert worker tests

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-05-31 14:27:08 +02:00
Joao Silva
8c477a288a
Variables: Fixes issue with data source variables not being correctly used in panel queries (#49323) 2022-05-26 11:39:47 +01:00
Andrej Ocenas
4124294011
Prometheus: Migrate annotation editor to react (#48814)
* Modify the annotation support api

* Migrate annotation editor component

* Update public/app/features/annotations/standardAnnotationSupport.ts

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* Move the escape hatches out of the public API

* Fix props transforms

* Break import cycle

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-05-24 17:43:58 +02:00
Torkel Ödegaard
04bc482f11
Variables: Fixes issue with data source variables not updating queries with variable (#49478) 2022-05-24 13:14:56 +02:00
Josh Hunt
b04fb8522d
QueryEditor: Set data source type in mixed query data source ref (#48734) 2022-05-05 15:09:00 +01:00
Torkel Ödegaard
5a9aad3e86
QueryGroup: More efficient way to scroll to bottom when adding new queries (#48399) 2022-04-28 20:07:36 +02:00
Adam Simpson
6c0a5b121e
CloudWatch: prevent log groups from being removed on query change. (#47994)
* CloudWatch: prevent log groups from being removed on query change.

Previously when a query was changed the existing log groups for that query were "dropped". The fix is to combine the
new query with the existing query object in memory to preserve the log groups.

fixes #33626

* CloudWatch: fix typos in runWithRetry documentation

* chore: fix eslint issue
2022-04-25 17:59:52 +00:00
Josh Hunt
3c6e0e8ef8
Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00
owensmallwood
9a4bd1f2d4
Usage insights query caching (#47893)
* Updates queryResponse tests to include new cachedResponse bool

* Adds cachedResponse bool to QueryResponse

* Adds tests to assert the correct query counts (totalQueries and cachedQueries) are dispatched for data-requests

* Adds totalQueries and cachedQueries counts to the data-request events

* Adds new metrics and their descriptions to docs

* uses more descriptive variable name

* changes naming

* removes hyphen in docs

* extracts calculations to own lines prior to assignment
2022-04-21 09:16:13 -06:00
Torkel Ödegaard
6f31a69bfd
QueryEditorRow: Show query errors next to query in a consistent way across Grafana (#47613)
* Show query errors under each query row

* Testing a more plain error box

* Font size

* Make it green

* Nit UI

* Slight simplification of condition

* New design

* Update

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-04-14 12:57:56 +02:00
Ryan McKinley
f80a0d2a9b
PanelQueryRunner: use refId from results if the key value was not set in the packet (#47598) 2022-04-12 07:24:46 -07:00
Dominik Prokop
98cbecc4a5
Allow queries import when changing data source type (#47435)
* Enable queries import when changing datasource

* Supporting empty imports

* Review applied
2022-04-12 04:52:55 -07:00
Tom
ea7d5a6185
Transformers: Add template variable substitution (#44486)
* Transformers: Add template variable replacement to transformer operator

* Transformers: Add template variable replacement to calculateField transformer

* Transformers: Add scopedVars to transformer template replacement

* Transformers: Add calculateField template variable test

* Transformers: Fix 'undefined' is not assignable to type 'string'

* Transformers: Fix lint-frontend bug

* Fix lint check

* Fix lint
2022-03-18 10:25:53 +00:00
Hugo Häggmark
dbec2b02fd
Variables: move state tree into a keyed state (#44642)
* Variables: move state tree into a keyed state

* Update public/app/features/variables/state/transactionReducer.ts

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Chore: fix prettier error

* Chore: renamed slices and lastUid

* Chore: rename toUidAction

* Chore: rename dashboardVariableReducer

* Chore: rename state prop back to templating

* Chore renames variable.dashboardUid

* Chore: rename toDashboardVariableIdentifier

* Chore: rename getDashboardVariable

* Chore: rename getDashboardVariablesState

* Chore: rename getDashboardVariables

* Chore: some more renames

* Chore: small clean up

* Chore: small rename

* Chore: removes unused function

* Chore: rename VariableModel.stateKey

* Chore: rename KeyedVariableIdentifier.stateKey

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-18 06:06:04 +01:00
Dominik Prokop
8bb3de3037
Analytics: Collect information about queries reordering (#45392) 2022-02-16 14:16:25 +01:00
Zoltán Bedi
da91c93f4a
QueryEditor: Fix setting panel state to done if query had no error (#45453) 2022-02-16 11:48:22 +01:00
Zoltán Bedi
befb2afccc
QueryEditor: Fix crash in angular panels when query have error (#45422) 2022-02-16 10:34:29 +01:00
Hugo Häggmark
10a9ca0ae1
Chore: Removes console outputs from runRequest.test.ts (#45375) 2022-02-15 11:12:26 +02:00
Jack Westbrook
979907e9dd
Chore: Set tsconfig target to ES6 (#44842)
* chore(tsconfig): update grafana/tsconfig to 1.2.0 for outputting es6

* rewrote the unsubscription part to use first().

* test: update failing tests to work with es6 output

* removed bug where we dispatch a promise instead of an array of ritch history.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-02-10 14:37:39 +01:00
renovate[bot]
d87cd6f26c
Update dependency prettier to v2.5.1 (#43473)
* Update dependency prettier to v2.5.1

* prettier fixes

* chore(toolkit): bump prettier to 2.5.1

* style(eslint): bump grafana config to 2.5.2 in core and toolkit

* style(mssql-datasource): fix no-inferrable-types eslint errors

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-02 12:02:32 +00:00
Torkel Ödegaard
64e1e91403
PromQueryBuilder: Query builder and components that can be shared with a loki query builder and others (#42854) 2022-01-31 06:57:14 +00:00
Kyle Brandt
74193b3c1b
SSE: Remove beta tooltip (#43912) 2022-01-20 08:52:36 -05:00
Travis Patterson
959723050f
Fix change to mixed bahavior (#44179)
- If the datasource is already set to mixed, don't change any queries in the editor
2022-01-18 13:54:51 -07:00
Artur Wierzbicki
3ca3b7f432
fix query over live error - getQueryData should wait for centrifuge to initialize (#43880) 2022-01-11 10:07:08 +04:00
Nathan Rodman
0dd88d9480
only show datasources that support alerting in query editor (#43776) 2022-01-07 09:27:20 -08:00
Torkel Ödegaard
9f05aa736c
Panel: Support using $__interval and $__interval_ms in panel title 2021-12-16 12:05:00 +01:00
Artur Wierzbicki
84ae13fe5d
Live: keep stream history on 'refresh' (#41492)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-15 11:01:55 -08:00
Josh Hunt
62e55f4724
Chore: Refactor QueryRunner to remove type assertions (#42329) 2021-11-26 10:28:13 +00:00
Hugo Häggmark
67a1052334
Dashboard: Fix cache timeout persistence (#42204)
* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* WIP: Mob session work 🚧🔱

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: kay delaney <kay@grafana.com>
2021-11-24 14:24:33 +01:00
Todd Treece
dad54d499b
add support for conditionally rendering extraRenderActions (#41783) 2021-11-17 06:05:39 -05:00
Ryan McKinley
bce7cb3ebf
DatasourceRef: keep uid/type ref when using template variables (#41785) 2021-11-17 07:55:12 +01:00
Torkel Ödegaard
51ef770c2b
UpdateQueries: Fixes issues setting datasource on queries after changing type (#41702) 2021-11-15 18:15:13 +01:00
Josh Hunt
ecb877cb24
Snapshots: Fix panel inspector for snapshot data (#41530) 2021-11-10 12:40:04 +01:00
Torkel Ödegaard
c96c92d712
Angular: Isolate angular more (#41440)
* Getting close

* Restore angular app boot at startup

* Moving angular annotations dependencies to app/angular or old graph

* Remove redundant setLinkSrv call

* Fixing graph test

* Minor refactor based on review feedback

* Create in get function
2021-11-10 11:05:36 +01:00
Ryan McKinley
3489721ed6
api/ds/query: simplify data sources lookup for queries and expressions (#41172) 2021-11-05 08:12:55 -07:00
Ryan McKinley
d360e48174
MixedDatasource: fix datasource selection after edit (#41178) 2021-11-02 09:48:46 +01:00
Ryan McKinley
7319efe077
Dashboard: replace datasource name with a reference object (#33817)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Elfo404 <me@giordanoricci.com>
2021-10-29 10:57:24 -07:00
Ryan McKinley
ad69de4a10
AppEvents: export appEvents in @grafana/runtime and support copy panel (#40715) 2021-10-20 13:01:21 -07:00
Domas
51a152456f
fix unified alerting enabled checks (#40693) 2021-10-20 15:45:26 +03:00
Alex Khomenko
026006290b
QueryGroup: Add missing keys for extra group action components (#40619) 2021-10-20 08:02:39 +02:00
Travis Patterson
3fb8b87972
Add on datasource change to optional components -- alt -- (#40239)
* Add onDataSourceChange to optional components

- Fixes a bug where the user can select  twice and overwrite all queries
- Adds handler to control main datasoruce selection to the optional components.

* only pass onDatasource change when necessary
2021-10-13 09:49:40 -06:00
Torkel Ödegaard
d62ca1283c
PanelState: Introduce a new separate redux panel state not keyed by panel.id (#40302)
* Initial pass to move panel state to it's own, and make it by key not panel.id

* Progress

* Not making much progress, having panel.key be mutable is causing a lot of issues

* Think this is starting to work

* Began fixing tests

* Add selector

* Bug fixes and changes to cleanup, and fixing all flicking when switching library panels

* Removed console.log

* fixes after merge

* fixing tests

* fixing tests

* Added new test for changePlugin thunk
2021-10-13 08:53:36 +02:00
kay delaney
c443f244a0
A11y/Dashboard: Fix misc. fastpass issues (#40296)
* A11y/Dashboard: Fix misc. fastpass issues
See #39429
2021-10-12 13:26:01 +01:00
Domas
571257226e
Alerting: make alert state indicator in panel header work with Grafana 8 alerts (#38713) 2021-10-11 16:55:45 +03:00
Giordano Ricci
95d9722afa
Fix: prevent queryDisplyText in QueryRowHeader from overflowing (#40094)
* Revert "Fix Query Editor Row horizontal overflow (#39419)"

This reverts commit 42b1fa0f62.

* fix: prevent queryDisplyText in QueryRowHeader from overflowing
2021-10-07 09:13:07 +01:00
Torkel Ödegaard
e0b576fff4
PanelContext: Adds app property of type CoreApp enum to inform panel about what the outer container/app is (#39952)
* PanelContext: Adds a container enum / string to inform panel about what the outer container/app state is

* Changing to use existing CoreApp

* fixing unified alerting type errors
2021-10-05 08:07:57 +02:00
Alex Khomenko
d6fd17531d
QueryEditor: Add missing keys to extra action components (#39913) 2021-10-04 09:05:43 +03:00
Andrew Hackmann
184fa2a227
QueryActionComponent: Add dataSourceRef to ActionComponetProps (#39486)
* Add dataSourceRef to ActionComponetProps

* pass whole datasource instance settings into modal

Co-authored-by: Travis Patterson <travis.patterson@grafana.com>
2021-09-27 07:40:19 -06:00
Giordano Ricci
42b1fa0f62
Fix Query Editor Row horizontal overflow (#39419) 2021-09-21 09:14:41 +01:00
Andrew Hackmann
d96a9171ae
Recorded Queries: Adding create and add recorded query buttons to (#38049)
* add create and add buttons that will be linked to enterprise

* wip

* wip

* clean up

* Co-authored-by: Travis Patterson <masslessparticle@gmail.com>
Added Query Modal that can be accessed from enterprise.

* reset docs

* reset docs

* docs changing

* docs

* docs

* unexporting props

* added generic ways to add more query actions and create actions

* cleanup

* adding internal tag

* adding onAddQuery to props so actions can add queries

* created a single query action component

* adding partial to query

* casting dataquery

Co-authored-by: Travis Patterson <travis.patterson@grafana.com>
2021-09-20 09:36:04 -05:00
Giordano Ricci
f79173c99d
Explore: Reuse Dashboard's QueryRows component (#38942)
* WIP

* Functional without custom wrapper component, needs highlight

* Remove latency from explore

* Sync eventbus

* Some cleanup & removal of unused code

* Avoid clearing queries when running all empty queries

* Run remaining queries when removing one

* Update snapshots

* fix failing tests

* type cleanup

* Refactor QueryRows

* update snapshot

* Remove highlighter expressions

* minor fixes in queryrows

* remove unwanted change

* fix failing e2e test

* Persist refId in explore url state

* make traces test slightly more robust

* add test for query duplication
2021-09-15 16:26:23 +01:00
Hugo Häggmark
419ead99aa
Annotations: Fixes blank panels for queries with unknown data sources (#39017)
* Annotations: Fixes blank panels for queries with unknown data sources

* Chore: fixes strict typescript error
2021-09-09 13:43:05 +02:00
Jack Westbrook
8d3b31ff23
Build: Upgrade Webpack 5 (#36444)
* build(webpack): bump to v5 and successful yarn start compilation

* build(webpack): update postcss dependencies

* build(webpack): silence warnings about hash renamed to fullhash

* build(webpack): enable persistent cache to store generated webpack modules / chunks

* build(webpack): prefer eslintWebpackPlugin over tschecker so eslint doesn't block typechecking

* chore(yarn): run yarn-deduplicate to clean up dependencies

* chore(yarn): refresh lock file after clean install

* build(webpack): prefer output.clean over CleanWebpackPlugin

* build(webpack): prefer esbuild over babel-loader for dev config

* build(babel): turn off cache compression to improve build performance

* build(webpack): get production builds working

* build(webpack): remove phantomJS (removed from grafana in v7) specific loader

* build(webpack): put back babel for dev builds no performance gain in using esbuild in webpack

* build(webpack): prefer terser and optimise css plugins for prod. slower but smaller bundles

* build(webpack): clean up redundant code. inform postcss about node_modules

* build(webpack): remove deprecation warnings flag

* build(webpack): bump packages, dev performance optimisations, attempt to get hot working

* chore(storybook): use webpack 5 for dev and production builds

* build(storybook): speed up dev build

* chore(yarn): refresh lock file

* chore(webpack): bump webpack and related deps to latest

* refactor(webpack): put back inline-source-map, move start scripts out of grafana toolkit

* feat(webpack): prefer react-refresh over react-hot-loader

* build(webpack): update webpack.hot to use react-refresh

* chore: remove react-hot-loader from codebase

* refactor(queryeditorrow): fix circular dependency causing react-fast-refresh errors

* revert(webpack): remove stats.errorDetails from common config

* build(webpack): bump to v5 and successful yarn start compilation

* build(webpack): update postcss dependencies

* build(webpack): silence warnings about hash renamed to fullhash

* build(webpack): enable persistent cache to store generated webpack modules / chunks

* build(webpack): prefer eslintWebpackPlugin over tschecker so eslint doesn't block typechecking

* chore(yarn): run yarn-deduplicate to clean up dependencies

* chore(yarn): refresh lock file after clean install

* build(webpack): prefer output.clean over CleanWebpackPlugin

* build(webpack): prefer esbuild over babel-loader for dev config

* build(babel): turn off cache compression to improve build performance

* build(webpack): get production builds working

* build(webpack): remove phantomJS (removed from grafana in v7) specific loader

* build(webpack): put back babel for dev builds no performance gain in using esbuild in webpack

* build(webpack): prefer terser and optimise css plugins for prod. slower but smaller bundles

* build(webpack): clean up redundant code. inform postcss about node_modules

* build(webpack): remove deprecation warnings flag

* build(webpack): bump packages, dev performance optimisations, attempt to get hot working

* chore(storybook): use webpack 5 for dev and production builds

* build(storybook): speed up dev build

* chore(yarn): refresh lock file

* chore(webpack): bump webpack and related deps to latest

* refactor(webpack): put back inline-source-map, move start scripts out of grafana toolkit

* feat(webpack): prefer react-refresh over react-hot-loader

* build(webpack): update webpack.hot to use react-refresh

* chore: remove react-hot-loader from codebase

* refactor(queryeditorrow): fix circular dependency causing react-fast-refresh errors

* revert(webpack): remove stats.errorDetails from common config

* revert(webpack): remove include from babel-loader so symlinks (enterprise) work as before

* refactor(webpack): fix deprecation warnings in prod builds

* fix(storybook): fix failing builds due to replacing css-optimise webpack plugin

* fix(storybook): use raw-loader for svg icons

* build(webpack): fix dev script colors error

* chore(webpack): bump css-loader and react-refresh-webpack-plugin to latest versions

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-08-31 12:55:05 +02:00
Kyle Brandt
aef67994a1
Annotations: Fix alerting annotation coloring (#37412)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-08-12 09:37:54 -07:00
Torkel Ödegaard
863b412d54
Transformations: State feature (alpha/beta) and more (#36630)
* Adding plugin state feature to transforms

* initial help box

* New HelpBox component

* More progress

* Testing

* Removing HelpBox, simple new design, new active state for OperationRowAction

* Updated tests

* Fixed typing issue

* Removed AlphaNotice

* Made focus and enter key trigger OnClick and sorted transformations

* Fixed e2e tests
2021-07-12 16:42:04 +02:00
Hugo Häggmark
b741245960
DashboardQueryRunner: Fixes unrestrained subscriptions being created (#36371) 2021-07-02 10:52:13 +02:00
Hugo Häggmark
3999d670cf
Chore: adds buffersize to ReplaySubject (#36286) 2021-06-30 09:05:04 +02:00
Hugo Häggmark
3395142ece
Chore: Refactors flaky Frontend test (#35645)
* Chore: Refactors flaky Frontend test

* Refactor: update after PR comments
2021-06-15 13:33:24 +02:00
kay delaney
0f81703c35
Chore: Fix more strict typescript errors (#35514) 2021-06-14 15:13:48 +01:00
Torkel Ödegaard
75ff02a9fb
Annotations: Fix annotation line and marker colors (#35608) 2021-06-14 11:36:33 +02:00
Hugo Häggmark
35168764c3
Chore: Fix observable function in DashboardQueryRunnerImpl (#35398) 2021-06-09 07:39:09 +02:00
Marcus Andersson
456b356f21
Expressions: updating copy from experimental to beta. (#35149) 2021-06-04 15:18:21 +02:00
Hugo Häggmark
a7606d130e
Annotations: Fix so annotations work in panel edit (#35195) 2021-06-04 10:55:14 +02:00
Peter Holmberg
23cf31a567
Alerting: Move Visualization to QueryRow (#34658)
* move visualization to queryeditorrow

* add prop to hide disable query

* move panel plugin state outside the vizwrapper
2021-05-27 10:46:06 +02:00
Torkel Ödegaard
ec33bae8d4
PanelEdit: Add data source label to data source picker dropdown (#34605)
* PanelEdit: Add data source label to data source picker dropdown

* Updated based on ux feedback
2021-05-26 08:59:49 +02:00
Piotr Jamróz
8d05df83ed
CustomScrollbar: Invoke setScrollTop callback only after scrolling finishes (#34263)
* Invoke setScrollTop callback only after scrolling finishes

When the state is updated while scroll events are being dispatched (like in QueryGroup) it may cause resetting the scroll position to the first emitted event because setting the scroll happens only after render (useEffect).

* Memoize onScrollStop callback
2021-05-24 10:34:37 +02:00
Ryan McKinley
40139a7ea9
PanelQueryRunner: only skip applyFieldOverrides when streaming (#34438) 2021-05-19 22:00:00 -07:00
Torkel Ödegaard
fffff70d46
MinMax: Highlight issues with skipping field overrides (#33672)
* MinMax: Highlight issues with skipping field overrides

* check global range

* more selective

* basic test

* moved into getFieldDisplayValues

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-05-13 10:06:54 +02:00
Marcus Andersson
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
Peter Holmberg
0006765a40
Alerting: Run queries (#33423)
* 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

* added structure for marble testing.

* change so the expression buttons doesnt submit form.

* fixed run button.

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

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

* improving expression guard.

* Update public/app/features/alerting/components/AlertingQueryEditor.tsx

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

* fixed some nits.

* some refactoring after feedback.

* use grafanthemev2

* rename grafanatheme

* fixing so we convert to correct relative time range.

* added some more tests.

* fixing so duplicating query works.

* added some more tests without marbles.

* small refactoring to share code between runRequest and alerting query runner.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-05-04 16:31:25 +02:00
Torkel Ödegaard
f2e4f41f69
Alerting: Support for alerting for react panels, and lots of fixes to alert annotations for both react and angular (#33608)
* Alerting: Support for alerting for react panels, and lots of fixes to alert annotations for both react and angular

* Fix showing annotations in panel edit
2021-05-03 08:52:05 +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
Torkel Ödegaard
017bcc73ba
Theme: Move displayProcessor & fieldOverrides & visualizations to use new theme model (#33502)
* WIP updating getColorForTheme

* Progress

* More fixes

* Updating more parts

* Fixing unit tests

* Fixing more tests

* Fixing storybook issues

* More refactoring

* Fixed test
2021-04-29 12:44:06 +02:00
Torkel Ödegaard
e977085933
PanelQueryRunner: Clear field state between query results (#33504)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-04-29 08:02:33 +02:00
Ryan McKinley
1f4154a50d
QueryRunner: update frame length when skipping processing (#33508) 2021-04-28 15:13:04 -07:00
Alex Khomenko
6d95f2f1db
Chore: Update typescript to v4.2.4 (#33297)
* Update typescript to v4.2.4

* Update @types/slate

* Fix QueryVariableEditor.test.tsx

* Fix search-related type errors

* Fix Plugin pages type errors

* Fix missing initializer errors

* Update snapshot

* Revert tsconfig changes
2021-04-28 15:40:01 +03:00
Hugo Häggmark
ca85012865
Annotations: Adds loading indicators and cancellation (#33404) 2021-04-27 10:03:52 +02:00
Hugo Häggmark
a3584f21de
Annotations: Turns on annotations in Graph and TimeSeries (#33402)
* Annotations: Turns on annotations in Graph and TimeSeries

* Refactor: moves to notPersistedProperties
2021-04-27 07:39:02 +02:00
kay delaney
999f139868
DashboardQueryRunner: Implements opt-in subscribe logic (#33370)
* DashboardQueryRunner: Implements opt-in subscribe logic
2021-04-26 13:50:08 +01:00
Hugo Häggmark
19739f4af2
Annotations: Adds DashboardQueryRunner (#32834)
* WIP: initial commit

* Fix: Fixed $timeout call when testing snapshots

* Chore: reverts changes to metrics_panel_ctrl.ts

* Chore: reverts changes to annotations_srv

* Refactor: adds DashboardQueryRunner.run to initdashboard

* Refactor: adds run to dashboard model start refresh

* Refactor: move to own folder and split up into smaller files

* Tests: adds tests for LegacyAnnotationQueryRunner

* Tests: adds tests for AnnotationsQueryRunner

* Tests: adds tests for SnapshotWorker

* Refactor: renames from canRun|run to canWork|work

* Tests: adds tests for AlertStatesWorker

* Tests: adds tests for AnnotationsWorker

* Refactor: renames operators

* Refactor: renames operators

* Tests: adds tests for DashboardQueryRunner

* Refactor: adds mergePanelAndDashboardData function

* Tests: fixes broken tests

* Chore: Fixes errors after merge with master

* Chore: Removes usage of AnnotationSrv from event_editor and initDashboard

* WIP: getting annotations and alerts working in graph (snapshot not working)

* Refactor: fixes snapshot data for React panels

* Refactor: Fixes so snapshots work for Graph

* Refactor: moves alert types to grafana-data

* Refactor: changes to some for readability

* Tests: skipping tests for now, needs rewrite

* Refactor: refactors out common static functions to utils

* Refactor: fixes resolving annotations from dataframes

* Refactor: removes getRunners/Workers functions

* Docs: fixes docs errors

* Docs: trying to fix doc error

* Refactor: changes after PR comments

* Refactor: hides everything behind a factory instead

* Refactor: adds cancellation between runs and explicitly
2021-04-26 06:13:03 +02:00
Torkel Ödegaard
7e2bf4f6c3
Theming: Make new theme exposed by ThemeContext and make new theme include v1 for compatability (to pass to useTheme) (#33207)
* WIP: Making new theme the default

* Progress

* Updates, lots of updates

* Things are working

* Fixed issues with storybook

* Fixed tests
2021-04-21 14:25:43 +02:00