Commit Graph

3018 Commits

Author SHA1 Message Date
kay delaney
f5bd325354
A11y: Add focus styles to dashboard toolbar links (#35895) 2021-06-23 12:03:44 +01:00
Torkel Ödegaard
f0cac149da
DashboardGrid: Refactorings and performance improvements (#35942)
* add back only re-render dashboard first time on layout change

* remove panel refs

* Updates

* Improved is in view logic

* Updates

* Remove unnessary auto sizer

* Found another approach that works with resize as well

* Updates

* fixing test

* Fixing ref issues

* Fixed mobile size handling, and view panel handling, removed now unnessary logic

* Updated snapshot
2021-06-22 14:44:18 +02:00
Torkel Ödegaard
9e53b44f35
FieldOverrides: Support changing display name in override and have it be matched by later rule (#35893)
* FieldOverrides: Support changing display name in override that can be matched by later rule

* Fixed test
2021-06-19 07:36:59 +02:00
Torkel Ödegaard
7aaf813751
ButtonGroup: Support nested buttons within button groups (#35884)
* ButtonGroup: Support nested buttons within button groups

* removed files

* Fixes
2021-06-18 09:09:47 +02:00
Torkel Ödegaard
333932812d
Dashboard: Fixes blank / empty panels after duplicate and add library panel (#35906) 2021-06-18 08:54:11 +02:00
Jack Westbrook
0fea1cf970
PanelEdit: VisulizationPicker doesn't show if panel has an unknown panel plugin (#35831)
* feat(dashboard): introduce selector with fallback for unknown plugin

* refactor(dashboard): replace redux connect with redux hooks

* fix(dashboard): add a fallback for vizpicker when a panel plugin cannot be found

* feat(dashboard): add an icon for fallback plugins for vizpicker

* refactor(dashboard): prefer HOF selector
2021-06-17 15:18:05 +02:00
Vicky Lee
768c190bc0
test: fix e2e dashboard and configure panel flows for Grafana 8 (#35498)
* fix e2e flows

* trigger build

* remove aria-label
2021-06-17 08:31:43 +01:00
Josh Myers
eb7dd8e377
Dashboard: protect against missing overrides section (#35577)
* Protect against missing overrides section

We are using grafonnet-lib to generate dashboards. These dashboards do
not contain any `override` keys in `fieldConfig` by default and that is
causing this DashboardMigrator script to blow up when trying to import
the dashboards, see [1]. In Grafana v7, an empty overrides is
automatically added but using grafonnet-lib, it isn't possible to set an
empty overrides attribute e.g. [2] requires matcher/properties to be
set. Setting to null ends up giving me [3], which causes the panel to
not be displayed.

[1]
```
initDashboard.ts:137 TypeError: t.overrides is not iterable
    at v.w (DashboardMigrator.ts:960)
    at v.updateSchema (DashboardMigrator.ts:672)
    at D.updateSchema (DashboardModel.ts:993)
    at new D (DashboardModel.ts:156)
    at initDashboard.ts:134
```

[2]
https://github.com/grafana/grafonnet-lib/blob/master/grafonnet/stat_panel.libsonnet#L150-L164

[3]
```
"fieldConfig": {
   "defaults": {
      "links": [ ],
      "mappings": [ ],
      "thresholds": {
         "mode": "absolute",
         "steps": [
            {
               "color": "red",
               "value": 0
            },
            {
               "color": "orange",
               "value": 1
            },
            {
               "color": "green",
               "value": 3
            }
         ]
      },
      "unit": "none"
   },
   "overrides": [
      { }
   ]
},
```

* Update public/app/features/dashboard/state/DashboardMigrator.ts

Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
2021-06-17 08:33:36 +02:00
Torkel Ödegaard
cfae7d8b97
Events: Migrate old timeRangeUpdate event to new event system to get rid of console.log warning (#35767)
* Events: Migrate old timeRangeUpdate event to new event system to get rid of console.log warning

* Review feedback
2021-06-16 15:44:50 +02:00
Maria Alexandra
182b03aa8f
Dashboard Settings: Fix TimeZone dropdown doesn't change the timezone (#35680)
* Use redux action to update dashboard.timezone
* Added unit test

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-06-16 08:31:16 +02:00
Maria Alexandra
b774dd9b1a
Dashboard: Fix changes doesn't reflect after changing panel sizes in inspect JSON and click on apply (#35276)
* Trigger DashboardPanelsChangedEvent from InspectJSONTab if the panel.gridPos changed and if the dashboard needs to re-render, if yes we will  that will update the positioning
* Minor cleanup

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-06-15 14:12:32 +02:00
Uchechukwu Obasi
6ee2f1fe3e
Add Panel: fixes No gap between rows in safari (#35570)
* Add Panel: fixes No gap between rows in safari

* removes extra margin from bottom and far right

* fixes frontend test

* make add panel actions accessible and rewrite test using RTL
2021-06-14 15:12:56 +01:00
Dominik Prokop
08bc2b402b
ValueMappings: Improve singlestat value mappings migration (#35578)
* Migrate singlestat value mappings to new value mappings

* Update public/app/features/dashboard/state/DashboardMigrator.ts

* Update migration to produce single value map
2021-06-14 13:47:34 +02:00
Torkel Ödegaard
7599ab8217
PanelEdit: Always have bottom border to make sections easier to see when expanded (#35565) 2021-06-14 12:41:09 +02:00
Ryan McKinley
056e17216e
Stat: improve color mode migration from singlestat panels (#35538) 2021-06-11 18:03:30 +02:00
Torkel Ödegaard
4907d09ffe
Snapshots: Remove dashboard links from snapshots (#35567) 2021-06-11 17:42:42 +02:00
Torkel Ödegaard
f884381a68
Theme: Change white base in dark theme (#35564)
* Theme: Change white base in dark theme

* Updated

* Updated snapshots
2021-06-11 17:33:56 +02:00
Ashley Harrison
60f79a3548
Dashboard: handle the case where refresh_intervals could be null (#35511)
* handle the case where refresh_intervals === null + add unit test

* have a clean _dashboard for each test

* modify check to see if refresh_intervals is an array
2021-06-11 16:20:18 +01:00
Torkel Ödegaard
b3a2740d57
Dashboard: Fixes Dashboard init failed error on dashboards with old singlestat panels in collapsed rows 2021-06-09 15:41:59 +02:00
Torkel Ödegaard
26027fea2a
Dashboard: Removed console log prompt (#35366) 2021-06-08 13:48:17 +02:00
Ryan McKinley
351400b82e
Panels: avoid crash while switching between panels types (#35286) 2021-06-04 12:11:04 -07:00
Dimitris Sotirakis
1c49986b2f
Chore: Remove endpoints that contain the slug field (#35104)
* Chore: Remove endpoints that contain the slug field

* More cleanups

* Lint fixes

* Remove unnecessary funcs

* Cleanup frontend code

* Remove deprecated endpoints from docs

* Revert change according to reviewer's comments
2021-06-03 16:20:13 +03:00
Torkel Ödegaard
e6f2b10a36
ChangeTracker: Unified unsaved changes handling with library panels (#34989)
* UnsavedChanges: Move Change tracker to use Prompt

* Fix a lot of race conditions and stacking of changes in onConfirm and onDismiss

* Listen to save event

* add missing delay argument

* migrated the change tracker unit tests

* Updated snapshot

* Removed unessary action

* removed updateSourcePanel

* Fix hiding save library panel modal prompt when clicking discard

* change saved libray panel title and buttons so they are a bit different as Prompt and when used from save button

* Fixed issue with saving new dashboard

* Now all scenarios work

* increase wait time

* Fixed one more race condition
2021-06-02 12:24:19 +02:00
kay delaney
2e38bbf751
Chore: Reduce number of strict typescript errors (#34595) 2021-06-01 13:47:29 +01:00
Maria Alexandra
ff03b456f1
Dashboard: Fix Table view when editing causes the panel data to not update (#34998)
* Dashboard: Fix Table view when editing causes the panel data to not update

- Add event subscription on PanelEditorTableView
- Extract runAllPanelQueries into Panel Model in order to use it on PanelChrome and PanelEditorTableView
- Add simple unit test for runAllQueryPaneQueries
2021-06-01 13:52:08 +02:00
Jack Westbrook
fd028fd798
DashboardLinks: Fix dropdown positioning (#34909) 2021-05-31 09:01:12 +02:00
ying-jeanne
b391e43472
[Dashboard] Revert feature toggle trimdefaults (#34888)
* Revert "solve comments and retrigger the test"

This reverts commit f08d2d9eca.

* Revert "update api doc"

This reverts commit cc09ceb853.

* Revert "remove post trim"

This reverts commit 46fe8ed596.

* Revert "fix typo"

This reverts commit 3b3ceee16e.

* Revert "Apply suggestions from code review"

This reverts commit 3b7f3b8e15.

* Revert "update comments"

This reverts commit b9c6260876.

* Revert "update doc"

This reverts commit 8e4c4d7c93.

* Revert "remove feature toggle + add libraryPaneldefinition"

This reverts commit d01cfcc2ed.

* fix some typos

* Update public/app/features/dashboard/components/ShareModal/ShareExport.tsx

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

* Update docs/sources/dashboards/export-import.md

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

* fix comments

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-05-28 22:29:30 +02:00
Jack Westbrook
8ced249c91
AddPanelWidget: Add padding to prevent top being cut off (#34806)
* fix(dashboardpage): add padding so add panel chrome isnt cut off

* fix(addpanelwidget): introduce wrapping element to cater for pulsate animation offset

* refactor(addpanelwidget): use spacing.xs rather than spacing.sm

* test(addpanelwidget): update snapshot
2021-05-27 15:28:09 +02:00
Torkel Ödegaard
ca79d08dd8
PanelChrome: Fix issue with empty panel after adding a non data panel and coming back from panel edit (#34765)
* PanelChrome: Fix issue with empty panel after adding a non data panel and coming back from panel edit

* Removed the console.log
2021-05-27 12:19:06 +02:00
ying-jeanne
c59a2e1bcf
remove feature toggle + add libraryPaneldefinition (#34488)
* remove feature toggle + add libraryPaneldefinition

* update doc

* update comments

* Apply suggestions from code review

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

* fix typo

* remove post trim

* update api doc

* solve comments and retrigger the test

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-05-27 11:14:58 +02:00
Dominik Prokop
811704fd2e
PanelEdit: Allow standard field config properties extensions without altering order of standard options (#34669)
* Render tooltip options in correct category

* Allow custom field config properties that extend standard categories
2021-05-27 10:36:45 +02:00
Torkel Ödegaard
6394a60a08
Dashboard: Fixes issue with title or folder change has no effect after exiting settings view (#34677)
* Dashboard: Fixes issue with title or folder change has no effect after existing settings view

* Updates snapshot
2021-05-27 10:07:51 +02:00
Jack Westbrook
bcc7bd9dd3
VisualisationPicker: allow scrolling in Safari (#34717) 2021-05-26 11:45:50 +02:00
Jack Westbrook
ad3b0b2272
PageToolbar: add bottom padding (#34602)
* fix(pagetoolbar): pad elements top and bottom to keep vertical align and wrapper padding

* fix(sidemenu): prevent mobile sidemenu squashing dashboard, vertically align mobile sidemenu icon

* fix(dashboardsettings): prevent subheader overlap

* fix(pagetoolbar): center align all toolbar elements vertically

* refactor(pagetoolbar): combine vertical paddings to bring back original padding values

* refactor: update padding values for components that use PageToolbar

* fix(playlists): update Empty cta link route to prevent 404

* test(dashboard): update snapshot
2021-05-26 10:49:39 +02:00
Torkel Ödegaard
888683a8ad
RowOptions: Fix enter key updating row options (#34586) 2021-05-24 16:21:54 +02:00
Uchechukwu Obasi
395d7eb74c
DashboardRow: fixes time variable not updating when used in row title (#34523)
* DashboardRow: fixes time variable not updating when used in row title

* adds test cases for subscribe event
2021-05-24 14:28:26 +01: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
Torkel Ödegaard
d0769397b2
Histogram: Fix crash when state was undefined (when combine was enabled) (#34514) 2021-05-20 17:36:20 +02:00
Ryan McKinley
22043d7872
Chore: improve the "Actual" size calculation (#34345) 2021-05-19 08:42:45 -07:00
Uchechukwu Obasi
5a449d5963
DashboardSettings: fixes collapsable dropdown overflowing its parent container (#34377) 2021-05-19 13:48:04 +01:00
Ryan McKinley
855da80542
Panel Inspect: allow plugins to add custom actions to the panel inspect popup (#34086) 2021-05-18 13:55:35 -07:00
Marcus Andersson
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
Maria Alexandra
0e207c4133
Dashboard: Fix Editing a panel with auto-refresh enabled auto-refresh in the edit screen (#34128)
* Dashboard: Fix editing panel with auto-refresh

- Add default hidden and disabled auto-refresh option on the editing panel
- Extend unit test for DashboardModel
- Add unit test DashNavTimeControls component
2021-05-18 10:20:11 +02:00
Domas
a26507e9c4
Alerting: update panel alert tab (#33850) 2021-05-17 10:39:42 +03:00
Torkel Ödegaard
6203f14bfb
LazyLoading: Fix queries being issued again when scrolling a panel in and out of view (#34061) 2021-05-14 19:33:47 +02:00
Hugo Häggmark
57d898cd5a
Variables: Refreshes all panels even if panel is full screen (#34097)
* Variables: Refreshes all panels even if panel is full screen

* Chore: updates after PR comments
2021-05-14 10:42:33 +02:00
kay delaney
c6dd19f163
Library Panels: Fix error when changing viz of panel with multiple instances (#33915) 2021-05-12 09:42:17 +01:00
Hugo Häggmark
69d9f427e1
LibraryPanels: removes feature toggle (#33839)
* WIP: intial structure

* Refactor: adds create library element endpoint

* Feature: adds delete library element

* wip

* Refactor: adds get api

* Refactor: adds get all api

* Refactor: adds patch api

* Refactor: changes to library_element_connection

* Refactor: add get connections api

* wip: in the middle of refactor

* wip

* Refactor: consolidating both api:s

* Refactor: points front end to library elements api

* Tests: Fixes broken test

* LibraryPanels: removes feature toggle

* Fix: fixes delete library elements in folder and adds tests

* Tests: fixes snapshot

* Refactor: adds service interfaces so they can be easily mocked

* Refactor: changes order of tabs in manage folder

* Refactor: fixes so link does not cover whole card

* Refactor: fixes index string name

* Update pkg/services/libraryelements/libraryelements.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/libraryelements/libraryelements_permissions_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/libraryelements/database.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Chore: changes after PR comments

* Update libraryelements.go

* Update libraryelements.go

* Chore: updates after PR comments

* Chore: trying to fix build error

* Refactor: fixed stupid mistake

* Update libraryelements.go

* Chore: tries to fix build errors

* Refactor: trying to fix MySQL key length

* Update libraryelements.go

* Update pkg/services/libraryelements/libraryelements.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/librarypanels/librarypanels.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Refactor: changes after PR comments

* Refactor: changes after PR comments

* Tests: fixes tests

* Refactor: renames connections to connectedDashboards

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-12 08:48:17 +02:00
Torkel Ödegaard
6d4376c16d
ValueMapping: Support for mapping text to color, boolean values, NaN and Null. Improved UI for value mapping. (#33820)
* alternative mapping editor

* alternative mapping editor

* values updating

* UI updates

* remove empty operators

* fix types

* horizontal

* New value mapping model and migration

* DataSource: show the uid in edit url, not the local id (#33818)

* update mapping model object

* Update to UI

* fixing ts issues

* Editing starting to work

* adding missing thing

* Update display processor to use color from value mapping

* Range maps now work

* Working on unit tests for modal editor

* Updated

* Adding new NullToText mapping type

* Added null to text UI

* add color from old threshold config

* Added migration for overrides, added Type column

* Added compact view model with color edit capability

* [Alerting]: store encrypted receiver secure settings (#33832)

* [Alerting]: Store secure settings encrypted

* Move encryption to the API handler

* CloudMonitoring: Migrate config editor from angular to react (#33645)

* fix broken config ctrl

* replace angular config with react config editor

* remove not used code

* add extra linebreak

* add noopener to link

* only test jwt props that we actually need

* Elasticsearch: automatically set date_histogram field based on data source configuration (#33840)

* Docs: delete from high availability docs references to removed configurations related to session storage (#33827)

* docs: delete from high availability docs references to removed configurations related to session storage

* docs: remove session storage mention and focus on the auth token implementation

* fix postgres to have precision of ms (#33853)

* Use ids for enterprise nav model items (#33854)

* Alerting: Disable dash alerting if NG enabled (#33794)

* Scuemata: Add grafana-cli cue schema validation to CI (#33798)

* Add scuemata validation in CI

* Fixes according to reviewer's comments

* Ensure http client has no timeout (#33856)

* Redact sensitive values before logging them (#33829)

* use a common way to redact sensitive values before logging them

* fix panic on missing testCase.err, simplify require checks

* fix a silly typo

* combine readConfig and buildConnectionString methods, as they are closely related

* Tempo: Search for Traces by querying Loki directly from Tempo (#33308)

* Loki query from Tempo UI

- add query type selector to tempo
- introduce linkedDatasource concept that runs queries on behalf of another datasource
- Tempo uses Loki's query field and Loki's derived fields to find a trace matcher
- Tempo uses the trace-to-logs mechanism to determine which dataource is linked

Loki data loads successfully via tempo

Extracted result transformers

Skip null values

Show trace on list id click

Query type selector

Use linked field trace regexp

* Review feedback

* Add isolation level db configuration parameter (#33830)

* add isolation level db configuration parameter

* add isolation_level to default.ini and sample.ini

* add note that only mysql supports isolation levels for now

* mention isolation_level in the documentation

* Update docs/sources/administration/configuration.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>

* Drawer: fixes title overflowing its container (#33857)

* Timeline: move grafana/ui elements to the panel folder (#33803)

* revendor loki with new Tripperware (#33858)

* live: move connection endpoint to api scope, fixes #33861 (#33863)

* OAuth: Add support for empty scopes (#32129)

* add parameter empty_scopes to override scope parameter with empty value and thus be able to authenticate against IdPs without scopes. Issue #27503

Update docs/sources/auth/generic-oauth.md

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

* updated check according to feedback

* Update generic-oauth.md

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

* Prometheus: Fix exemplars hover disappearing and broken link (#33866)

* Revert "Tooltip: eliminate flickering when repaint can't keep up (#33609)"

This reverts commit e159985aa2.

* Fix exemplar linking

Co-authored-by: David Kaltschmidt <david.kaltschmidt@gmail.com>

* Removed content as per MarcusE's suggestion in https://github.com/grafana/grafana/issues/33822. (#33870)

* Fixed grammar usage. (#33871)

* Explore: Wrap each panel in separate error boundary (#33868)

* New Panel: Histogram (#33752)

* Sanitize PromLink button (#33874)

* Refactor and unify option creation between new visualizations (#33867)

* Refactor and unify option creation between new visualizations

* move to grafana/ui

* move to grafana/ui

* resolve duplicate scale config

* more imports

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

* Live: do not show connection warning when on the login page (#33865)

* enforce receivers align with backend type when posting AM config (#33877)

* special values

* merge fix

* Document `hide_version` flag (#33670)

Unauthenticated users can be barred from being shown the current Grafana server version since https://github.com/grafana/grafana/pull/24919

* GraphNG: always use "x" as scaleKey for x axis (#33884)

* Timeline: add support for strings & booleans (#33882)

* Chore(deps): Bump hosted-git-info from 2.8.5 to 2.8.9 (#33886)

Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.5 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.5...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* merge with torkel

* add empty special character

* Fixed centered text in special value match select

* fixed unit tests

* Updated snapshot

* Update dashboard page

* updated snapshot

* Fix more unit tests

* Fixed test

* Updates

* Added back tests

* Fixed doc issue

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
Co-authored-by: Erik Sundell <erik.sundell@grafana.com>
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
Co-authored-by: Daniel dos Santos Pereira <danield1591998@gmail.com>
Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
Co-authored-by: David <david.kaltschmidt@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Uchechukwu Obasi <obasiuche62@gmail.com>
Co-authored-by: Owen Diehl <ow.diehl@gmail.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
Co-authored-by: jvoeller <48791711+jvoeller@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Co-authored-by: Tristan Deloche <tde@hey.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 17:10:23 +02:00
Dominik Prokop
deeef321d3
Unify tooltip options across visualizations (#33892)
* Unify tooltip options across visualizations

* Update tests

* use addTooltipOptions in piechart

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2021-05-11 15:46:12 +02:00
Hugo Häggmark
f1b2c750e5
LibraryElements: Adds library elements api and tables (#33741)
* WIP: intial structure

* Refactor: adds create library element endpoint

* Feature: adds delete library element

* wip

* Refactor: adds get api

* Refactor: adds get all api

* Refactor: adds patch api

* Refactor: changes to library_element_connection

* Refactor: add get connections api

* wip: in the middle of refactor

* wip

* Refactor: consolidating both api:s

* Refactor: points front end to library elements api

* Tests: Fixes broken test

* Fix: fixes delete library elements in folder and adds tests

* Refactor: changes order of tabs in manage folder

* Refactor: fixes so link does not cover whole card

* Update pkg/services/libraryelements/libraryelements.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/libraryelements/libraryelements_permissions_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/libraryelements/database.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Chore: changes after PR comments

* Update libraryelements.go

* Chore: updates after PR comments

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-11 07:10:19 +02:00
Dominik Prokop
9f8fa4212f
GraphNG - shared cursor (#33433)
* Initial work

* WIP add cursor in debug panel

* shared cursor.sync filter

* explicit uplot events

* explicit uplot events

* uplot events

* uplot events

* depend on master uplot

* sync sync sync

* Fix merge

* Get rid of PlotSyncContext and sync tooltip positions

* make sync optional

* Improve shared tooltip positioning

* Plugins: add level and signature badges to plugin details page (#33553)

* feat(grafana-ui): badge can accept react node for text, add shield-exclamation to icons

* feat(plugins): add PluginSignatureType type

* feat(pluginpage): introduce PluginSignatureDetailsBadge. Fix sidebar icon margin

* feat(pluginlistpage): update filterinput placeholder, introduce filter by plugin type

* Variables: Removes the never refresh option (#33533)

* Variables: Removes the never refresh option

* Tests: fixes DashboardModel repeat tests

* Tests: fixs snapshots

* Tests: fixes processVariable test

* Tests: fixes DashboardModel tests

* PageLayout: Fixes max-width breakpoint so that it triggers only when there is room for margin+ (#33558)

* Alerting: Remove datasource (name) from migration (#33544)

no longer needed as of https://github.com/grafana/grafana/pull/33416
for https://github.com/grafana/alerting-squad/issues/126

* Library panels: Adds description to library panels tab (#33428)

* CodeOwners: Set owners of unified alerting migration (#33571)

* ButtonSelect: updates component with the new theme model (#33565)

* EmptySearchResult: updates component with the new theme model (#33573)

* DashboardSettings: Slight design tweak to fix page toolbar padding and align design (#33575)

* DashboardSettings: Slight design tweak to fix page toolbar padding and align design

* Fixed font weight

* Removed comment

* Update

* gitignore: Ignore files for accesscontrol provisioning (#33577)

* Alerting/metrics (#33547)

* moves alerting metrics to their own pkg

* adds grafana_alerting_alerts (by state) metric

* alerts_received_{total,invalid}

* embed alertmanager alerting struct in ng metrics & remove duplicated notification metrics (already embed alertmanager notifier metrics)

* use silence metrics from alertmanager lib

* fix - manager has metrics

* updates ngalert tests

* comment lint
Signed-off-by: Owen Diehl <ow.diehl@gmail.com>

* cleaner prom registry code

* removes ngalert global metrics

* new registry use in all tests

* ngalert metrics impl service, hack testinfra code to prevent duplicate metric registrations

* nilmetrics unexported

* Add note to Snapshot API doc to specify that user has to provide the entire dashboard model  (#33572)

* Added note as suggested by Macus E.

* Update docs/sources/http_api/snapshot.md

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

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

* Alerting: backend "ng" code cleanup (#33578)

* AlertMigration: remove alert_rule UID db check (#33568)

do not believe this is needed due to uniqueness promised by shortid lib
since there is no provisioning yet. https://github.com/teris-io/shortid

* Live: persisting last message in cache for broadcast scope (#32938)

* Alerting: Load annotations from rule into State cache (#33542)

for https://github.com/grafana/alerting-squad/issues/127

* add template for dashboard url parameters  (#33549)

* Update dashboard-links.md

parameters with plain text like `var-something=value` can make confusion. 
template it to clarify .

* describe way for template link.

* AlertingMigration: Create alert_rule_version entry (#33585)

Create the alert rule version entry during the migration so it is consistent with rules created via api.
for https://github.com/grafana/alerting-squad/issues/123

* Build: Fix with cleanup call maybe? (#33590)

* add selector for code editor (#33554)

* broadcast over eventBus

* broadcasting to eventbus (but not useing it yet)

* merge master

* moved to context

* fix yarn.lock

* update snapshot

* Fix direct state mutation

* Persist location state on partial updates

* GraphNG- use getStream rather than subscribe

* Sync LegacyGraphHoverEvent with GraphNG

* Chenge plotRef signature

* use subscription

* subscription

* one fewer file

* Update types

* Remove unnecessary filtering

* Disable cursor sync when in edit mode

* GraphNG - bring back logging

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Uchechukwu Obasi <obasiuche62@gmail.com>
Co-authored-by: gamab <gamab@users.noreply.github.com>
Co-authored-by: Owen Diehl <ow.diehl@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
Co-authored-by: Nagle Zhang <nagle.zhang@sap.com>
Co-authored-by: Erik Sundell <erik.sundell@grafana.com>
2021-05-10 14:24:23 +02:00
Ryan McKinley
1e6eb70af0
PanelEditor: leave table view when changing the other display modes (#33826) 2021-05-09 22:19:52 -07:00
Torkel Ödegaard
724cbcd745
PanelEdit: Adds a table view toggle to quickly view data in table form (#33753)
* PanelEdit: Adds raw data toggle to quickly be able to view data in table form

* With transforms

* Updated name for toggle

* refactoring and added e2e test

* Support options

* fixing e2e
2021-05-07 17:09:06 +02:00
Torkel Ödegaard
f929b29b0b
DashboardSettings: Fixing container styles for the json mode view (#33789) 2021-05-06 12:27:14 -07:00
Oscar Kilhed
9e2e7b66a1
PieChart: move hiding series to PanelContext (#33756) 2021-05-06 12:22:03 -07:00
Torkel Ödegaard
dbcfebac56
TimeSeries: Make timeseries the default panel and remove beta state (#33639)
* TimeSeries: Make timeseries the default panel and remove beta state

* rename old graph

* Updated panel descriptions, fixed e2e tests

* Updated text

* Fixed e2e

* Fixing e2e tests
2021-05-05 13:19:14 +02:00
Hugo Häggmark
605bae8e2c
LibraryPanels: Adds folder name to Library Panel card (#33697)
* LibraryPanels: Adds folder filter

* Refactor: Adds folder filter to library search

* Refactor: splits huge function into smaller functions

* LibraryPanels: Adds Panels Page to Manage Folder tabs (#33618)

* Chore: adds tests to LibraryPanelsSearch

* Refactor: Adds reducer and tests

* Chore: changes GrafanaThemeV2

* Refactor: adds folderName to get all result

* Refactor: adds folderName to get result

* Refactor: adds folder name to LibraryPanelDTOMeta

* Refactor: adds folder name to lbirary panels result

* Chore: reverts public/app/routes/routes.tsx to master

* Minor style tweak

* Refactor: adds folder uid to meta

* Chore: updates after PR comments

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-05-05 11:09:12 +02:00
Marcus Andersson
545d930a13
Dashboard: prevent error when sharing a dashboard. (#33680) 2021-05-05 10:36:42 +02:00
Torkel Ödegaard
1e810b3d59
PanelEdit: Highlight matched words when searching options (#33717) 2021-05-05 09:12:06 +02:00
Torkel Ödegaard
dbe9a30ad0
PanelEdit: Do not show override option for panel with no field config options (#33699)
* Do not show overrides button if there are no field config options

* not show radiobuttons for non data panels

* remove unused style
2021-05-04 20:43:53 +02:00
Hugo Häggmark
c6d4d14a89
LibraryPanels: Adds folder filter to manage library panel page (#33560)
* LibraryPanels: Adds folder filter

* Refactor: Adds folder filter to library search

* Refactor: splits huge function into smaller functions

* LibraryPanels: Adds Panels Page to Manage Folder tabs (#33618)

* Chore: adds tests to LibraryPanelsSearch

* Refactor: Adds reducer and tests

* Chore: changes GrafanaThemeV2

* Refactor: pulls everything behind the feature toggle

* Chore: removes clear icon from FolderFilter

* Chore: adds filter to SortPicker

* Refactor: using useAsync instead
2021-05-04 13:59:40 +02:00
kay delaney
2cc66e548a
Library panels: Normalize feature name as "Library panels" (#33540) 2021-05-04 09:00:44 +01:00
ying-jeanne
22b2d3c38a
frontend for trim/apply defaults and some bug fixing (#33561)
* remove empty object and workaround on list

* frontend

* add toggle on frontend
2021-05-04 15:03:42 +08:00
Ryan McKinley
6b0417207d
VizLegend: move onSeriesColorChanged to PanelContext (breaking change) (#33611) 2021-05-03 08:23:17 -07:00
Torkel Ödegaard
578283078b
PanelEdit: Improves viz picker ux, auto close on click (#33633)
* PanelEdit: Improves viz picker ux, auto close on click

* Fixing strict ts error

* Updated e2e
2021-05-03 16:49:09 +02:00
Torkel Ödegaard
ac77d864fb
DashboardLink: Fixes double escaping of > in dashboard link (#33617)
* DashboardLink: Fixes double escaping of > in dashboard link

* Update DashboardLinks.tsx
2021-05-03 14:54:36 +02:00
Torkel Ödegaard
7ee994f843
Theme: Renames new theme model from GrafanaThemeV2 to just GrafanaTheme (#33619) 2021-05-03 09:45:54 +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
Torkel Ödegaard
b3a46459d9
SaveDashboard: Fixes issue with saving dashboard form and enter key (#33602) 2021-05-03 07:41:10 +02:00
Torkel Ödegaard
3ed84ec0b5
Modals: Make text left aligned in save & delete modals (#33605) 2021-05-02 19:54:44 +02:00
Ryan McKinley
69f2a43063
EventBus: add origin to all events and support nested EventBus (#33548) 2021-04-30 22:33:29 +02:00
Torkel Ödegaard
9b60f8c404
DashboardSettings: Slight design tweak to fix page toolbar padding and align design (#33575)
* DashboardSettings: Slight design tweak to fix page toolbar padding and align design

* Fixed font weight

* Removed comment

* Update
2021-04-30 17:21:18 +02:00
kay delaney
68ee4808c1
Library panels: Adds description to library panels tab (#33428) 2021-04-30 15:15:48 +01:00
Hugo Häggmark
696a6ecd1e
Variables: Removes the never refresh option (#33533)
* Variables: Removes the never refresh option

* Tests: fixes DashboardModel repeat tests

* Tests: fixs snapshots

* Tests: fixes processVariable test

* Tests: fixes DashboardModel tests
2021-04-30 11:17:35 +02:00
Torkel Ödegaard
f6ecded86b
Theme: Page styles move to emotion global styles and design tweaks (#33529)
* Theme: Page styles move to emotion global styles and design tweaks

* More style tweaks

* tweaks

* Updating snapshots

* Another fix

* Another fix

* minor fix

* More style tweaks to page toolbar and alert rule page

* minor polish
2021-04-30 10:04:01 +02:00
Alex Khomenko
3b515e650c
Grafana-UI: Update React Hook Form to v7 (#33328)
* Update hook form

* Update Form component

* Update ChangePassword.tsx

* Update custom types

* Update SaveDashboardForm

* Update form story

* Update FieldArray.story.tsx

* Bump hook form version

* Update typescript to v4.2.4

* Update ForgottenPassword.tsx

* Update LoginForm.tsx

* Update SignupPage.tsx

* Update VerifyEmail.tsx

* Update AdminEditOrgPage.tsx

* Update UserCreatePage.tsx

* Update BasicSettings.tsx

* Update NotificationChannelForm.tsx

* Update NotificationChannelOptions.tsx

* Update NotificationSettings.tsx

* Update OptionElement.tsx

* Update AlertRuleForm.tsx

* Update AlertTypeStep.tsx

* Update AnnotationsField.tsx

* Update ConditionField.tsx

* Update ConditionsStep.tsx

* Update GroupAndNamespaceFields.tsx

* Update LabelsField.tsx

* Update QueryStep.tsx

* Update RowOptionsForm.tsx

* Update SaveDashboardAsForm.tsx

* Update NewDashboardsFolder.tsx

* Update ImportDashboardForm.tsx

* Update DashboardImportPage.tsx

* Update NewOrgPage.tsx

* Update OrgProfile.tsx

* Update UserInviteForm.tsx

* Update PlaylistForm.tsx

* Update ChangePasswordForm.tsx

* Update UserProfileEditForm.tsx

* Update TeamSettings.tsx

* Update SignupInvited.tsx

* Expose setValue from the Form

* Update typescript to v4.2.4

* Remove ref from field props

* Fix tests

* Revert TS update

* Use exact version

* Update latest batch of changes

* Reduce the number of strict TS errors

* Fix defaults

* more type error fixes

* Update CreateTeam

* fix folder picker in rule form

* fixes for hook form 7

* Update docs

Co-authored-by: Domas <domasx2@gmail.com>
2021-04-29 16:54:38 +03: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
Hugo Häggmark
a9d6d131b3
LibraryPanels: Small UI improvements (#33482) 2021-04-28 17:34:18 +02:00
Jack Westbrook
249004ebef
Pages: update react components to use v2 theme (#33413)
* chore: expose theme types / functions

* fix(grafana-ui): withTheme2 extends themeable2

* feat: migrate page components to use new theme

* refactor(pages): replace legacy form components with latest form components

* refactor(dashboardimport): update page component to use theme spacing

* refactor(alerting-ng): update page component to use v2 theme

* test(dashboardpage): update test for v2 theme

* test(apikeyspage): update test to select InlineSwitch component

* test(createteam): update snapshot

* refactor(playlist): update page components to use v2 theme

* refactor(page): put back classes on page-container and background colors
2021-04-28 16:05:00 +02:00
Hugo Häggmark
22ac0fc3cd
Chore: Migrates remaining Angular modals to React (#33476)
* HelpModal: Migrates to new style

* Alerting: Migrates how to do alerting modal to React

* ApiKeysModal: migrates to new theme

* Dashboard: View dasboard json modal migrated to React and new theme

* PluginPage: migrates update plugin modal to react and new theme

* Chore: deprecates events and functions

* Simplify help modal

* Updated json modal to use Modal.ButtonRow

* Tweak to api key design

* Tests: updates snapshot

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-28 15:22:28 +02:00
Torkel Ödegaard
7087727400
PanelChrome: Ignore data updates & errors for non data panels (#33477) 2021-04-28 14:46:10 +02: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
df8d301d1e
LibraryPanels: Adds descriptions to cards (#33452)
* LibraryPanels: Adds descriptions to cards

* Chore: updates after PR comments
2021-04-28 13:47:12 +02:00
Oscar Kilhed
6c7290164e
Fix datalink suggestions (#33411) 2021-04-28 09:58:53 +02:00
Ryan McKinley
fac335ee7f
JSON: make the dashboard JSON editor as big as possible (#33453)
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-04-28 09:52:26 +02:00
Hugo Häggmark
20ee0e9601
LibraryPanels: Adds panel type filter and sorting (#33425)
* Wip: inital commit

* Chore: updating api

* Refactor: adds description search and sorting

* Refactor: adds panel filtering

* Refactor: limits the height of select

* Tests: updates snapshot

* Refactor: small UI improvements
2021-04-28 09:18:13 +02:00
Torkel Ödegaard
eef4e18b62
Theme: Use outline buttons for Cancel & Back actions (#33418)
* Buttons: Use new outline button for cancel & back buttons

* More buttons

* More tweaks

* Updated row snapshot
2021-04-27 15:36:48 +02:00
Torkel Ödegaard
5d855dbf33
Theme: Fixes to time picker calendar & variable dropdowns & more (#33407)
* More theme fixes

* more updates

* Fixed alerts in explore
2021-04-27 15:13:08 +02:00
Jack Westbrook
45fa5fdf48
Buttons: introduce buttonStyle prop (#33384)
* Wip

* Updates to colors to make secondary outline work

* refactor: prefer buttonStyle="text" over variant="link" for text buttons

* revert(button): put back mdx story page

* fix(button): variant link disabled as text disabled

* docs(button): remove link variant from stories

* feat(grafana-ui): introduce basic deprecation notice for button and linkbutton components

* docs(button): update usage of href with button and buttonlink

* feat(button): add grafana/ui to deprecation warning

* refactor(buttons): use a more descriptive name for prop warning function

* test(buttonrow): update snapshots

* refactor(buttons): change prop name from buttonStyle to fill

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-27 12:03:06 +02:00
Torkel Ödegaard
759a501564
Singlstat: Fixes all the singlestat migration issues by moving it to DashboardMigration (#33349)
* Singlstat: Fixes all the singlestat migration issues by doing during DashboardMigration

* fixes

* Updated snapshot
2021-04-27 10:09:37 +02: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
Hugo Häggmark
f73be970d3
Variables: Removes experimental Tags feature (#33361)
* Variables: Removes experimental Tags feature

* Refactor: adds dashboard migration

* Tests: fixes snapshots

* Docs: removes docs for experimental feature

* Refactor: dummy change

* Docs: removes reference
2021-04-27 05:57:25 +02:00
Torkel Ödegaard
4643bfa539
Modals: design update (#33368)
* Modals: Style update draft

* Modal.ButtonRow to control spacing better in a centralised way

* Remove header border if no tabs

* Added border and made buttons right aligned and changed order of buttons

* Updating the overlay

* Tweaks to paddings

* Updated share modals
2021-04-26 18:26:56 +02:00
Oscar Kilhed
d0239ac958
[grafana/UI] Hoovering over a legend label highlights the corresponding pie slice (#32941)
* Hoovering over a legend label hightlighs that pie slice

* Change to event bus

* Adds EventBusWithSource to help identify the origin of the event

* Add tests and fix bug with incorrect source

* Clean up PieChart and EventBus a bit

* Fix bug when payload.source is undefined

* Add some documentation and adjust naming

* useState instead of useSetState

* Clean up some more documentation

* Move eventbus to state

* add event bus actions to the debug panel

* add event bus actions to the debug panel

* Try to make the naming a bit clearer

* Try passing eventbus as context

* Fix lint issues

* Move event bus context to panel chrome

* Fix event handler functions

* switch to using useCallback for legend item callbacks

* Remove unused parameters

* Add id to panel fixture of PanelChrome test

* Simplify event source

* Place eventBus inside more generic context

* Push handling of context up the tree to VizLegend

only export usePanelContext and PanelContextProvider

implement isOwnEvent on EventBus

some cleanup

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-04-26 16:13:15 +02:00
Hugo Häggmark
ba2fa3434e
Annotations: fixes reversed switch (#33362) 2021-04-26 09:05:22 +02:00
Torkel Ödegaard
cf2d557974
Alerts/InfoBox: Replaces all uses of InfoBox & FeatureInfoBox with Alert (#33352)
* Alerts/InfoBox: Replaces all uses of InfoBox & FeatureInfoBox with Alert

* Fixes some more stuff

* fixed border radius
2021-04-26 07:18:46 +02: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
e6a9654d0e
Checkbox: Updates to look and feel and using new theme (#33310)
* Checkbox: Updates to look and feel and using new theme

* A few more theme fixes

* Removed comments

* Updated snapshot
2021-04-23 14:40:06 +02:00
Torkel Ödegaard
b6cfb65e40
Annotations: More fixes to the angular annotation editors (#33303)
* Annotations: Fixed angular editor issues

* More angular annotation fixes

* removed console.log
2021-04-23 14:06:30 +02:00
Ryan McKinley
e7fd30be17
PanelEdit: update configRev on close (#33240) 2021-04-22 07:23:51 -07:00
Torkel Ödegaard
44cf2f8efe
Theme: Update theme layering (#33217)
* Theme: Update theme layering

* More updates

* Updates to shadows and dropdowns

* Moved panel option group to emotion global styles

* more minor fixes
2021-04-22 09:18:32 +02:00
Torkel Ödegaard
b929822d72
Theme: Renames theme.palette to theme.colors (#33214)
* Theme: Rename theme.palette to theme.colors

* renaming files
2021-04-21 15:34:08 +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
Uchechukwu Obasi
63e2977837
DashboardPanel: migrates styling from sass to emotion (#33115)
* DashboardPanel: migrates styling from sass to emotion

* fixes frontend test

* removed the theme since it doesn't have any use case in the styles

* updates frontend snapshot test
2021-04-21 12:24:44 +01:00
kay delaney
bad048b7ba
Performance: Standardize lodash imports to use destructured members (#33040)
* Performance: Standardize lodash imports to use destructured members
Changes lodash imports of the form `import x from 'lodash/x'` to
`import { x } from 'lodash'` to reduce bundle size.

* Remove unnecessary _ import from Graph component

* Enforce lodash import style

* Fix remaining lodash imports
2021-04-21 09:38:00 +02:00
Torkel Ödegaard
2bb7eb18d1
PanelEdit: Fixes showIf for panel level options, fixes configRev when switching panels (#33173) 2021-04-20 21:22:58 +02:00
Ryan McKinley
dff78561bc
PanelData: include structure revision info and only apply overrides once (#33098)
* calculate schemaRevision in panel query runner

* schema > structureRev

* calculate revision after apply field overrides

* this.state

* don't apply field overrides if the shape is already the same

* check schema revision

* update snapshots
2021-04-20 11:05:50 +02:00
Hugo Häggmark
025b671146
Dashboard: Unsaved changes warning shown for anyone that can save (#33145)
* Dashboard: Unsaved changes warning shown for anyone that can save

* Refactor: changes the order in function
2021-04-20 09:55:46 +02:00
Ryan McKinley
f93b05f506
PanelEdit: only update when config changes (#33133) 2021-04-19 19:24:39 +02:00
Torkel Ödegaard
76034ad1cb
Annotations: Fixing recursive angular watch loop (#33090) 2021-04-19 09:35:43 +02:00
Torkel Ödegaard
d62601e664
Theme: Variable name changes & progress (#33088)
* Theme variable renames

* Fixed variable issue issue

* Fixed test

* fixed story

* More tweaks

* Updated snapshot
2021-04-17 19:17:18 +02:00
Torkel Ödegaard
66485b3e70
Theme: V8 Theme updates (#33050)
* GraphNG: Use new theme props

* Minor fix to letterspacing in button

* Minor tweaks

* Updated

* Revert to roboto

* Added concept of a dark or white base

* Style updates

* Sass

* Updated light text blue

* updates

* reverting button group design

* Fixed tests

* updates

* Updated tests
2021-04-16 09:48:52 +02:00
Hugo Häggmark
34b4f7c717
Chore: Reduces strict errors (#33012)
* Chore: reduces strict error in OptionPicker tests

* Chore: reduces strict errors in FormDropdownCtrl

* Chore: reduces has no initializer and is not definitely assigned in the constructor errors

* Chore: reduces has no initializer and is not definitely assigned in the constructor errors

* Chore: lowers strict count limit

* Tests: updates snapshots

* Tests: updates snapshots

* Chore: updates after PR comments

* Refactor: removes throw and changes signature for DashboardSrv.getCurrent
2021-04-15 14:21:06 +02:00
Dominik Prokop
0cc620aea7
GraphNG: stacking (#30749)
* First iteration

* Dev dash

* Re-use StackingMode type

* Fix ts and api issues

* Stacking work resurected

* Fix overrides

* Correct values in tooltip and updated test dashboard

* Update dev dashboard

* Apply correct bands for stacking

* Merge fix

* Update snapshot

* Revert go.sum

* Handle null values correctyl and make filleBelowTo and stacking mutual exclusive

* Snapshots update

* Graph->Time series stacking migration

* Review comments

* Indicate overrides in StandardEditorContext

* Change stacking UI editor, migrate stacking to object option

* Small refactor, fix for hiding series and dev dashboard
2021-04-15 13:00:01 +02:00
Uchechukwu Obasi
99b85d8af3
DashboardPage: refactored styles from sass to emotion (#32955)
* DashboardPage: refactored styles from sass to emotion

* refactored dashboardPage component to be alot easier to read and understand

* more refactoring...

* more cleaning...

* fixes frontend test

* fixes frontend test- I hope

* fixes frontend test- I hope

* moves dashboard scss styles back to it's standalone file
2021-04-15 11:21:36 +01:00
kay delaney
2ca4f3ecae
Library Panels: Add library panel tab to share modal (#32953) 2021-04-15 08:29:34 +01:00
Alex Khomenko
4b801be98c
Silcense warning message for row (#32985) 2021-04-14 16:48:53 +03:00
Torkel Ödegaard
b0c6cad637
Theme: Updates Alert design and licence warning hook (#32930)
* Theme: Updates Alert design and licence warning hook

* Updated snapshot

* Updated design

* Updated
2021-04-13 18:00:55 +02:00
kay delaney
12ceff407b
AnnoListPanel: Fix 'Within Time Range' option (#32439) 2021-04-13 16:55:55 +01:00
kay delaney
8a1431b472
Library panels: Add convert/unlink options to panel menu (#32908)
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-04-13 16:55:31 +01:00
Hugo Häggmark
4fab30a120
LibraryPanels: Adds back library panel information to panel edit (#32923)
* LibraryPanels: Adds back library panel information to panel edit

* Chore: fixes merge issue
2021-04-13 14:05:35 +02:00
Jack Westbrook
4178ebc0a1
Annotations: Fixes issues loading angular annotation query editors and updating annotation query model (#32903)
* style(dashboardsettings): disable eslint react hooks exhaustive deps warning

* Unrelated fix

* Fix annotation angular loading issues

* Fixing update issue

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-13 13:16:56 +02:00
Torkel Ödegaard
d90af6c6ff
PanelEditor: Fixes issue with unmount of option editor components (#32900) 2021-04-13 08:46:07 +02:00
Torkel Ödegaard
00ecd37778
Theme: V8 theme updates to text colors and buttons (#32905)
* Theme text colors

* Theme text colors

* More theme tweaks

* reduce input disabled border

* More updates
2021-04-12 19:44:43 +02:00
Torkel Ödegaard
629603dd92
Theming: Updates to select styles and theme model progress (#32797)
* Theming: Updates to select styles and theme model progress

* Progress

* Update menu

* Updated menu group

* Improving button styles

* Added transitions to theme

* solving the hover & selected, focus issues

* Updated snapshot

* adding some colors from figma, but waiting to use them as not enough components use new layer colors

* Updates

* Updates

* Progress

* Renames

* Improvements to theme overview

* updated test

* demo update

* More new theme colors

* Wip new card styles

* Card tweaks hover is not working

* Updates more colors from figma

* Progress

* Progress

* Updated radio button styles

* Progress on new colors

* Progress

* New page toolbar and toolbar button design

* New toolbar button design

* Reverted to older toolbar and button look

* Updated snapshot

* Updated generated files

* Updated design

* Updates

* Added card hover

* Fixed button group

* Updates
2021-04-12 14:23:00 +02:00
Dominik Prokop
b47fba4b68
v8: remove Singlestat panel and add automatic migration to stat/gauge(#31904)
* Remove singlestat panel from the codebase

* Automatically migrate deprecated panels

* Migrate singlestat to stat when initializing panel

* Singlestat -> gauge detection

* Missing await

* Throw error when panel plugin not found and allow new panels to take names of the deprecated ones

* Make it pretty

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-04-12 12:47:17 +02:00
Torkel Ödegaard
7b23ed728f
DashboardSettings: Migrates annotations list & edit view from angular to react and new forms styles (#31950)
* Initial commit, list and edit page working

* Progress

* angular and standard editors work

* Unifying more between annotations list and links list

* Remove submenu visibilty stuff

* Update packages/grafana-data/src/types/annotations.ts

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Review feedback

* fixed checkbox

* Fixes

* test(annotationsettings): initial commit of tests

* delete files brought back by master merge

* update datasourcepicker import path

* update emotion import

* test(linksettings): clean up tests

* Fixed test

* test(annotationssettings): add remaining tests

* docs(grafana-data): export namespace for docs build

* docs(grafana-ui): export ColorValueEditorProps for docs build

* docs(grafana-ui): add docs annotation for ColorValueEditorProps

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2021-04-12 09:41:07 +02:00
kay delaney
71e8a03c46
LibraryPanels: Add search input back to add panel widget (#32719) 2021-04-07 11:27:45 +02:00
Torkel Ödegaard
693985a6ba
Plugins: Support es5 plugins extending es6 core classes (#32664)
* Plugins: Support es5 plugins extending es6 core classes

* Make all base classes backward compatible
2021-04-06 14:51:35 +02:00
Ryan McKinley
4a924c5ace
Panel Editor: avoid updates when schema is the same (#32668) 2021-04-04 22:13:34 -07:00
Diana Payton
a3d1cf03a9
Edit dashboard UI text (#32520)
* Update DashboardPermissions.tsx

* Update DashboardRow.tsx

* Update AutoRefreshIntervals.tsx

* Update JsonEditorSettings.tsx

* ui updates

* Update FolderPickerCtrl.ts

* Update LinkSettingsEdit.tsx

* Update LinkSettingsHeader.tsx

* Update LinkSettingsList.tsx

* Update actions.ts

* Update AngularPanelOptions.tsx

* Update getFieldOverrideElements.tsx

* Update OptionsPaneOptions.tsx

* Update types.ts

* Update usePanelLatestData.ts

* Update VisualizationButton.tsx

* Update RowOptionsModal.tsx

* Update SaveDashboardAsForm.tsx

* Update SaveDashboardForm.tsx

* Update SaveProvisionedDashboardForm.tsx

* Update SaveDashboardErrorProxy.tsx

* text edits

* Update ShareSnapshot.tsx

* Update PanelTypeCard.tsx

* Update TransformationsEditor.tsx

* Update panel.test.ts

* text edits

* Update DashboardSrv.ts

* Update VersionHistoryButtons.tsx

* Update DiffViewer.tsx

* Update VersionHistoryTable.tsx

* Update DashboardGrid.tsx

* Update DashboardPanel.tsx

* Update PanelPluginError.tsx

* Update DashboardMigrator.ts
2021-04-01 17:42:57 +02:00
Torkel Ödegaard
10badea19e
Emotion: Upgrades emotion from 10 to 11 and updates all import paths (#32541)
* Babel: Updates babel dependencies to latest version

* Emotion: Upgrade form 10 to 11

* Fixing tests

* Updated to use emotion/css instead in test
2021-04-01 14:15:23 +02:00
Torkel Ödegaard
6fa7c6b206
TimeSrv: Refactor service to have no dependency on angular (#32562)
* TimeSrv: Refactor service to have no dependency on angular

* Fixing reference to function that does not exist

* fixing tests

* Worked around the strange error
2021-04-01 06:33:11 +02:00
kay delaney
230f95dc47
Dashboard: No longer includes default datasource when externally exporting dashboard with row (#32494)
Closes #31065
2021-03-31 08:26:32 +01:00
Torkel Ödegaard
0e47a476fb
Variables: Do not save repeated panels, rows and scopedVars (#32436)
* Variables: Do not save repeated panels, rows and scopedVars

* minor refactoring
2021-03-30 09:30:40 +02:00
Torkel Ödegaard
bb995e966d
PanelEdit: Remove right side padding for options pane (#32427) 2021-03-29 16:21:38 +02:00
Torkel Ödegaard
52ff968a72
PanelEditor: Fixes issue with data source picker not updating when selecting mixed data source (#32386) 2021-03-29 08:15:26 +02:00
Torkel Ödegaard
feaaa32ffd
Shortcuts: Fixes panel shortcuts so they always work (#32385)
* Shortcuts: Fixes panel shortcuts so they always work

* Updated snapshot
2021-03-29 07:52:57 +02:00
kay delaney
298ff3ea01
Library Panels: Improve unsaved changes handling (#32026)
* Library Panels: Improve unsaved changes handling
2021-03-25 13:11:09 +00:00
Zoltán Bedi
8232b6ebbc
Chore: eslint react hook fix for public folder (#31174)
* Fixes under public/app/plugins

* Fixes under public/app/plugins/datasource

* Fixes under public/app/features

* Fixes under public/app/features

* Fixes under public/app/features

* Fixes under public/app/components

* Fix PanelNotSupported test

* Fix one more warning

* Fix warning in usePanelSave

* Fix traceview empty response

* Azure monitor fixes

* More fixes

* Fix tests for azure monitor

* Fixes after merging master

* Add comment for disabled rules

* Fixes after merging master

* Fixes after merging master

* Adress review comments

* Fix azure tests

* Address review feedbacks
2021-03-25 12:42:14 +01:00
Jack Westbrook
c9eff1892e
DashboardSettings: Migrates history diff view from angular to react (#31997)
* chore(dashboardsettings): introduce deep-diff for diffing dashboard models

* feat(dashboardsettings): initial commit of diff comparision react migration

* feat(dashboardsettings): wip - use json-source-map and monaco editor

* chore(deps): add react-diff-viewer to package.json

* feat(dashboardsettings): take the simplistic road for diff view

* refactor(dashboardsettings): clean up Version Settings components

* chore: delete angular historyListCtrl code

* refactor(dashboardsettings): styling fixes

* Small color tweaks

* refactor(versionhistory): fix issues around summary text. write tests

* test(versionhistory): add test for jsonDiff

* refactor(versionhistory): cleanup utils and reduce dom elements

* test(versionsettings): add tests for comparision view

* test(versionsettings): finialise tests for version history comparison view

* test(versionsettings): remove debug

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-03-25 11:51:09 +01:00
Torkel Ödegaard
9d6c8f8512
PanelEdit: v8 Panel Edit UX (#32124)
* Initial commit

* Progress

* Update

* Progress

* updates

* Minor fix

* fixed ts issue

* fixed e2e tests

* More explorations

* Making progress

* Panel options and field options unified

* With nested categories

* Starting to find something

* fix paddings

* Progress

* Breakthrough ux layout

* Progress

* Updates

* New way of composing options with search

* added regex search

* Refactoring to react note tree

* Show overrides

* Adding overrides radio button support

* Added popular view

* Separate stat/gauge/bargauge options into value options and display options

* Initial work on getting library panels into viz picker flow

* Fixed issues switching to panel library panel

* Move search input put of LibraryPanelsView

* Changing design again to have content inside boxes

* Style updates

* Refactoring to fix scroll issue

* Option category naming

* Fixed FilterInput issue

* Updated snapshots

* Fix padding

* Updated viz picker design

* Unify library panel an viz picker card

* Updated card with delete action

* Major refactoring back to an object model instead of searching and filtering react node tree

* More refactoring

* Show option category in label when searching

* Nice logic for categories rendering when searching or when only child

* Make getSuggestions more lazy for DataLinksEditor

* Add missing repeat options and handle conditional options

* Prepping options category to be more flexibly and control state from outside

* Added option count to search result

* Minor style tweak

* Added button to close viz picker

* Rewrote overrides to enable searching overrides

* New search engine and tests

* Searching overrides works

* Hide radio buttons while searching

* Added angular options back

* Added memoize for all options so they are not rebuilt for every search key stroke

* Added back support for category counters

* Started unit test work

* Refactoring and base popular options list

* Initial update to e2e test, more coming to add e2e test for search features

* Minor fix

* Review updates

* Fixing category open states

* Unit test progress

* Do not show visualization list mode radio button if library panels is not enabled

* Use boolean

* More unit tests

* Increase library panels per page count and give search focus when switching list mode

* field config change test and search test

* Feedback updates

* Minor tweaks

* Minor refactorings

* More minimal override collapse state
2021-03-25 08:33:13 +01:00
Torkel Ödegaard
ca8295e298
PanelEditorTabs: Fixes theme and update issues when queries change from outside (#32204)
* PanelEditorTabs: Fixes theme and update issues when queries change from outside

* Remove unnessary arrow function

* Removed setState
2021-03-23 13:08:06 +01:00
Ha. Huynh Sam
014a4cda9d
DashboardSettings: Fixes issue with tags list not updating when changes are made (#32241) 2021-03-23 10:03:52 +01:00
Hugo Häggmark
c8b59b79c3
Chore: Fix strict errors, down to 340 (#32109)
* Chore: reduces misc reducerTester strict issues

* Chore: fixes various strict errors in reducer tests for ElasticSearch

* Chore: lowers errors in AzureMonitor DataSource tests
2021-03-19 13:10:03 +01:00
Ivana Huckova
664b13d83e
Explore: Support full inspect drawer (#32005)
* Move InspectSubtitle to grafana/ui

* Move inspect elements to features/inspector

* Move InspectJSON and use it also in Explore

* Move and use QueryInspector

* Move all to features/inspector

* WIP Data tab implementation

* Process dataframes for explores inspector

* Clean up

* Update test

* Clean up

* Fix Explore Inspector button name
2021-03-18 17:38:09 +01: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
Denis Hilt
8fafe95728
DashNav: Pass typed event through the DashNav button onClick handler (#32084)
* Pass typed event thorough the DashNav button onClick handler

Event.stopPropagation() method needs to be called in some cases. This change addresses typescript error Type '(event: ...) => void' is not assignable to type '() => void'.

* Pass typed event thorough the DashNav button onClick handler

* Import MouseEvent from React
2021-03-18 08:23:58 +01:00
Torkel Ödegaard
e935e4979f
TimePicker: Fixes hidden time picker shown in kiosk TV mode (#32062)
* TimePicker: Fixes hidden time picker shown in kiosk TV mode

* Use kioskmode passed via props

* Update snaps

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-03-17 18:03:05 +01:00
Dominik Prokop
48eb747da0
Routing NG: Fix persistent modal after dashboard delete (#32033) 2021-03-16 17:10:47 +01:00
Dominik Prokop
e967ad9ca9
Routing NG: Fix time range zoom not working when refresh enabled (#32023)
* Fix time range zoom not working when refresh enabled

* Review update
2021-03-16 14:25:40 +01:00
Dominik Prokop
0d92425bb8
RoutingNG: Fix infinite loop caused by history state not being cleaned up (#31952)
* Fix infinite loop caused by history state not being cleaned up

* Ude forceRouteReload counter instead of bool flag

* Review fix
2021-03-16 09:27:32 +01:00
Hugo Häggmark
66177e9463
PanelInspect: Interpolates variables in CSV file name (#31936)
* PanelInspect: Variables in CSV file name are interpolated

* Chore: fixes failing test
2021-03-15 08:44:13 +01:00
Hugo Häggmark
9f92eb6859
AnnotationList: Adds spacing to UI (#31888)
* AnnotationList: Adds spacing to UI

* Tests: updates snapshots

* Chore: updates after PR comments
2021-03-11 11:59:35 +01:00
Dominik Prokop
a55a272276
Routing NG: Replace Angular routing with react-router (#31463)
* Add router packages

* Get react app root work instead of Angular one

* Logger util

* Patch Angular routing ($routeProvider, $routeParamsProvider)

* Use react-router-dom history instead of separate dependency

* Add test routes

* Sidemenu - use Link instead of anchors

* Patch Angular $location service (stub)

* WIP: geting rid of $location provider from TimeSrv

* Intercept anchor clicks to use history under the hood

* Sync Redux location slice with history state

* Make login/logout work

* Debug routes for testing

* Make force login work

* Make sure query param change does not recreate page components

* Hide side menu in specified locations

* Make the dashboar route query parameters work, make panel edit menu work

* Enable more routes

* Fix side menu

* Handle view modes

* Disable playlist routes

* Make SafeDynamicImport work again

* Bring back router-debug

* Separate redux location sync from route rendering

* Refactor updateLocation to thunk and move force refresh(login) to it

* Fixing init dashboard issue

* Support switching between dashboards without an unmount of DashboardPage

* More fixes for init dashboard and panel edit

* More type fixes

* Moving angular location wrapper out of main LocationService, and fixing typescript issues

* Fixed last typescript errors

* LocationService: Move to runtime and  remove getLocationService and export singleston const instead (#31523)

* Moving location service implementation to runtime and removing get function and making it a package const singleton

* Added test that used locationService directly

* removed unused import

* AngularApp: Moving angular dependencies and the app boot out of the main app into it's own file  (#31525)

* Fixes angular panels by calling the monkey patch

* Moving angular stuff to to it's own files

* udpated

* Fixing clicking on divs and spans inside anchor

* Moving app notifications out of angular app and removing angular directive wrapper

* Moving search from angular to react and removing angular search wrapper

* Clean up, tried to remove the redux location wrapper but requires a big update for DashboardPage, so adding it back

* Moving AppWrapper to root to limit circular dependencies (app/core -> app/routing and back)

* Open and close search now works

* Hide sidemenu when in kiosk mode

* Restoring some keybindings like ESC key

* Removed kiosk events and simplified it, just handled through updating URL

* Fixing typescript errors

* Simplified GrafanaRouteComponentProps and renamed to ContainerProps

* renamed back

* Changed AlertRuleList to use GrafanaRouteComponentProps and location.search passed to it

* Removing the reloadOnSearch property, this is not needed now for react as react by default does not unmount components when only url match or query parmas change

* SafeDynamicImport causing unmount un every search update, not sure how to fix yet

* Fix signature for SafeDynamicImport so we do not create new route components on every route render

* Removing the redux location wrapper as it was causing errors, and making dashboard page work with RouteProps (location, match) etc

* Updating DashboardPage and SoloPanelPage to use match params and history location

* Fixed DashboardPage tests

* Fixing solo route tests

* LocationService: Rename getCurrentLocation to just getLocation

* do not intercept link clicks with target blank or self

* Experimental useUrlParams hook

* Update DataSourceSettingsPage to use router match params

* fix links with urls that have no starting / to work like before

* Fix forceLogin

* Add queryParams to GrafanaRouteComponentProps

* PanelEditor get rid of updateLocation and location state

* Improve grafana route query params typing

* Add getSearchObject to LocationService

* Use DashboardPAge queryParams instead of location.search parsing

* Fix DashboardPage typing

* Fix some tests weirdness

* Bring back KeyboardSrv

* Fixes typescript issues

* Team pages now use router match params

* Get rid of  from GrafanaRouteComponent props

* Removed unnessary calls to getSearchObject when calling locationService.partial

* Updated DashboardPage tests after queryParams was added

* Fixing dashboard settings back

* GrafanaRoute: Adding tests and remove use of global locationService

* Fixing tests and typescript errors

* Bring back kiosk modes and add tests

* Fix TimeSrv tests

* Fix typecheck errors

* Fixing tests

* Updated SideMenu test to react-testing and wrapped component in Router, and fixed issue importing createMemoryHistory

* Get rid of routeChange event from TimeSrv from

* Fixed TopSectionItem test

* Trying to make basename work but failing

* Update TopSectionItem snapshot

* Fix TopSectionItem snapshot test

* Fix API keys creation

* Remove Angular dependencies from KeybindingSrv (#31617)

* Remove Angular dependency from KeybindingsSrv

* Fix tests and typecheck issues

* basename is starting to work

* Make dashboard save work

* KeybindingSrv: Remove as angular service and no usage angular scope

* So long bridge_srv, we won't miss you

* Update snapshots

* Dashboard: Refactoring ChangeTracker to use History api and no angular (#31653)

* Dashboard: Refactoring ChangeTracker to use History api and no angular

* Updated

* Removed logging

* fixed unit tests

* updated snapshots

* Mechanism for force reloading routes (#31683)

* e2e: Fixes various things in e2e scenarios after router migration (#31685)

* Explore: Update reading query params from router props and updating location via locationService (ReactRouter)  (#31688)

* RoutingNG: Initial explore redux location to router location migration

* Updated explore Wrapper tests

* Fixing more tests

* remove loggin

* rename back to make naming consistent

* Fixing return to dashboard button

* fixing navigation to explore from dashboard

* updated routeProps

* Updated tests

* Make DashboardListPage work

* Fixing navigation after add new data source, and fixes explore e2e

* Fixing solo panel page

* PluginsPage now works

* RoutingNG: When parsing and rendering url search/query params preseve old logic of handling booleans and arrays (#31725)

* RoutingNG: When parsing and rendering url search/query params preserve old logic of handling booleans and arrays

* Fixed test

* Make snapshots list work

* fixed alert notification channel edit page

* Simplify LocationService, did not need special handling for login or forceLogin as target _self on link already handles that

* fixed UserAdminPage

* fixed edit orgs page

* Fixing LdapPage

* fixing dashboard import

* Fixed new folder page

* Fixed data source dashboards page

* fixing Folder permissions and folder settings page

* fixing snapshot list page nav model

* remove unused file

* Added placeholder page for playlist

* Moved browser compatability to index-template

* Restored 404/default page

* Fixed reset password page

* Fixed SignUpInvited page

* Fixing CreateTeam, Create user page, add panel widget

* Restore browwser file to make tests happy

* Fixed unit tests

* Removed unused import

* Replacing usage of updateLocation

* Fixed test

* Updating search filters to use history / location service for filters

* remove unused file

* AppRootPage fixed

* Fixing test and search issue

* Changes to support enterprise extensions

* remove console.log

* Removing more use of redux location

* Fixed signup page

* removed unused old angular controllers

* Fixing bugs

* one final bugfix

* Removed location from redux state

* Fixing ts issues and tests

* Fixing test issue

* fixing tests

* Fixing tests

* removed unused stuff

* Fixed search test

* Adding some doc comments

* Routing NG: Angular location provider patch (#31773)

* Patch Angulars $location provider

* Update public/app/angular/bridgeReactAngularRouting.ts

* Remove only test

* Update tests, disable loggers in test env

* Routing NG: remove $location provider usage (#31816)

* Remove dashboard_loaders

* Remove $location from Analytics service, track page views form GrafanaRoute

* Remove NotificationsEditCtrl

* Remove Angular dependencies from uploadDashboardDirective

* Update public/app/features/dashboard/containers/DashboardPage.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/containers/DashboardPage.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Remove unused test helpers (#31831)

* Playlist react (#31829)

* playlist list in react

* Playlist start

* Things started to work

* Updated

* Handle empty list

* Fix ts

* Fixes and kiosk mode stuff

* Removed unused events

* fixing ts issue

* Another ts issue

* Fixing tests

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* fixed test

* Update public/app/AppWrapper.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/AppWrapper.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Remove Angular dependency from DashboardLoaderSrv (#31863)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2021-03-10 18:03:36 +01:00
kay delaney
06a6fb405c
Library Panels: Add "Discard" button to panel save modal (#31647)
* Library Panels: Add "Discard" button to panel save modal
2021-03-09 17:05:38 +00:00
kay delaney
0b4305c2c3
Library Panels: Choosing library panel now updates plugin type (#31643)
* Library Panels: Choosing library panel now updates plugin type
2021-03-04 13:17:57 +00:00
Hugo Häggmark
e87d48921e
Admin: Keeps expired api keys visible in table after delete (#31636)
* Admin: Keeps expired keys visible in table after delete

* Chore: covers component in tests before refactor

* Refactor: splitting up into smaller components

* Chore: fixes a small issue with the validation

* Chore: forgot to export type
2021-03-04 13:20:38 +01:00
Torkel Ödegaard
4c5321bd99
Color: Fixes issue where colors where reset to gray when switch panels (#31611) 2021-03-04 08:04:45 +01:00
kay delaney
9e0d84f1cf
Library Panels: Change unsaved change detection logic (#31477)
* Library Panels: Change unsaved change detection logic
Change logic from diffing panel models to setting dirty flag
2021-03-03 14:16:54 +00:00
Hugo Häggmark
d306f417d3
LibraryPanels: No save modal when user is on same dashboard (#31606) 2021-03-02 15:37:36 +00:00
Torkel Ödegaard
eddc163e78
AddPanel: Design polish (#31484)
* AddPanel: Design fixes

* More design updates

* More tweaks

* Updated snapshot

* Modal fixes

* Updated field labels

* Move icon to left again
2021-02-26 12:29:28 +01:00
Torkel Ödegaard
c41b559063
FolderPicker: Remove useNewForms from FolderPicker (#31485)
* FolderPicker: Remove useNewForms from FolderPicker

* Updated snapshot
2021-02-26 08:42:00 +01:00
Jack Westbrook
ad68f3c5e6
DashboardSettings: Migrate Link Settings to React (#31150)
* feat(dashboardsettings): migrate dashboard links EmptyListCTA to react

* feat(dashboardsettings): initial commit of links settings migration to react

* feat(dashboardsettings): add links form functionality

* refactor(dashboardsettings): separate out linksettings components and concerns

* Updates to links list

* Form improvements

* test(dashboardlinks): update links so tests run

* refactor: move _.move to arrayMove for testing purposes

* test(dashboardsettings): initial commit of link settings tests

* refactor(app): put back lodash move method for backwards compatibility

* test(dashboardsettings): add links settings tests

* style(dashboardsettings): camelcase constants

* chore(dashboardsettings): delete old angular links settings view

* fix(dashboardsettings): forceupdate links on submenuVisibilityChanged and correct imports

* chore: remove reference to old angular link settings components

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-02-25 11:50:10 +01:00
kay delaney
47d2a8085b
Frontend changes for library panels feature (#30653)
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-02-25 10:26:28 +00:00
Torkel Ödegaard
59c060f1f1
Streaming: Fixes an issue with time series panel and streaming data source when scrolling back from being out of view (#31431)
* Streaming: Fixes an issue with time series panel and streaming data source when scrolling back from being out of view

* Slight tweak
2021-02-24 11:12:11 +01:00
Zoltán Bedi
67c215f5f1
Chore: Upgrade eslint packages (#31408) 2021-02-23 10:02:07 +01:00
Torkel Ödegaard
372ae7fdd3
Chore: Fix strict errors, down to 416 (#31365) 2021-02-22 10:06:07 +01:00
Torkel Ödegaard
2b7628c69e
DashboardLinks: Fixes another issue where dashboard links cause full page reload (#31334) 2021-02-19 08:26:22 +01:00
Marcus Efraimsson
8f20b13f1c
Snapshots: Disallow anonymous user to create snapshots (#31263) 2021-02-17 09:51:50 +01:00
Torkel Ödegaard
4dfce12a81
TagsInput: Design update and component refactor (#31163)
* TagsInput: Design update and component refactor

* Update packages/grafana-ui/src/components/TagsInput/TagsInput.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update packages/grafana-ui/src/components/TagsInput/TagsInput.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update packages/grafana-ui/src/components/TagsInput/TagsInput.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update packages/grafana-ui/src/components/TagsInput/TagsInput.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Updated

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2021-02-16 09:39:11 +01:00
Torkel Ödegaard
b3c32277dd
StatPanels: Fixes to palette color scheme is not cleared when loading panel (#31126) 2021-02-13 11:35:39 +01:00
Torkel Ödegaard
9629dded42
DashboardLinks: Fixes links always cause full page reload (#31178) 2021-02-12 18:08:18 +01:00
Dominik Prokop
8d339a279b
Eslint: no-duplicate-imports rule (bump grafana-eslint-config) (#30989)
* Eslint: no-duplicate-imports rule (bump grafana-eslint-config)

* Chore: Fix duplicate imports (#31041)

* Rebased this branch into eslint-no-duplicate-imports

* updated some changes

* merged uncaught duplicate imports

* fixes frontend test- I hope

* fixes e2e test- I hope

Co-authored-by: Uchechukwu Obasi <obasiuche62@gmail.com>
2021-02-11 13:45:25 +01:00
Torkel Ödegaard
758d1386cd
DashboardSettings: Update to new form styles (#31022)
* DashboardSettings: Update to new form styles

* Improve header margin and fixing issue in permissions tab

* Updated

* Switch to radio

* Remove unused import
2021-02-09 20:41:07 +01:00
Jack Westbrook
ef8a5b760f
Dashboard: Migrate general settings to react (#30914)
* feat(dashboard): initial commit of general settings migration to react

* fix(dashboardsettings): force update of general settings when selects change

* feat(dashboardsettings): initial commit of delete dashboard button and modal

* feat(dashboardsettings): introduce useDashboardDelete hook

* feat(dashboardsettings): add tags and editable inputs

* refactor(dashboardsettings): fix typescript error in general settings

* refactor(dashboardsettings): use grafana-ui form components for general settings

* refactor(dashboardsettings): use ConfirmModal and move provisioned modal to own component

* refactor(dashboardsettings): revertDashboardModal uses ConfirmModal

* test(autorefreshintervals): remove renderCount prop to fix test

* test(dashboardsettings): put back aria-label for e2e tests

* chore(dashboardsettings): remove redundant generl settings angular code

* test: change references to now deleted SettingsCtrl to GeneralSettings

* refactor(dashboardsettings): swap out switch for inlineswitch component

* chore(timepickersettings): remove timePickerSettings angular directive definition

* feat(dashboardsettings): add tooltips, fix description field name

* refactor(dashboardsettings): remove redundant await

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* refactor(usedashboarddelete): clean up

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2021-02-09 12:04:03 +01:00
Hugo Häggmark
f42bb84cbf
TextPanel: Fixes so panel title is updated when variables change (#30884)
* TextPanel: Fixes so panel title is updated when variables change

* Tests: fixes tests

* Chore: updates after PR comments
2021-02-09 06:05:34 +01:00
Oscar Kilhed
3a905847e8
Grafana/UI: Remove DismissableFeatureInfoBox and replace with LocalSt… (#30988)
* Grafana/UI: Remove DismissableFeatureInfoBox and replace with LocalStorageValueProvider
2021-02-08 16:12:05 +01:00
Ryan McKinley
11fa7c697e
Transformers: add search to transform selection (#30854) 2021-02-04 12:23:05 -08:00
Oscar Kilhed
e2ecb70051
Dashboard: Ignore changes to dashboard when the user session expires (#30897)
When the user session expires, and the 401 triggers a page reload to get the user to the login page, ChangeTracker will interfer. By setting the user as logged out in the context when the session is timed out, we can ignore the changes in ChangeTracker.
2021-02-04 15:29:38 +01:00
Torkel Ödegaard
01b10ab436
Alerting: Fixes alert panel header icon not showing (#30840)
* Alerting: Fixes alert panel header icon not showing

* Remove as any
2021-02-04 09:15:01 +01:00
Ha. Huynh Sam
141202f518
DashboardLinks: Support variable expression in to tooltip - Issue #30409 (#30569)
* add compile variable in tooltip link

* test(link_srv): introduce getAnchorInfo test

* test(link_srv): introduce tests for getLinkUrl

* test(link_srv): refer to anchorInfo.url rather than hardcode expected

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2021-02-03 09:55:18 +01:00
Oscar Kilhed
99acad4448
GrafanaUI: Add a way to persistently close InfoBox (#30716)
* GrafanaUI: Add a way to persistently close InfoBox

InfoBox and FeatureInfoBox can take up a lot of screen realestate. This makes it easy to let the user close the boxes.

* Migrate InfoBox story to controls
2021-02-02 15:16:31 +01:00
tanner-bruce
7a4c32d703
Fix typo in transformer registry (#30712) 2021-02-02 14:01:57 +01:00
Hugo Häggmark
08eee87148
Panels: Fixes so panels are refreshed when scrolling past them fast (#30784) 2021-02-01 15:06:46 +01:00
Torkel Ödegaard
a8a3e02699
PanelEdit: Trigger refresh when changing data source (#30744) 2021-01-31 07:32:20 +01:00
Ryan McKinley
26b168f7eb
BarChart: add alpha bar chart panel (#30323) 2021-01-29 12:52:52 -08:00
Divyam Bhasin
1c73ea1731
Dashboard: Top Share URL icon should share panel URL when on viewPanel page (#30000) 2021-01-28 18:27:28 +01:00
Torkel Ödegaard
02f8a139db
PanelEdit: Get rid of last remaining usage of navbar-button (#30682) 2021-01-27 20:10:03 +01:00
Uchechukwu Obasi
d472c7820c
CustomScrollbar: migrated styles from sass to emotion (#30506)
* CustomScrollbar: migrated styles from sass to emotion

* fixes frontend test

* updated changes

* fixed page props and applied changes to all occurences

* moved the getStyles function to the bottom of the file

* made some changes

* fixed snapshot test

* Revert "Merge branch 'refactor-customscrollbar-30354' of https://github.com/grafana/grafana into refactor-customscrollbar-30354"

This reverts commit c45ee30b6b297991a1628e9b21c4121dc78e376c, reversing
changes made to d2645534e3.

* improved props name

* made use of theme variables for style consistency

* fixed snapshot test and updated some theme changes

* removed hover effects from customScrollbar style

* made some changes

* updated some changes

* added label to class names

* changed to a functional component and improved styling

* fixes snapshot test

* fixes small nit

* minor tweaks

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-01-27 17:47:24 +01:00
Torkel Ödegaard
75cb6703a6
DashboardSettings & PanelEdit: Use new PageToolbar (#30675)
* DashboardSettings & PanelEdit: Use new PageToolbar

* Update

* removed back button
2021-01-27 16:46:01 +01:00
Torkel Ödegaard
701ad79bb5
PageToolbar: Extracting navbar styles & layout into a modern emotion based component (#30588)
* Explore: Replaces navbar-button and overriden explore button css classes with ToolbarButton and cleans up scss & markup, removes ResponsiveButton

* Change live button text when paused

* For the dashboard toolbar button I need a transparent button so I refactored the states/variants into a new ToolbarButtonVariatn

* PageToolbar wip

* Progress

* Prgress

* Minor progress

* Fixed back button and responsive titles

* Fixed tv mode

* Updated

* support tv modes and playlist

* more progress

* Fixing lots of view states and responsive features

* Minor fixes

* review fixes

* Fixes to e2e tests

* Review fixes
2021-01-27 15:02:04 +01:00
Jack Westbrook
aaa6ebb231
DashboardSettings: fixes vertical scrolling (#30640)
* fix(dashboardsettings): allow view to scroll vertically

* refactor(dashboardsettings): use theme bg colour instead of palette colour
2021-01-26 15:35:30 +01:00
Torkel Ödegaard
80294b2dbf
TimeRangePicker: Updates components to use new ToolbarButton & ButtonGroup (#30570)
* WIP: Using new components

* Progress

* Everything looks to be working

* Explore: Replaces navbar-button and overriden explore button css classes with ToolbarButton and cleans up scss & markup, removes ResponsiveButton (#30571)

* Explore: Replaces navbar-button and overriden explore button css classes with ToolbarButton and cleans up scss & markup, removes ResponsiveButton

* Change live button text when paused

* Fixed story

* For the dashboard toolbar button I need a transparent button so I refactored the states/variants into a new ToolbarButtonVariatn

* Changing my mind on the transparent variant

* review fixes

* Review fixes
2021-01-25 14:01:54 +01:00
Hugo Häggmark
c5279bba7f
RefreshPicker: Fixes so valid intervals in url are visible in RefreshPicker (#30474)
* RefreshPicker: Fixes so refresh intervals from url are visible in RefreshPicker

* Refactor: changes after PR comments

* Chore: adds comment
2021-01-25 08:37:41 +01:00
Oscar Kilhed
26ae35132f
Dashboard: Remove Icon and change copy -> Copy to clipboard in the share embedded panel modal (#30480) 2021-01-21 11:15:14 +01:00
Hugo Häggmark
e1243e07ca
Graph: Fixes so only users with correct permissions can add annotations (#30419)
* Graph: Fixes so only users with edit permissions can add annotations

* Tests: corrects test message text

* Chore: changes after PR comments
2021-01-21 06:19:03 +01:00
Torkel Ödegaard
05e37e9253
PanelModel: Make sure the angular options are passed to react panel type changed handler (#30441) 2021-01-20 18:28:27 +01:00
Torkel Ödegaard
15033d0011
PanelOptions: Refactoring applying panel and field options out of PanelModel and add property clean up for properties not in field config registry (#30389)
* PanelOptions: Refactoring on applying panel and field options from PanelModel

* Progress

* Filtering out props

* downgraded prettier

* Fixes

* Initial simple remember and restore for custom and overrides

* clearing custom options and overrides and restoring works

* actually use the function

* Added type for options cache

* minor fix

* Updated with new prettier

* Added old field config to panel type change handler

* Update public/app/features/dashboard/state/getPanelOptionsWithDefaults.test.ts

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-01-20 16:06:29 +01:00
Oscar Kilhed
b40b134e4c
Dashboard: Remove template variables option from ShareModal (#30395)
* Dashboard: Remove template variables option and update style of ShareModal (#29191)

* Simplified design

* Changed to text area component for embed and replaced select with RadioButtonGroup

* Use primitive string instead of SelectableValue in the states

* Changed embed html TextArea to writable and added a copy to clipboard button

* Added some space between the buttons on the snapshot tab and removed unnessecary FieldSet elements

* Add descriptions to the tabs that were missing descriptions

* Capitalization of theme names

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-01-20 15:48:49 +01:00
Torkel Ödegaard
1d689888b0
Prettier: Upgrade to 2 (#30387)
* Updated package json but not updated source files

* Update eslint plugin

* updated files
2021-01-20 07:59:48 +01:00
Marcus Andersson
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
Peter Holmberg
4b888d105d
NgAlerting: View query result (#30218)
* Fix query preview add tabs to options

* break out tabs to components

* add refresh button

* minor things after PR review

* hide queries

* Add simple error screen if there's an error

* dropdown with different frames

* move onrunqueries to redux

* cleanup

* show actual error
2021-01-19 14:04:54 +01:00
Jack Westbrook
c0dd1b6d11
Dashboard: migrate version history list (#29970)
* refactor(dashboard): remove redundant directive code from SaveDashboardAsButton

* feat(dashboard): initial commit of rendering version history with react

* feat(dashboard): append versions, use historySrv, UI as functional components

* feat(dashboard): initial commit of versions settings diff view

* refactor(historylist): remove code related to listing versions

* refactor(dashboard): use angular directive to render version comparison

* refactor(dashboard): clean up versions settings

* refactor(dashboard): move version history UI components into own files

* refactor(dashboard): update typings for version history react components

* feat(dashboard): initial commit of react revert dashboard modal

* test(dashboardsettings): clean up historylistctrl tests

* chore(dashboardsettings): remove unused state variable

* test(dashboardsettings): initial commit of VersionSettings component tests

* feat(grafana-ui): add className concatenation on Checkbox label

* Apply suggestions from code review

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* test(dashboardsettings): add more tests for Versions Settings react component

* test(dashboardsettings): add test to assert latest badge in Version history table

* fix(dashboardsettings): pass string to getDiff instead of react event object

* test(dashboardsettings): remove failing test from versions settings

* Moved scroll area to content, and fixed colors

* Update public/app/features/dashboard/components/DashboardSettings/VersionsSettings.test.tsx

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* style(dashboardsettings): add new lines to versions settings tests

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-01-19 13:19:01 +01:00
Torkel Ödegaard
77ef9abeed
PanelEvents: Isolate more for old angular query editors (#30379) 2021-01-19 12:36:50 +01:00
Torkel Ödegaard
c0cddc303a
Badge: Increase contrast, remove rocket icon for plugin beta/alpha state (#30357)
* Badge: Increase contrast, remove rocket icon for plugin beta/alpha state

* Remove icons to simplify design

* Adding warning icons back
2021-01-18 17:16:11 +01:00
kay delaney
a246a26a2f
Dashboards: Exit to dashboard when deleting panel from panel view / edit view (#29032)
* Dashboards: Exit to dashboard when deleting panel from panel view / edit view
Closes #11941

* Remove ability to delete panel when viewing/editing
2021-01-18 13:34:45 +00:00
Dominik Prokop
bedd662c07
Panel options UI: Allow collapsible categories (#30301) 2021-01-18 12:53:22 +01:00
Torkel Ödegaard
e54e997801
Badge: Design improvement & reduce contrast (#30328)
* Badge: Design improvement & reduce contrast

* light theme border tweak

* Updated snapshot
2021-01-18 11:51:27 +01:00
Torkel Ödegaard
c0eadeba3a
Gauge: Fixes issue with all null values cause min & max to be null (#30156) 2021-01-11 13:25:08 +01:00
Torkel Ödegaard
ba158e72df
GraphNG: Minor polish & updates to new time series panel and move it from alpha to beta (#30163)
* GraphNG: Minor polish & updates to new time series panel

* Fixed gradient default

* Updated snapshot
2021-01-10 17:41:20 +01:00
Torkel Ödegaard
1c808be0f3
QueryEditorRow: Ability to change query name (#29779)
* QueryEditorRow: Ability to change query name

* Style tweaks

* Updated UX

* Fixed tests

* Added validation messages

* Fixed keyboard navigation

* Updated tests
2021-01-07 15:33:15 +01:00
Hugo Häggmark
b6efebd92c
Elastic: Fixes so templating queries work (#30003)
* Elastic: Fixes so templating queries work

* Chore: fixes test

* Fix: fixes getFields from metricFindQuery
2021-01-07 10:26:56 +00:00
Marcus Andersson
7aa6926ef6
GraphNG: adding possibility to toggle tooltip, graph and legend for series (#29575) 2021-01-06 12:40:32 -08:00
Torkel Ödegaard
e375fb0f2b
PanelEvents: Isolating angular panel events into it's own event bus + more event refactoring (#29904)
* PanelEvents: Isolate angular events from panel model events, use new Event patterns

* Removing some events that are not longer needed

* Updated DashboardModel

* Update

* Review fixes
2020-12-23 10:45:31 +01:00
Torkel Ödegaard
d066da42f8
Dashboard: Migrating dashboard settings to react (#27561)
* Dashboard: Started migrating dashboard settings

* Restore general settings from angular

* Use react permissions component

* feat(dashboard): add react LinksSettings wrapper for dash-links-editor

* feat(dashboard): add react VersionsSettings wrapper for gf-dashboard-history

* refactor(dashboard): replace DashboardPermissions connectWithStore with connect

* chore(dashboard): folderInfo as undefined

* feat(dashboard): initial commit of dashboard settings json editor

* feat(dashboard): introduce save json functionality

* chore(dashboard): delete obsolete imports

* feat(dashboard): add save and save as buttons to settings nav

* feat(dashboard): add react wrapper for annotations settings

* chore(dashboard): put back canDelete for general settings delete button

* Make editable

* Remove makeEditable from SettingsCtrl

* feat(dashboard): show json editor save button if canSave

* refactor(dashboard): move hasUnsavedFolderChange to dashboard.meta

* feat(dashboard): render hasUnsavedFolderChange view in permissions settings

* feat(dashboard): reset hasUnsavedFolderChange on settingg save success

* feat(dashboard): refresh route on sucessful settings save

* test(dashboard): update snapshots

* refactor(dashboard): automatically infer connected props for dashboard permissions

* refactor(dashboard): give dashboard versions checkboxes some padding

* Update public/app/types/folders.ts

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

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2020-12-17 15:50:11 +01:00
Torkel Ödegaard
72736bd2a1
PanelEdit: Update UI if panel plugin changes field config (#29898) 2020-12-17 13:30:55 +01:00
Torkel Ödegaard
1ee9745794
PanelEdit: Need new data after plugin change (#29874)
* PanelEdit: Need new data after plugin change

* Updated
2020-12-17 11:45:28 +01:00
Dominik Prokop
332f2f1ae8
Field Config API: Add ability to hide field option or disable it from the overrides (#29879)
* Add ability to hide field option or disable it from the overrides

* Rename options

* Tests
2020-12-17 09:20:47 +01:00
Dominik Prokop
683ce69347
Link suppliers: getLinks API update (#29757)
* ContextMenuPlugin WIP

* Remove Add annotations menu item from graph context menu

* ts ifx

* WIP

* Tests updates

* ts check fix

* Fix rebase

* Use replace function in angular graph data links
2020-12-15 13:29:37 +01:00
Hugo Häggmark
5f4b528122
Select: Changes default menu placement for Select from auto to bottom (#29837)
* Select: Changes default menuPlacement from auto to bottom

* Tests: Fixes snapshot
2020-12-15 12:46:31 +01:00
Alex Khomenko
b1a57c6f77
Chore: Automatically infer types for dashgrid connected components (#29818)
* Refactor DashboardPanel

* Refactor PanelEditor

* Fix missing initializer

* Update public/app/features/dashboard/components/PanelEditor/PanelEditor.tsx

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>

* Simplify type

* Remove unused type

* Move prop connectors on top

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
2020-12-15 13:18:40 +02:00
Ryan McKinley
530e0f86e4
QueryEditor: do not auto refresh on every update (#29762) 2020-12-14 12:22:21 -08:00
Peter Holmberg
6118ab415d
Alerting: Next gen Alerting page (#28397)
* create page and sidebar entry

* add components for query editor and definition

* split pane things

* add reducer and action

* implement split pane and update ui actions

* making things pretty

* Unify toolbar

* minor tweak to title prefix and some padding

* can create definitions

* fix default state

* add notificaion channel

* add wrappers to get correct spacing between panes

* include or exclude description

* implement query editor

* start on query result component

* update from master

* some cleanup and remove expressions touch ups

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2020-12-11 14:49:14 +01:00
Torkel Ödegaard
3d6380a0aa
QueryGroup & DataSourceSrv & DataSourcePicker changes simplify usage, error handling and reduce duplication, support for uid (#29542)
* Starting moving more stuff into data source picker

* WIP progress

* Progress on datasource picker rethink

* Things are working now some details to figure out

* Removed commented part

* Complex work on getting data source lists

* Fixed variable support showing correct data sources

* Tried fixing dashboard import but failed

* Fixes

* Fixed import dashboard

* Fixed unit test

* Fixed explore test

* Fixed test

* Fix

* fixed more tests

* fixed more tests

* fixed showing which option is default in picker

* Changed query variable to use data source picker, updated tests and e2e

* Fixed more tests

* Updated snapshots, had wrong typescript version
2020-12-04 14:24:55 +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
kay delaney
56db402d0f
Chore: Upgrade typescript to 4.1 (#29493)
* Chore: Upgrade typescript to 4.1
2020-12-03 15:05:59 +00:00
Ryan McKinley
0b6434d0e8
Overrides: show category on the overrides (#29556) 2020-12-02 22:17:24 -08:00
Torkel Ödegaard
068fef8c7c
QueryEditors: Refactoring & rewriting out dependency on PanelModel (#29419)
* Removing PanelModel usage from query rows

* More work removing dependency on panel model

* Before big change to query options

* Query options now have no dependency on panel model

* Test page is working

* Shared query now works again

* Rename component

* fix after merge

* Fixed issue with old angular editors
2020-12-02 15:42:54 +01:00
Hugo Häggmark
3dcfe54d8d
Variables: Fixes Textbox current value persistence (#29481)
* Variables: Fixes savequery for Constant and TextBox variables

* Refactor: reverts textbox changes

* Refactor: Fixes dashboard export and tests

* Refactor: hides or migrates Constant variables

* Tests: fixes snapshots

* Variables: Fixes Textbox current value persistance

* Refactor: fixes PR comments and adds e2e tests
2020-12-02 14:08:35 +01:00
Chi-Hsuan Huang
73518bf1e7
Chore: Enable remaining eslint-plugin-react rules (#29519)
* Chore: Enable eslint react/no-render-return-value rule

Eanble the rule and remove the unused render return

part of: #29201

* Chore: Enable eslint react/no-children-prop rule

Not linting issues after turning on this. No other file changes requried

part of: #29201

* Chore: Enable eslint react/no-unknown-property rule

Correct enable-background to enableBackground

part of: #29201

* Chore: Enable eslint react/no-unescaped-entities rule

Replaced " with &quot; replaced ' with &apos;

part of: #29201
2020-12-02 10:03:37 +01:00
Torkel Ödegaard
34f2a72ff2
DataLinks: Removes getDataSourceSettingsByUid from applyFieldOverrides (#29447)
* DataLinks: Removes getDataSourceSettingsByUid from applyFieldOverrides and data linking code

* Fixed test

* Fixed a few tests

* Fixed unit tests

* Removed old getDataSourceSettingsByUid from interface, still there for runtime backward compatability
2020-12-01 19:10:23 +01:00
Chi-Hsuan Huang
546f569e0c
Chore: Enable eslint-plugin-react partial rules (#29428)
* Chore: Enable eslint react/display-name

Enable react/display-name and fixed the corresponding linting issue

part of: #29201

* Chore: Enable eslint react/no-deprecated

Enable react/no-deprecated and add the UNSAFE_ prefix for deprected methods

part of: #29201

* Chore: Enable eslint react/no-find-dom-node

Enable react/no-find-dom-node rule and use ref instead

part of: #29201

* Test: Update TeamGroupSync test snapshot

Since we added the displayName for ToolTip compontent and tag name is changed.

* Fix: Fixed ClickOutsideWrapper render

The props.children might contains numbers of nodes which make cloneElement failed. Change to simply use a div to wrapper
the children and assign the ref to div for this feature

* Style: Use shorthand method definition style for inline component

* Fix: Rebase master and fix linting

Rebase from master branch and fix new displayName linting warning
2020-12-01 16:19:52 +01:00
Hugo Häggmark
fb622650f3
Variables: Fixes Constant variable persistence confusion (#29407)
* Variables: Fixes savequery for Constant and TextBox variables

* Refactor: reverts textbox changes

* Refactor: Fixes dashboard export and tests

* Refactor: hides or migrates Constant variables

* Tests: fixes snapshots
2020-12-01 15:02:49 +01:00
Ryan McKinley
097dcc456a
MinMax: keep global min/main in field state (#29406) 2020-11-29 09:22:16 -08:00
Torkel Ödegaard
2179aa0fa7
Queries: Extract queries from dashboard (#29349)
* Moving query stuff out of dashboard folder

* Moved more stuff

* Moving more stuff

* Update

* WIP test page

* Minor change

* Before big changes

* Fixed test
2020-11-26 18:12:02 +01:00
Torkel Ödegaard
bba1208c3d
PanelEvents: Refactors and removes unnecessary events, fixes panel editor update issue when panel options change (#29414)
* Refactoring some events to new events

* More refactoring

* Make panel editor subscribe to new event

* Minor change and comment added

* Updated snapshot
2020-11-26 15:14:57 +01:00
Peter Holmberg
26e3b61f92
Fix: Correct panel edit uistate migration (#29413) 2020-11-26 14:57:32 +01:00
Peter Holmberg
06e48cb869
Fix: Migrate Panel edit uiState percentage strings to number (#29412) 2020-11-26 13:27:50 +01:00
Ryan McKinley
a33249fecc
PanelEditor: allow access to the eventBus from panel options (#29327) 2020-11-25 11:32:14 -08:00
Peter Holmberg
0b2a6ec7fe
Core: Move SplitPane layout from PanelEdit. (#29266)
* move split pane logic to its own component

* fix update function typing

* destruct updateuistate

* updates after review

* reword the rightpane to work for text panel
2020-11-25 11:24:06 +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
Dominik Prokop
0cfb967404
ESlint: React fixes part 1 (#29062)
* Eslint: allign with latest grafana-eslint-config

* fix ts

* Fix react/jsx-key

* Fix react/no-children-prop

* Fix react/jsx-no-target-blank
2020-11-18 15:36:35 +01:00
Hugo Häggmark
112a755e18
Variables: Adds new Api that allows proper QueryEditors for Query variables (#28217)
* Initial

* WIP

* wip

* Refactor: fixing types

* Refactor: Fixed more typings

* Feature: Moves TestData to new API

* Feature: Moves CloudMonitoringDatasource to new API

* Feature: Moves PrometheusDatasource to new Variables API

* Refactor: Clean up comments

* Refactor: changes to QueryEditorProps instead

* Refactor: cleans up testdata, prometheus and cloud monitoring variable support

* Refactor: adds variableQueryRunner

* Refactor: adds props to VariableQueryEditor

* Refactor: reverted Loki editor

* Refactor: refactor queryrunner into smaller pieces

* Refactor: adds upgrade query thunk

* Tests: Updates old tests

* Docs: fixes build errors for exported api

* Tests: adds guard tests

* Tests: adds QueryRunner tests

* Tests: fixes broken tests

* Tests: adds variableQueryObserver tests

* Test: adds tests for operator functions

* Test: adds VariableQueryRunner tests

* Refactor: renames dataSource

* Refactor: adds definition for standard variable support

* Refactor: adds cancellation to OptionPicker

* Refactor: changes according to Dominiks suggestion

* Refactor:tt

* Refactor: adds tests for factories

* Refactor: restructuring a bit

* Refactor: renames variableQueryRunner.ts

* Refactor: adds quick exit when runRequest returns errors

* Refactor: using TextArea from grafana/ui

* Refactor: changed from interfaces to classes instead

* Tests: fixes broken test

* Docs: fixes doc issue count

* Docs: fixes doc issue count

* Refactor: Adds check for self referencing queries

* Tests: fixed unused variable

* Refactor: Changes comments
2020-11-18 15:10:32 +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
Torkel Ödegaard
0f3bebb38d
Snapshots: Fixes so that dashboard snapshots show data when using Stat, Gauge, BarGauge or Table panels (#29031) 2020-11-17 10:25:36 +01:00
Jack Westbrook
6d40206431
Dashboard: remove usage of Legacyforms (#28707)
* refactor(dashboard): remove usage of legacyform components in sharemodal

* refactor(dashboard): replace legacyform components

* refactor(dashboard): remove ng-if and correct typo in content of sharesnapshot

* feat(grafana-ui): set displayName prop for Switch component

* refactor(dashboard): migrate TimePickerSettings legacyform components

* refactor(queryoptions): migrate switch and input to nextgen components

* refactor(sharesnapshot): prefer InlineFieldRow over gf-form-group

* refactor(shareembed): styling fixes

* refactor(timepickersettings): prefer double bang over nullish coalescing operator

* fix(grafana-ui): switch uses id prop if passed in

* feat: connect labels and switches with ids
2020-11-11 14:52:22 +01:00
Andrej Ocenas
5bed54170e
Chore: Split Explore redux code into multiple sections (#28819)
* Split main reducer from item reducer

* Move query related redux to separate file

* Split more parts and tests

* Fix import

* Remove unused code

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

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Add section comments

* Rename ExploreItem to ExplorePane

* Fix imports

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2020-11-09 14:48:24 +01:00