Commit Graph

243 Commits

Author SHA1 Message Date
Torkel Ödegaard
ac3fb6452d
Dashboard: Fix export for sharing when panels use default data source (#19315)
* PanelModel: moved datasource: null away from defaults that are removed

* Added unit test
2019-09-24 12:15:35 +02:00
Andrej Ocenas
4c1bc59889
Explore: Fix unsubscribing from Loki websocket (#19263) 2019-09-23 22:48:39 +02:00
Hugo Häggmark
9bd6ed887c
Alerting: Prevents creating alerts from unsupported queries (#19250)
* Refactor: Makes PanelEditor use state and shows validation message on AlerTab

* Refactor: Makes validation message nicer looking

* Refactor: Changes imports

* Refactor: Removes conditional props

* Refactor: Changes after feedback from PR review

* Refactor: Removes unused action
2019-09-23 05:17:00 -07:00
Torkel Ödegaard
fd21e0ba14
DataLinks: enable access to labels & field names (#18918)
* POC: trying to see if there is a way to support objects in template interpolations

* Added support for nested objects, and arrays

* Added accessor cache

* fixed unit tests

* First take

* Use links supplier in graph

* Add field's index to cache items

* Get field index from field cache

* CHange FiledCacheItem to FieldWithIndex

* Add refId to TimeSeries class

* Make field link supplier work with _series, _field and _value vars

* use field link supplier in graph

* Fix yaxis settings

* Update dashboard schema version and add migration for data links variables

* Update snapshots

* Update build in data link variables

* FieldCache - idx -> index

* Add current query results to panel editor

* WIP Updated data links dropdown to display new variables

* Fix build

* Update variables syntac in field display, update migration

* Field links supplier: review updates

* Add data frame view and field name to TimeSeries for later inspection

* Retrieve data frame from TimeSeries when clicking on plot graph

* Use data frame's index instead of view

* Retrieve data frame by index instead of view on TimeSeries

* Update data links prism regex

* Fix typecheck

* Add value variables to suggestions list

* UI update

* Rename field to config in DisplayProcessorOptions

* Proces single value of a field instead of entire data frame

* Updated font size from 10px to 12px for auto complete

* Replace fieldName with fieldIndex in TimeSeries

* Don't use .entries() for iterating in field cache

* Don't use FieldCache when retrieving field for datalinks in graph

* Add value calculation variable to data links (#19031)

* Add support for labels with dots in the name (#19033)

* Docs update

* Use field name instead of removed series.fieldName

* Add test dashboard

* Typos fix

* Make visualization tab subscribe to query results

* Added tags to dashboard so it shows up in lists

* minor docs fix

* Update singlestat-ish variables suggestions to contain series variables

* Decrease suggestions update debounce

* Enable whitespace characters(new line, space) in links and strip them when processing the data link

* minor data links UI update

* DataLinks: Add __from and __to variables suggestions to data links (#19093)

* Add from and to variables suggestions to data links

* Update docs

* UI update and added info text

* Change ESC global bind to bind (doesn't capture ESC on input)

* Close datalinks suggestions on ESC

* Remove unnecessary fragment
2019-09-13 16:38:21 +02:00
Ryan McKinley
5b9901ebba GraphPanel: don't listen to legacy onDataReceived events (#19054)
* don't listen to legacy data events in graph

* fix test

* rename function

* add annotationsSrv stub

* use const

* fix preProcessPanelData

* update test
2019-09-13 06:40:10 +02:00
Torkel Ödegaard
55717769a3
QueryProcessing: Fixes showing last result in initial loading state (#19057)
* PanelQueryRunner: Need to cache preProcessPanelData function between runs so last result can be remembered

* Better fix for remembering lastResult

* Code simplification

* Simplify code a bit
2019-09-12 21:42:50 +02:00
Torkel Ödegaard
140ecbcf79
QueryProcessing: Observable query interface and RxJS for query & stream processing (#18899)
* I needed to learn some rxjs and understand this more, so just playing around

* Updated

* Removed all the complete calls

* Refactoring

* StreamHandler -> observable start

* progress

* simple singal works

* Handle update time range

* added error handling

* wrap old function

* minor changes

* handle data format in the subscribe function

* Use replay subject to return last value to subscribers

* Set loading state after no response in 50ms

* added missing file

* updated comment

* Added cancelation of network requests

* runRequest: Added unit test scenario framework

* Progress on tests

* minor refactor of unit tests

* updated test

* removed some old code

* Shared queries work again, and also became so much simplier

* unified query and observe methods

* implict any fix

* Fixed closed subject issue

* removed comment

* Use last returned data for loading state

* WIP: Explore to runRequest makover step1

* Minor progress

* Minor progress on explore and runRequest

* minor progress

* Things are starting to work in explore

* Updated prometheus to use new observable query response, greatly simplified code

* Revert refId change

* Found better solution for key/refId/requestId problem

* use observable with loki

* tests compile

* fix loki query prep

* Explore: correct first response handling

* Refactorings

* Refactoring

* Explore: Fixes LoadingState and GraphResults between runs (#18986)

* Refactor: Adds state to DataQueryResponse

* Fix: Fixes so we do not empty results before new data arrives
Fixes: #17409

* Transformations work

* observable test data

* remove single() from loki promise

* Fixed comment

* Explore: Fixes failing Loki and Prometheus unit tests (#18995)

* Tests: Makes datasource tests work again

* Fix: Fixes loki datasource so highligthing works

* Chore: Runs Prettier

* Fixed query runner tests

* Delay loading state indication to 200ms

* Fixed test

* fixed unit tests

* Clear cached calcs

* Fixed bug getProcesedDataFrames

* Fix the correct test is a better idea

* Fix: Fixes so queries in Explore are only run if Graph/Table is shown (#19000)

* Fix: Fixes so queries in Explore are only run if Graph/Table is shown
Fixes: #18618

* Refactor: Removes unnecessary condition

* PanelData: provide legacy data only when needed  (#19018)

* no legacy

* invert logic... now compiles

* merge getQueryResponseData and getDataRaw

* update comment about query editor

* use single getData() function

* only send legacy when it is used in explore

* pre process rather than post process

* pre process rather than post process

* Minor refactoring

* Add missing tags to test datasource response

* MixedDatasource: Adds query observable pattern to MixedDatasource (#19037)

* start mixed datasource

* Refactor: Refactors into observable parttern

* Tests: Fixes tests

* Tests: Removes console.log

* Refactor: Adds unique requestId
2019-09-12 17:28:46 +02:00
Ryan McKinley
7520ebadac
Refactor: move ScopedVars to grafana/data (#18992) 2019-09-10 12:06:01 -07:00
Ryan McKinley
7d32caeac2 Transformers: configure result transformations after query(alpha) (#18740) 2019-09-09 08:58:57 +02:00
kay delaney
a838d2b30a
Explore: Adds ability to save a panel's query from Explore (#17982)
* Explore: Adds ability to return to origin dashboard
2019-09-05 13:44:37 +01:00
Ryan McKinley
991f77cee1 Loki: support loki with streaming in dashboards (#18709)
Move some of the buffering with live streaming inside of the datasource, sending full frames instead of deltas and allow Loki in dashboards.
2019-09-05 14:04:01 +02:00
Torkel Ödegaard
09032cd766 PanelQueryState: restore comment 2019-09-03 18:20:58 +02:00
Torkel Ödegaard
8272dc87ab WIP: Use data frames in explore 2019-09-03 12:09:52 +02:00
Hugo Häggmark
409874b35d Explore: Introduces PanelData to ExploreItemState (#18804)
* WIP: inital POC

* Wip: Moving forward

* Wip

* Refactor: Makes loading indicator work for Prometheus

* Refactor: Reverts prom observable queries because they did not work for multiple targets

* Refactor: Transforms all epics into thunks

* Fix: Fixes scanning

* Fix: Fixes so that Instant and TimeSeries Prom query loads in parallel

* Fix: Fixes negation logic error

* Wip: Introduces PanelData as a carries for query responses

* Refactor: Makes errors work again

* Refactor: Simplifies code somewhat and removes comments

* Tests: Fixes broken tests

* Fix query latency

* Remove unused code
2019-09-03 09:55:20 +02:00
Ryan McKinley
c777301535 DataFrame: split DataFrameHelper into MutableDataFrame and FieldCache (#18795)
* add appending utility

* add appending utility

* update comment

* rename to mutable

* move mutable functions out of DataFrameHelper

* move mutable functions out of DataFrameHelper

* move mutable functions out of DataFrameHelper

* turn DataFrameHelper into FieldCache

* guess time from name

* graph the numbers

* return the timeField, not just the index

* just warn on duplicate field names

* only use a parser if the input is a string

* append init all fields to the same length

* typo

* only parse string if value is a string

* DataFrame: test fixes

* Switch to null for missing values

* Fixed tests
2019-09-01 14:44:22 +02:00
Torkel Ödegaard
65a6eda93b
DashboardMigrator: Fixed issue migrating incomplete panel link models (#18786) 2019-08-30 15:23:38 +02:00
Dominik Prokop
e4a0b2240d
Panels: Destroy panel model when recreating repeated panels (#18799)
Fixes #18533

To recreate the bug described in the original issue in the simplest possible way:

1. Setup dashboard with a single panel and repeat it using variables
2. Set the dashboard refresh to 5s
3. Hover over repeated panel during the refresh

What happened there?
When panels are repeated every time the dashboard is refreshed or variables change the repeated PanelModels are recreated. In https://github.com/grafana/grafana/blob/master/public/app/features/dashboard/state/DashboardModel.ts#L322 the models are removed from dashboard panel's model property what makes the dashboard re-render with source panel only, and then back again with the repeated panels when models are re-created. This means creating new DashboardPanel components. But when the repeated PanelModels are removed, they are not destroyed what results in a behaviour described in #18533.

This is a quick fix for this issue. Ideally I think we should use some cache and update the repeated PanelModels when the refresh or variables change trigger re-render, instead of re-creating those every time. I don't want to do this ATM as the logic around repeating panels is quite complex and require some <3.
2019-08-30 08:42:21 +02:00
Torkel Ödegaard
e6e8611d52
Explore: Fixed issue in PanelQuery state arround cancellation (#18771)
* Explore: Fixed issue in PanelQuery state arround cancellation

* Added unit test

* Fixed typescript issues in test
2019-08-29 16:25:10 +02:00
Hugo Häggmark
5ca643f2ba Explore: Use PanelQueryState to handle querying (#18694)
* WIP: inital POC

* Wip: Moving forward

* Wip

* Refactor: Makes loading indicator work for Prometheus

* Refactor: Reverts prom observable queries because they did not work for multiple targets

* Refactor: Transforms all epics into thunks

* Fix: Fixes scanning

* Fix: Fixes so that Instant and TimeSeries Prom query loads in parallel

* Fix: Fixes negation logic error

* Propagate errors in stream events, and close streams
2019-08-28 18:24:52 +02:00
Ryan McKinley
ff6b8c5adc DataLinks: enable data links in Gauge, BarGauge and SingleStat2 panel (#18605)
* datalink on field

* add dataFrame to view

* Use scoped variables to pass series name and value time to data links interpolation

* Use scoped variables to pass series name and value time to data links interpolation

* Enable value specific variable suggestions when Gauge is displaying values

* Fix prettier

* Add basic context menu with data links to GaugePanel

* Fix incorrect import in grafana/ui

* Add custom cursor indicating datalinks available via context menu (in Gauge only now)

* Add data links to SingleStat2

* Minor refactor

* Retrieve data links in a lazy way

* Update test to respect links retrieval being lazy

* delay link creation

* cleanup

* Add origin to LinkModel and introduce field & panel links suppliers

* Add value time and series name field link supplier

* Remove links prop from visualization and implement common UI for data links context menu

* Update snapshot

* Rename className prop to clickTargetClassName

* Simplify condition

* Updated drilldown dashboard and minor changes

* Use class name an onClick handler on the top level dom element in visualization

* Enable series name interpolation when presented value is a calculation
2019-08-28 08:50:43 +02:00
Ryan McKinley
e1924608a2 DashboardDatasource: reuse query results within a dashboard (#16660)
* move queryRunner to panelModel

* remove isEditing from PanelChrome

* move listener to QueriesTab

* add shared query datasource

* expose getDashboardSrv to react

* no changes to panel chrome

* issue queries when in fullscreen

* moved to regular QueryEditor interface

* moved to regular QueryEditor interface

* lower limit

* add dashboard query

* no changes to editor row

* fix sort order

* fix sort order

* make it an alpha panel

* make panelId a getter

* fix angular constructor

* rename SeriesData to DataFrame

* merge with master

* use series

* add simple tests

* check unsubscribe

* Minor code cleanup, creating Subjects look cheap and does not need to be lazy, simplifies code

* minor refactor

* Minor refacforing, renames

* added test dashboard
2019-08-27 11:06:49 +02:00
Ryan McKinley
21948e80e0
SingleStat: add a gauge migration call to action button in the editor (#18604) 2019-08-18 15:01:07 -07:00
Ryan McKinley
e59bae55d9
DataFrame: convert from row based to a columnar value format (#18391) 2019-08-15 09:18:51 -07:00
Šimon Podlipský
494ac90c69 QueryData: Handle that response data must be array (#18504)
Fixes #18499
2019-08-13 11:25:51 +02:00
Torkel Ödegaard
541981c341
Gauge/BarGauge: Rewrite of how migrations are applied (#18375) 2019-08-06 08:26:11 +02:00
Ryan McKinley
5f4b5dfecd
Refactor: use data rather than series in stream callback(#18126) 2019-08-01 23:16:29 -07:00
Tobias Skarhed
83da3660da
Chore: noImplictAny no errors left (#18303)
* Add types and rewrite datasourceChanged to async/await
2019-08-01 14:38:34 +02:00
Tobias Skarhed
7891233812
Chore: noImplicitAny Sub 500 errors (#18287) 2019-07-30 15:49:32 +02:00
Ryan McKinley
14caa6a068
FieldDisplay: move threshold and mapping to Field (#17043) 2019-07-12 08:32:39 -07:00
Ryan McKinley
bdaf0aa81a
Refactor: move more files to @grafana/data (#17972) 2019-07-06 09:18:23 -07:00
Ryan McKinley
fcdc29746f
@grafana/data: export dateMath and rangeUtil (#17971) 2019-07-05 23:43:12 -07:00
Ryan McKinley
3f15170914 Refactor: move some files to @grafana/data (#17952)
* moving to data WIP

* more refactoring

* add missing test

* mock full path

* remove sinon from grafana-ui
2019-07-06 08:05:53 +02:00
Ryan McKinley
e7c3d0ed97
Refactor: rename SeriesData to DataFrame (#17854) 2019-07-01 12:00:29 -07:00
Torkel Ödegaard
335cec07a5
Graph: Add data links feature (click on graph) (#17267)
* WIP: initial panel links editor

* WIP: Added dashboard migration to new panel drilldown link schema

* Make link_srv interpolate new variables

* Fix failing tests

* Drilldown: Add context menu to graph viz (#17284)

* Add simple context menu for adding graph annotations and showing drilldown links

* Close graph context menu when user start scrolling

* Move context menu component to grafana/ui

* Make graph context menu appear on click, use cmd/ctrl click for quick annotations

* Move graph context menu controller to separate file

* Drilldown: datapoint variables interpolation (#17328)

* Add simple context menu for adding graph annotations and showing drilldown links

* Close graph context menu when user start scrolling

* Move context menu component to grafana/ui

* Make graph context menu appear on click, use cmd/ctrl click for quick annotations

* Add util for absolute time range transformation

* Add series name and datapoint timestamp interpolation

* Rename drilldown link variables tot snake case, use const values instead of strings in tests

* Bring LinkSrv.getPanelLinkAnchorInfo for compatibility reasons and add deprecation warning

* Rename seriesLabel to seriesName

* Drilldown: use separate editors for panel and series links (#17355)

* Use correct target ini context menu links

* Rename PanelLinksEditor to DrilldownLinksEditor and mote it to grafana/ui

* Expose DrilldownLinksEditor as an angular directive

* Enable visualization specifix drilldown links

* Props interfaces rename

* Drilldown: Add variables suggestion and syntax highlighting for drilldown link editor (#17391)

* Add variables suggestion in drilldown link editor

* Enable prism

* Fix backspace not working

* Move slate value helpers to grafana/ui

* Add syntax higlighting for links input

* Rename drilldown link components to data links

* Add template variabe suggestions

* Bugfix

* Fix regexp not working in Firefox

* Display correct links in panel header corner

* bugfix

* bugfix

* Bugfix

* Context menu UI tweaks

* Use data link terminology instead of drilldown

* DataLinks: changed autocomplete syntax

* Use singular form for data link

* Use the same syntax higlighting for built-in and template variables in data links editor

* UI improvements to context menu

* UI review tweaks

* Tweak layout of data link editor

* Fix vertical spacing

* Remove data link header in context menu

* Remove pointer cursor from series label in context menu

* Fix variable selection on click

* DataLinks: migrations for old links

* Update docs about data links

* Use value time instead of time range when interpolating datapoint timestamp

* Remove not used util

* Update docs

* Moved icon a bit more down

* Interpolate value ts only when using __value_time variable

* Bring href property back to LinkModel

* Add any type annotations

* Fix TS error on slate's Value type

* minor changes
2019-06-25 11:38:51 +02:00
Johannes Schill
0412a28d2e TimePicker: New time picker dropdown & custom range UI (#16811)
* feat: Add new picker to DashNavTimeControls

* chore: noImplicitAny limit reached

* chore: noImplicityAny fix

* chore: Add momentUtc helper to avoid the isUtc conditionals

* chore: Move getRaw from Explore's time picker to grafana/ui utils and rename to getRawRange

* feat: Use helper functions to convert utc to browser time

* fix: Dont Select current value when pressing tab when using Time Picker

* fix: Add tabIndex to time range inputs so tab works smoothly and prevent mouseDown event to propagate to react-select

* fix: Add spacing to custom range labels

* fix: Updated snapshot

* fix: Re-adding getRaw() temporary to fix the build

* fix: Disable scroll event in Popper when we're using the TimePicker so the popup wont "follow" the menu

* fix: Move all "Last xxxx" quick ranges to the menu and show a "UTC" text when applicable

* fix: Add zoom functionality

* feat: Add logic to mark selected option as active

* fix: Add tooltip to zoom button

* fix: lint fix after rebase

* chore: Remove old time picker from DashNav

* TimePicker: minor design update

* chore: Move all time picker quick ranges to the menu

* fix: Remove the popover border-right, since the quick ranges are gone

* chore: Remove function not in use

* Fix: Close time picker on resize event

* Fix: Remove border bottom

* Fix: Use fa icons on prev/next arrows

* Fix: Pass ref from TimePicker to TimePickerOptionGroup so the popover will align as it should

* Fix: time picker ui adjustments to get better touch area on buttons

* Fix: Dont increase line height on large screens

* TimePicker: style updates

* Fix: Add more prominent colors for selected dates and fade out dates in previous/next month

* TimePicker: style updates2

* TimePicker: Big refactorings and style changes

* Removed use of Popper not sure we need that here?
* Made active selected item in the list have the "selected" checkmark
* Changed design of popover
* Changed design of and implementation of the Custom selection in the dropdown it did not feel like a item you
could select like the rest now the list is just a normal list

* TimePicker: Refactoring & style changes

* TimePicker: use same date format everywhere

* TimePicker: Calendar style updates

* TimePicker: fixed unit test

* fixed unit test

* TimeZone: refactoring time zone type

* TimePicker: refactoring

* TimePicker: finally to UTC to work

* TimePicker: better way to handle calendar utc dates

* TimePicker: Fixed tooltip issues

* Updated snapshot

* TimePicker: moved tooltip from DashNavControls into TimePicker
2019-06-24 14:39:59 +02:00
Ryan McKinley
574a37e46f
@grafana/runtime: expose location update (#17428) 2019-06-04 16:20:55 +02:00
Ryan McKinley
96ba32d0c8
Add a @grafana/runtime package with backendSrv interface (#16533)
grafana-runtime/tsconfig.json imports query to avoid a build error  ¯\_(ツ)_/¯
2019-06-03 17:55:59 +02:00
Ryan McKinley
1033f0f905 DataSourceMeta: add an option to get hidden queries (#17124)
* add an option to get hidden queries

* make sure you have meta

* supportsHiddenQueries

* remove spaces

* DataSources: hidden queries flag
2019-05-21 13:46:19 +02:00
Dominik Prokop
73e4178aef Panel: Apply option defaults on panel init and on save model retrieval (#17174)
* Apply panel options defaults on panel init and on save model retrieval

* Remove unnecessary argument, added tests

* Make FieldPropertiesEditor statefull to enable onBlur changes

* Remove unnecessary import

* Post-review updates

Fixes #17154
2019-05-21 13:19:19 +02:00
Torkel Ödegaard
f58ab7945b
PanelModel: Fix crash after window resize, fixes #16933 (#16942) 2019-05-08 17:21:46 +02:00
Hugo Häggmark
ceb9f0855b
Chore: Replaces moment with Grafanas DateTime (#16919)
* Wip: Initial commit

* Refactor: Replaces moment.utc(

* Refactor: replaces the last isMoment statements

* Refactor: Removes almost all moment imports

* Refactor: Moves moment_wrapper to grafana/ui

* Refactor: Renames momentWrapper

* Refactor: Removes one more moment import

* Refactor: Removes unitOfTime import

* Fix: Fixes Prettier error

* Refactor: Renames DateTimeType to DateTime

* Refactor: Renames isDateTimeType to isDateTime

* Refactor: Renames dateTime to dateTime

* Feature: Bans moment imports and types
2019-05-08 13:51:44 +02:00
Ryan McKinley
1d8786e3a6 DataSource Plugins: consistent generics order <TQuery,TOptions> (#16936)
* consistent TQuery,TOptions

* add json for azure

* cloudwatch
2019-05-08 09:37:50 +02:00
Torkel Ödegaard
108eb5f07c
BarGauge: Updated test dashboards and threshold fix (#16911) 2019-05-07 06:07:33 +02:00
Torkel Ödegaard
f8393fb339
PanelModel: Clear queryRunner on destroy (#16906)
* PanelModel: Clear queryRunner on destroy

* fix test asumptions
2019-05-06 19:35:10 +02:00
Torkel Ödegaard
48ae93048b
Panels: No title will no longer make panel header take up space (#16884)
* Panels: Initial poc of no panel titles

* moving panel-container to DashboardPanel

* Starting to work

* Gauge fix

* Panels: tweaked panel padding and title z-index stuff

* Panels: changed panel padding a bit and simplified it by having same padding in vertical and horizontal

* Lots of tweaks to panel padding related stuff

* Updated snapshot

* Added test dashboard

* Final refactorings

* Trim title befgor applying panel-container--no-title class

* Remove unnecessary type annotation

* Panels: hasTitle no need to trim

* Gauge: fixed font family
2019-05-06 15:26:09 +02:00
Ryan McKinley
d881976c9d Refactor: move datemath to grafana/ui (#16890)
* move datemath to grafana/ui

* don't reference @grafana/ui from its own component
2019-05-06 12:36:42 +02:00
Ryan McKinley
513c79d392 PanelQueryState: check for existing running query (#16894)
Fixes #16880
2019-05-06 12:09:53 +02:00
Ryan McKinley
bb64a0673d
PanelModel: expose isInView property to PanelModel (#16877) 2019-05-03 12:55:22 -07:00
Torkel Ödegaard
40b771c04d
Panels: Fixed issue with panel type change and data updates (#16871) 2019-05-03 10:29:22 +02:00
Ryan McKinley
51a98565dc
Refactor: consistant plugin/meta usage (#16834) 2019-04-30 22:36:46 -07:00
Ryan McKinley
7dbe719fda
Plugins: rename vizPlugin to panelPlugin (#16802) 2019-04-29 09:20:58 -07:00
Ryan McKinley
5c2d38126d
Plugins: move PanelPluginMeta to grafana/ui (#16804) 2019-04-29 08:17:35 -07:00
Torkel Ödegaard
060e97bea8
Plugins: ReactPanelPlugin to VizPanelPlugin (#16779)
* Plugins: ReactPanelPlugin renamed

* Plugins: renamed PanelPlugin to PanelPluginMeta and VizPanelPlugin to PanelPlugin
2019-04-26 19:16:38 +02:00
Ryan McKinley
470634e2d6
Streaming: support streaming and a javascript test datasource (#16729) 2019-04-25 14:01:02 -04:00
Ryan McKinley
ff870e08b2
PanelQueryRunner: add datasource name to queries (#16712) 2019-04-22 19:14:42 -07:00
Ryan McKinley
2bc76471d3
Chore: remove extra logging (#16688) 2019-04-19 17:21:38 -07:00
Ryan McKinley
e7f56a74fc
Refactor: split PanelQueryRunner into runner and state (#16685)
* check for running

* split out panel state

* adding test file

* remove bad test
2019-04-19 15:11:55 -07:00
Ryan McKinley
4e54509dde
Refactor: improvements to PanelQueryRunner (#16678)
merged DataQueryOptions + DataRequestInfo info: DataQueryRequest
2019-04-18 21:56:27 -07:00
Ryan McKinley
5f474c6328
Refactor: move getQueryRunner() to PanelModel (#16679)
* move queryRunner to panelModel
* Added interval back as prop, not used yet
* PanelQueryRunner: Refactoring, added getQueryRunner to PanelModel
* PanelQueryRunner: interpolatel min interval
2019-04-18 14:10:18 -07:00
Ryan McKinley
5976b421fe
refactor: move timeInfo to DataRequestInfo (#16664)
* use timeInfo from request

* move timeInfo to DataRequestInfo
2019-04-18 00:00:46 -07:00
Ryan McKinley
0643dff2f6 QueryRunner: Move queryRunner to panelModel (#16656)
* move queryRunner to panelModel

* remove isEditing from PanelChrome

* move listener to QueriesTab

* Fixed issue with isFirstLoad set to false before loading state is Done

* QueryRunner: Fixed issue with error and delayed loading state indication

* Anoter fix to issues with multiple setState calls in observable callbacks
2019-04-18 08:22:14 +02:00
Ryan McKinley
f4cd9bc73c PanelQueryRunner: move error handling to QueryRunnerOptions (#16654) 2019-04-17 21:05:57 +02:00
Ryan McKinley
ed0192104c
refactor: Merge PanelChrome and DataPanel, do query execution in PanelQueryRunner (#16632)
Moves query execution logic to PanelQueryRunner and structures PanelChrome so it subscribes to the query results rather than necessarily controlling their execution.
2019-04-17 10:51:50 -07:00
Hugo Häggmark
7eabc282e9
Chore: Adds typings to lodash (#16590) 2019-04-15 12:11:52 +02:00
Hugo Häggmark
3f7aaedd8c Chore: Remove implicit anys for DashboardModel and tests (#16553)
Progress: #14714
2019-04-12 17:05:44 +02:00
Torkel Ödegaard
47e51cb6b3
Refactor: Plugin exports & data source / panel types (#16364)
* wip: began work off removing meta and pluginExports from DataSourceApi interface

* WIP: changing how plugins are exports and loaded

* Down the refactoring rabit hole that keeps expanding

* TestData now returns DataSourcePlugin

* Refactoring: fixed app config page loading, type renamings and more typings

* Refactor: Correct casing on DatasourceStatus => DataSourceStatus
2019-04-04 18:30:15 +02:00
Ryan McKinley
e6d9a524b4 Fix: Correct SnapshotData typing (#16279) 2019-03-28 20:59:59 +01:00
Ryan McKinley
e5c8375ec2 only call onPanelMigration when the version actually changes (#16186)
* set the plugin version if there is a migration handler
* only call panel migration if the version changes
* set the version after change also
* avoid NPE... check that we have options
* destroy is based on the previous panel type, not the next one
* Panels: Minor refactoring on panel plugin version code, #16186
2019-03-25 14:10:23 +01:00
Torkel Ödegaard
e03c7bf1a3 Panels: Support angular -> react migration via PanelMigrationHandler 2019-03-24 17:11:00 +01:00
Torkel Ödegaard
20fec4d261 Panels: Added more tests for change panel plugin 2019-03-24 16:39:55 +01:00
Torkel Ödegaard
0d55141a2d Panels: Refactoring how panel plugins sets hooks and components, #16166 2019-03-24 15:56:32 +01:00
ryan
6da2f132c7 keep plugin versions 2019-03-22 13:45:09 -07:00
Torkel Ödegaard
42c87141a5 Minor progress on fixing no-implicit any issues 2019-03-19 18:24:47 +01:00
Torkel Ödegaard
25cd196c09
Merge pull request #16006 from grafana/fix-explore-refId
Explore: Query row using character refId instead of number
2019-03-18 22:59:47 +01:00
Torkel Ödegaard
5617db36b2
Merge pull request #16014 from alexanderzobnin/fix-15993
Panels: fix loading panels with non-array targets
2019-03-18 22:34:24 +01:00
Peter Holmberg
39728c885b rename to char 2019-03-18 11:17:58 +01:00
Peter Holmberg
515fb5903e sorting imports 2019-03-18 10:44:00 +01:00
Alexander Zobnin
c028d410ec
panels: fix loading panels with non-array targets (add tests) 2019-03-15 11:30:41 +03:00
Alexander Zobnin
fe798239b2
panels: fix loading panels with non-array targets (refactor) 2019-03-15 10:31:58 +03:00
Alexander Zobnin
e3b3b35dca
panels: fix loading panels with non-array targets 2019-03-15 10:14:56 +03:00
Peter Holmberg
52dcb9bf00 renaming function 2019-03-14 17:39:56 +01:00
Peter Holmberg
cf55d68894 using refId from panel model 2019-03-14 17:20:33 +01:00
ryan
0c086795e3 check types better 2019-03-13 13:07:01 -07:00
ryan
75022ebd63 single hook 2019-03-13 12:46:04 -07:00
Torkel Ödegaard
71159fb606 Merge remote-tracking branch 'origin/master' into bar-gauge-poc 2019-03-13 08:26:06 +01:00
Torkel Ödegaard
2604e9e433 Minor refactoring of PR #15770 2019-03-06 17:53:14 +01:00
Torkel Ödegaard
18d5c04ae4 Merge branch 'toggle-all-legends' of https://github.com/jsferrei/grafana into jsferrei-toggle-all-legends 2019-03-06 17:48:59 +01:00
Jon Ferreira
46fa09fdad Add a keybinding that toggles all legends in a dashboard 2019-03-05 13:19:40 -05:00
Marcus Efraimsson
646ca90b10
Merge pull request #15767 from grafana/15650-autofitpanel-kiosktvmode
No scroll in autofitpanel-mode
2019-03-04 08:44:28 -08:00
Johannes Schill
cc40a515be fix: When in tv-mode, autofitpanel should not take space from the navbar #15650 2019-03-04 13:46:10 +01:00
Hugo Häggmark
3a65e27e83 Fixes #15739 2019-03-04 10:42:59 +01:00
Peter Holmberg
f3ff3c1aec fixed tests 2019-02-21 14:44:21 +01:00
Peter Holmberg
89883c2cf6 copying options between visualizations 2019-02-21 13:43:36 +01:00
Dominik Prokop
88a46e6dd4 Bump Prettier version (#15532)
* Fix prettier version to 1.16.4
2019-02-19 15:41:35 +01:00
Peter Holmberg
93e8edfddd Fixing array direction, adding simple render test, fixes #15478
Fixed unit test and updated gauge
Added migration for threshold order
2019-02-18 16:46:32 +01:00
Torkel Ödegaard
2afd3cf5aa
Merge pull request #15499 from grafana/hugoh/bug-thresholds-and-infinity
Fixes #15477
2019-02-18 15:07:24 +01:00
Hugo Häggmark
92972eed7b Fixes #15477 2019-02-18 13:56:48 +01:00
Torkel Ödegaard
35253cb7f7
Merge pull request #15498 from grafana/fix/15463
Remove maxDataPoints and interval props from props to remember in panel model
2019-02-18 12:37:07 +01:00
Torkel Ödegaard
abddb442a1
Changed how react panels store their options (#15468)
Changed how react panels store their options

* Added a ReactPanelPlugin as the interface that react panels export, this way react panels have clearer api, and gives us hooks to handle migrations and a way for panel to handle panel changes in the future
* Moved gauge value options into a sub oject and made editor more generic, will be moved out of gauge pane later and shared between singlestat, gauge, bargauge, honecomb
* Also remove nested options prop that was there due to bug
* Added missing Gauge props
* Fixed gauge issue that will require migration later and also value options editor did not handle null decimals or 0 decimals
* Fixed unit tests
* More fixes for react panels
2019-02-18 11:41:14 +01:00
Dominik Prokop
8e035676e1 Remove maxDataPoints and interval props from props to remember in panel model 2019-02-18 11:33:16 +01:00
Torkel Ödegaard
cfea8bdcae Prettier had not been running as a precommit hook for some time so had to run in on all files again 2019-02-13 11:14:53 +01:00
Torkel Ödegaard
2eca4caa5d added reducers tests 2019-02-07 13:58:24 +01:00
Torkel Ödegaard
5f808ddf22 Added annother initDashboard test 2019-02-07 11:17:31 +01:00
Torkel Ödegaard
a4841a72d9 Improved dashboard page test 2019-02-06 21:04:18 +01:00
Torkel Ödegaard
dd0afd0a0b Big refactoring for dashboard init redux actions 2019-02-06 19:42:04 +01:00
Torkel Ödegaard
8574dca081 making changes suggested in review and improving typings 2019-02-06 17:31:52 +01:00
Torkel Ödegaard
a53c3b45fc Added a basic test for initDashboard thunk 2019-02-06 14:35:53 +01:00
Torkel Ödegaard
f5249d6033 Breaking init dashboard up in to fetch & init 2019-02-05 15:58:09 +01:00
Torkel Ödegaard
49a597fcd0 Moved remove panel logic to dashboard srv 2019-02-05 15:15:15 +01:00
Torkel Ödegaard
6d874dd1f1 Improved error handling 2019-02-05 14:42:29 +01:00
Torkel Ödegaard
aa2bf07c71 Expand rows for panels in collapsed rows 2019-02-05 14:12:32 +01:00
Torkel Ödegaard
08925ffad8 Basic loading state for slow dashboards 2019-02-05 13:53:11 +01:00
Torkel Ödegaard
e4c92ae124 added comment to initDashboard 2019-02-05 09:24:30 +01:00
Torkel Ödegaard
d978a66ef6 Fixed lots of loading flow issues and updated solo route page 2019-02-04 18:24:56 +01:00
Torkel Ödegaard
3baaf2c3e4 Added handling of kiosk mode 2019-02-04 17:36:04 +01:00
Torkel Ödegaard
7162583396 Made dashboard view state srv panel view state obsolete 2019-02-04 15:44:08 +01:00
Torkel Ödegaard
f695975f65 Fixed handling of orgId 2019-02-04 15:02:35 +01:00
Torkel Ödegaard
7634e04231 Fixed template variable value changed handling 2019-02-04 14:45:13 +01:00
Torkel Ödegaard
ae768193e3 Now handles all dashbord routes 2019-02-04 13:49:14 +01:00
Torkel Ödegaard
0324de37d2 refactorings and cleanup 2019-02-03 20:38:13 +01:00
Torkel Ödegaard
d7151e5c88 improving dash nav react comp 2019-02-03 18:25:13 +01:00
Torkel Ödegaard
4a8effddf5 fixed panel removal 2019-02-03 17:15:23 +01:00
Torkel Ödegaard
09efa24f28 Added more buttons in dashboard nav 2019-02-03 15:29:14 +01:00
Torkel Ödegaard
2cb1733c59 wip: progress 2019-02-03 14:53:42 +01:00
Torkel Ödegaard
8dec74689d Dashboard settings starting to work 2019-02-03 10:55:58 +01:00
Torkel Ödegaard
83937f59c0 wip: dashboard in react starting to work 2019-02-02 23:01:48 +01:00
Torkel Ödegaard
d86e773c75 wip: minor progress 2019-02-02 22:43:19 +01:00
Torkel Ödegaard
60f700a1d2 wip: dashboard react 2019-02-02 19:23:19 +01:00
Torkel Ödegaard
6e0b873739 Merge branch 'master' into loki-query-editor 2019-02-01 11:17:22 +01:00
Torkel Ödegaard
c4f55fecbe Merge branch 'master' into solo-panel-rewrite 2019-02-01 07:09:45 +01:00
Peter Holmberg
ed0f5b71c7 Merge branch 'master' into table-data-support 2019-01-31 14:16:06 +01:00
Torkel Ödegaard
6a4777eafc wip: New react container route for solo panels that supports both angular and react panels 2019-01-31 09:44:37 +01:00
Torkel Ödegaard
aafd4a339a Moved dashboard state components to state folder 2019-01-31 08:56:17 +01:00
Mario Trangoni
ab9f65a4cf public/app/features/*: Fix some misspell issues 2018-12-05 13:08:00 +01:00
Peter Holmberg
58e94fc0fa moved state 2018-10-30 13:09:59 +01:00
Peter Holmberg
ccbff592d2 adding default value and update actions 2018-10-26 14:51:33 +02:00
Peter Holmberg
a98f7e548f simple select 2018-10-25 16:56:49 +02:00
Peter Holmberg
ab2be340f7 remove not used file 2018-10-18 09:34:51 +02:00
Peter Holmberg
c2c3e15022 hooked up actions 2018-10-17 15:56:34 +02:00
Johannes Schill
97802f30ae Fix issue with updating role permissions #13507 2018-10-03 13:37:00 +02:00
Torkel Ödegaard
331be7d47a fix: add permission fixes 2018-09-14 08:25:35 +02:00
Torkel Ödegaard
7bb0109261 feat: dashboard permissions are working 2018-09-14 07:47:33 +02:00
Torkel Ödegaard
c7fdea1dfb wip: dashboard permissions to redux 2018-09-13 16:00:02 +02:00