Commit Graph

67 Commits

Author SHA1 Message Date
Leon Sorokin
f43ed7e6d7 BarChart: Refactor and VizTooltip fixes (#87160)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2024-05-10 12:58:53 -05:00
Leon Sorokin
d601acac3a VizTooltips: Remove old tooltips and annotations (#84420)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2024-04-02 15:32:46 -05:00
Leon Sorokin
220fea966b CursorSync: Extract EventBus logic into shared plugin (#84111) 2024-03-12 17:15:38 -05:00
Leon Sorokin
42b55aedbc DataLinks: Handle getLinks() regen during data updates and frame joining (#83654) 2024-02-29 21:46:53 +02:00
Ivana Huckova
a76e21c837 TimeSeries: Support vertical orientation (#83272)
* Time series with flipped axes

* Ass prop and fix timezone labes

* Remove not needed css

* Fix zoomplugin

* Update comment

* Fix zoomplugin

* Update

* Update TooltipPlugin2

* Update variable names

* Update naming and comments

* Update public/app/plugins/panel/timeseries/TimeSeriesPanel.tsx

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>

---------

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2024-02-29 09:53:00 +01:00
Leon Sorokin
6e6b9a62a2 VizTooltips: Use global portal (#81986)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2024-02-24 00:18:24 +02:00
Adela Almasan
315eb5acc3 VizTooltips: Remove default width/height values (#81832) 2024-02-06 12:00:19 -08:00
Adela Almasan
22561e8690 Annotations: Prevent creating a new range in unsaved dashboards (#81256) 2024-01-25 14:14:46 +00:00
Adela Almasan
9da3db1ddf Annotations: Prevent creating on unsaved dashboard (#81200) 2024-01-24 19:24:52 -06:00
Leon Sorokin
391f3ca615 VizTooltips: Don't use y scales for sync, since they rarely match (#81031) 2024-01-23 00:08:03 -06:00
Ihor Yeromin
cbc84a802d VizTooltip: Add sizing options (#80306)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2024-01-17 16:49:09 -06:00
Leon Sorokin
b53e0521d2 Panels: AnnotationsPlugin2 (#79531)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2024-01-12 09:02:40 +02:00
Adela Almasan
692e8958a3 VizTooltips: Disable newVizTooltips when dashboard shared cursor is enabled (#79996) 2024-01-04 08:29:39 -06:00
Adela Almasan
d4b75928ca Tooltip: Improved Timeseries and Candlestick tooltips (#75841) 2023-12-13 16:34:56 -06:00
Ryan McKinley
c6e27e00b4 Chore: Move internal GraphNG+Timeseries components into core (#77525)
* move to core where possible

* update imports

* ignore import order for now

* add graveyard files

* update codeowners
2023-11-01 21:59:55 -07:00
Leon Sorokin
32ed3e8009 TimeSeries: Implement ad hoc y-zoom via Shift-drag (#75408) 2023-09-26 18:12:45 -05:00
Piotr Jamróz
2ae226de89 Explore: Decouple SplitOpen and getFieldLinksForExplore from Panel visualizations (#71811)
* Allow overriding internal data link supplier

* Remove SplitOpen and getFieldLinksForExplore dependencies

* Fix checking if row index is provided

* Fix unit test

* Add a comment

* Mark SplitOpen as deprecated

* Use Panel Context to provide internal data link supplier

* Update packages/grafana-ui/src/components/PanelChrome/PanelContext.ts

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>

* Update packages/grafana-data/src/utils/dataLinks.ts

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>

* Add missing eventsScope

* Fix infinite render loops

* Rename internal data link supplier to data link post processor

* Update packages/grafana-data/src/field/fieldOverrides.ts

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

---------

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-07-31 14:10:03 +02:00
Leon Sorokin
7d4f7e5ffc XYChart: Fix variable interpolation in datalinks/toggletip (#70195) 2023-06-15 19:04:41 -06:00
Levente Balogh
fa6afc7ea4 ZoomPlugin: Remove the timeRange prop (#69148)
* fix: remove a breaking change

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-26 11:52:09 -05:00
Simon Podlipsky
a69ff6c311 TimeSeries: Add zoom-out functionality on double click (#68936) 2023-05-25 21:04:02 -05:00
sam boyer
33fd83f7e3 kindsys: Adapt to new PanelCfg schema interface (#65297)
* kindsys: Adapt to new PanelCfg schema interface

* building locally

* Remove Panel prefix in cue files

* Regenerate

* Update imports

* fixup! Merge branch 'remove-panel-prefix' into sdboyer/redundant-panelcfg-prefixes

* Fix formatting

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Tania B <yalyna.ts@gmail.com>
2023-05-15 23:07:54 -04:00
Torkel Ödegaard
32fafffed7 PanelQueryRunner: Return previous processed (transform+field config) series for loading state (#67768)
* Return same series for loading state

* Fix shared query issue

* include structureRev

* heatmap should depend on the series, not the wrapper

* fix more panels

* keep config for comparison

* fieldConfig.fieldConfig!

* cleanup

* cmon

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-07 15:21:40 +02:00
Ryan McKinley
55df8afe8f Timeseries: don't show conversion error for empty response (#67590) 2023-05-01 09:42:22 -07:00
Ryan McKinley
f5d97c677b TimeSeries: Explicitly add transformer when timeseries-long exists (#64092) 2023-04-28 06:10:02 +03:00
Adela Almasan
1a347bfb7b Timeseries: Revert annotations rendering changes (#67166) 2023-04-24 15:38:30 -07:00
Leon Sorokin
faad4b92ad GrafanaDS: Add support for annotation time regions (#65462)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2023-04-21 23:25:50 +03:00
Ryan McKinley
7835aacc8f Schema: Remove exclusion for timeseries and update imports (#65242) 2023-03-23 02:14:54 +02:00
Ryan McKinley
5343255de8 Chore: Timeseries cleanup avoid React.FC (#62984)
timeseries FC
2023-02-06 13:53:56 -08:00
Gilles De Mey
16c6f223ba TimeSeriesPanel: Allow threshold indicators without change handler (#60575) 2022-12-21 16:18:35 +01:00
Galen Kistler
dfc15163da Prometheus: Fix exemplar fill color to match series color in time series. (#59908)
* Implementing new optional color property to ExemplarMarker component 
* Refactor some changes from #59743
2022-12-08 14:15:05 -06:00
Galen Kistler
22f828300d Prometheus: Fix exemplars not respecting corresponding series display status. (#59743)
* Exemplar filtering when series are toggled in legend UI
2022-12-08 11:46:00 -06:00
Victor Marin
0da77201bf TimeseriesPanel: Preserve string fields for data link interpolation (#58424)
* TimeseriesPanel: Preserve string fields for data link interpolation

* clean code

* Modify tests so that string fields are allowed only when a valid time/number dataframe exists

* performance mods

* fix wrong length

* remove console.log

* Check if aligned dataframe has links
2022-11-24 14:44:32 +02:00
Victor Marin
76d6e3c075 TimeseriesPanel: Fix variables in data links (#56729)
* TimeseriesPanel: Fix variables in data links

* Refactor variable fix for all Timeseries panels

* cr mods
2022-10-18 14:22:31 +03:00
Esteban Beltran
edb54fc8d3 Fix: Rename timezones prop to timezone for plugins compatibility (#53926) 2022-08-19 16:59:56 +02:00
Beto Muniz
4c02d072e3 Ensure that tooltip and legend have same parameters to calculate and display label equally (#53176) 2022-08-03 14:47:22 -03:00
Victor Marin
2948bf01dc TimeSeriesPanel: Tooltip works properly when changing modes (#52876)
* TimeSeriesPanel: Tooltip works properly when changing modes

* TooltipPlugin respects display mode

* Pass options to TimeSeriesPanel props
2022-08-01 18:12:40 +03:00
Ryan McKinley
2fa10dc903 TimeSeries: Support multiple timezones in x axis (#52424)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-07-22 22:18:27 -05:00
Kyle Cunningham
86b785d039 Time Series Panel: Add Null Filling and "No Value" Support (#50907)
* Use nullInsertThreshold and nullToValue in time series

* Allow for undefined timeRange to support certain candlestick uses of prepareGraphableFields

* Make sure null to value doesn't modify initial data

* Do a shallow values copy and avoid Array.push()

* Clean up null to value transformation.

* Add basic tests

* Remove redunant null threshold application flagging

* set nullThresholdApplied flag even when no null inserts were done

* Include nullThresholdApplied in test snapshot

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-06-17 14:38:59 -05:00
Ryan McKinley
df90393057 Timeseries: fix outside range stale state (#49633)
Co-authored-by: Todd Treece <todd.treece@grafana.com>
2022-05-25 21:19:56 +00:00
Josh Hunt
3c6e0e8ef8 Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

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

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00
Ryan McKinley
f4e285b8b4 Timeseries: add zoom to data button (#47862) 2022-04-19 17:24:54 -07:00
Torkel Ödegaard
e3590e1a9b Panels: Use the No value option when showing the no data message (#47675)
* Performance: Create separate div for portal root to limit reflow -> recalc style

* refactoring

* NoData: Use field config No value option as text when display no data message

* Use PanelDataErrorView in TabelPanel

* Add PanelDataErrorView to PieChart

* Updated
2022-04-14 10:10:03 +02:00
kay delaney
01dd623daa UI/Plot: Implement keyboard controls for plot cursor (#42244) 2022-01-13 10:14:55 +00:00
Dominik Prokop
1a0f5595c3 TimeSeries/BarChart: Add support for sorting series in the tooltip (#43615)
* TimeSeries panel: Add support for sorting series in the tooltip

* Fix cue tests

* Make sortValues work with string values

* Sort values in DatHoverView and remove sort index from TooltipPlugin

* Rename sortOrder prop to sort

* DataHoverView - use raw values for sorting
2022-01-10 10:32:21 +01:00
Torkel Ödegaard
070344943c PanelEditor: Present actionable suggestions when panel cannot visualize current data (#42083)
* PanelDataError: Show actions when current panel cannot visualize data

* Fixed so that suggestions tab is opened from action

* Cleanup

* Fixed tests

* Fix tests

* Fixing tests

* Fixed ts issues
2021-11-25 09:41:03 +01:00
Victor Marin
410044fa05 annotations editor menu should not appear if annotations are disabled (#42068) 2021-11-23 14:16:11 +02:00
Torkel Ödegaard
54af57b8e6 VisualizationSelection: Real previews of suitable visualisation and options based on current data (#40527)
* Initial pass to move panel state to it's own, and make it by key not panel.id

* Progress

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

* Think this is starting to work

* Began fixing tests

* Add selector

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

* Removed console.log

* fixes after merge

* fixing tests

* fixing tests

* Added new test for changePlugin thunk

* Initial struture in place

* responding to state changes in another part of the state

* bha

* going in a different direction

* This is getting exciting

* minor

* More structure

* More real

* Added builder to reduce boiler plate

* Lots of progress

* Adding more visualizations

* More smarts

* tweaks

* suggestions

* Move to separate view

* Refactoring to builder concept

* Before hover preview test

* Increase line width in preview

* More suggestions

* Removed old elements of onSuggestVisualizations

* Don't call suggestion suppliers if there is no data

* Restore card styles to only borders

* Changing supplier interface to support data vs option suggestion scenario

* Renamed functions

* Add dynamic width support

* not sure about this

* Improve suggestions

* Improve suggestions

* Single grid/list

* Store vis select pane & size

* Prep for option suggestions

* more suggestions

* Name/title option for preview cards

* Improve barchart suggestions

* Support suggestions when there are no data

* Minor change

* reverted some changes

* Improve suggestions for stacking

* Removed size option

* starting on unit tests, hit cyclic dependency issue

* muuu

* First test for getting suggestion seems to work, going to bed

* add missing file

* A basis for more unit tests

* More tests

* More unit tests

* Fixed unit tests

* Update

* Some extreme scenarios

* Added basic e2e test

* Added another unit test for changePanelPlugin action

* More cleanup

* Minor tweak

* add wait to e2e test

* Renamed function and cleanup of unused function

* Adding search support and adding search test to e2e test
2021-10-25 13:55:06 +02:00
Peter Holmberg
74beb9a64c Alerting: Edit thresholds by handle in timeseries panel (#38881)
* POC/Thresholds: Allow thresholds modification directly from the time series panel

* Snapshot updates

* Optimize styles memoization

* change threshold from graph

* renames and logging

* using useeffect to update graph

* Fix react worning about setting state on unmounted component

* revert panelrenderer

* using onFieldConfig change

* use a useeffect

* simplied fieldConfig state

* Do not use plot context in ThresholdControlsPlugin

* Do not throw setState warnings when drag handle is dropped

* Update thresholds position on the graph when updating threshold drag handle

* fix issues with rerenders

* prevent thresholds on conditions with range

* only edit the first threshold

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-09-15 17:35:12 +02:00
Zoltán Bedi
94f1173824 Explore: Refactor graph component to use PanelRenderer (#38914)
* Move SplitOpenFn type to grafana-data

* Use panel renderer instead of Timeseries panel for graph in Explore

* rename splitopen props on panel context
2021-09-10 18:18:22 +02:00
Dominik Prokop
1be53b4f3b TimeSeries: Add per-axis grid visibility toggle (#38502)
* Allow grid lines visibility control to XYChart and TimeSeries

* Move grid lines config to field config (axis)

* Fix merge

* Auto grid mode

* Fix ts

* Align naming

* Update packages/grafana-ui/src/components/uPlot/config/UPlotConfigBuilder.test.ts

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

* Update packages/grafana-ui/src/components/uPlot/config/UPlotConfigBuilder.test.ts

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

* remove 'grid' from props diff array since field.config.custom.* is handled by structureRev diffing

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2021-08-27 12:30:42 -05:00