* 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
* add negative y config
* Handle negative y and constant transform in Timeseries panel
* Typechecks
* Add migration from old graph panel
* Docs update
* Revert "Add migration from old graph panel"
This reverts commit 33b5a90b66.
* Revert VizLegendItem changes
* Automatically separate positive and negative stacks within a group
* Update packages/grafana-ui/src/components/VizLegend/VizLegend.story.tsx
* Remove SeriesLabel component
* Update docs/sources/visualizations/time-series/_index.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Update docs/sources/visualizations/time-series/_index.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Leftover reverts
* Don't crate bands (for now0 for negative -y stack
* Add docs note about transform being only available as an override
* Fill negative bands in reversed direction
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* 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
* pass the correct value to buildScaleKey()
* drop unnecessary type casting
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* fix linting errors
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* 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
* properly set query type
* set default unit from data when found
* make AlertQueryRunner take into account ds.filterQuery
* fix tests
* feedback after pr
Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
* 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
* 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>
* Move SplitOpenFn type to grafana-data
* Use panel renderer instead of Timeseries panel for graph in Explore
* rename splitopen props on panel context
* Normalize alert state name for UI descriptor retrieval
* Bring back alert state and metric values to annotation tooltip
* Make sure alert state is only shown when present
* Update test
* Handle Error alerting satte
* 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>
* Relocate dashboard scuemata to grafana-schema
* Update assorted tests, vars with dashboard path
* Remove crufty commented var
* Not sure...why that failed
* Remove prefix from base dashboard path var
* Move cue/ui remnants into grafana-schema
* Update import paths in plugin models
* Remove mudball, add package statements
* Remove cuegen.sh
Wooooo we ain't got no codegen
* Revert "Remove mudball, add package statements"
This reverts commit 9bed3098f1.
* Tidy up all the cue files
* Move dashboard scuemata into scuemata/ subdir
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Strip nulls (again)
* Add stripnulls script
* Add transformations field
* Close FieldConfig struct; proper plugin validating
* s/graph/viz/ field in histogram dashboard
* Use ui.GraphFieldConfig in histogram model
* Add models for stat, gauge, barguage panel plugins
Also toss necessary shared types into cue/ui/gen.cue, with TODOs to move
them appropriately later.
* Add required license headers
* Heap of updates to cue UI components
* Fix barchart types and one old devenv input
* Use the GraphFieldConfig directly for timeseries
* Add models.cue for a few panel plugins
Barchart, state-timeline, and status-history
* Enable the test validating all devenv dashboards!!
* Fix effects of not checking after making comments
* Update packages/grafana-ui/src/options/models.gen.ts
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Realign and unalign cue with ts types
* Update devenv test to sniff for null errors
Best option we have right now for helping people to know they need to
strip nulls from devenv dashboards.
* Add speculative default for barchart stacking
* Fixup some dated devenv dashboards
timeline-modes needed to be regenerated with the appropriate tooltip
values included, per typing requirements, and timeline-demo needed to
have the `mode` field removed, as it is not intended to be persisted.
* Add necessary missing options for various panels
* Regenerate devenv dashboards
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Remove null values from JSON
* Specify the color field
* Add note about openness of custom field's struct
* Update schemaVersion
* Specify thresholds
* Add panel id
* Add maxDataPoints and interval
* Add mappings, albeit very under-specified
* Allow empty string for timezone field
This is probably not a good idea - same as allowing nulls.
* Allow false for refresh - otherwise, string
* Make threshold value optional
* Make interval optional
* Fix broken and changed decls in ui models
* Add models.cue for timeseries panel
* Fixups for home dashboard
* Add timeShift, timeFrom
* Abstract out #Target, rejigger comments
* TooltipPlugin: add crosshair exception
* TooltipPlugin: set active plot and add class
* Plot: hide cursor pts when not active in crosshair mode
* TooltipPlugin: clean up adding class
* TooltipPlugin: rename crosshair class
* rename class, move up to chart root element
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* Chore: Fix TypeScript strict errors with components using connect
* Chore: More TypeScript fixes
* Chore: Update strict check values
* Still need to export these types...
* Declare connector at the top of the file
* Careful with find and replace...
* First stab on UI for adding annotations in time series panel
* Extend panel context with annotations api
* Annotations editor UI & CRUD
* Prevent annotation markers to overflow uPlot canvas
* Do not overflow graphing area with region annotations
* Align annotation id type
* Fix exemplar markers positioning
* Use clipping region rather than adjusting annotation region bounds
* Smaller icons
* Improve annotation tooltip and editor auto positioning, reorg code
* Renames
* Enable annotations ctx menu only when adding annotations is allowed
* Wrap setSelect hooks diring init hook
* Use TagFilter instead of TagsInput
* Add id to annotation events
* Add support for cmd+click for adding point annotations
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>