Commit Graph

352 Commits

Author SHA1 Message Date
Jesse David Peterson d8cdee80f0 Canvas: Fix image loading when icon element SVG defined by field mappings (#115748)
* chore(gdev-dashboard): minimal repro of escalation #19939 bug report

* fix(canvas): add branching logic to handle field mapping to icons case

* test(canvas): validate integration of canvas icon mappings

* refactor(resource-dimension): defensive against JS `undefined` in paths
2026-01-05 10:48:16 -04:00
Paul Marbach 44e6ea3d8b Gauge: Fix issues found during bug bash (#115740)
* fix warning for VizRepeater styles

* Gauge: Update test dashboard to round two of the segment panels to whole numbers

* Gauge: E2E tests

* add test for sparklines

* Gauge: Change inner glow to be friendlier to our a11y tests

* remove unused CODEOWNER declaration

* expose text mode so that old displayName usage is somewhat preserved

* update migrations to use the value_and_text mode if displayName has a non-empty value

* more test cases

* update unit tests for fixture updates
2025-12-30 15:27:32 -05:00
Paul Marbach 8cfac85b48 Gauge: Add guide dots for rounded bars to help with accuracy, update color logic for more consistent gradients (#115285)
* Gauge: Fit-and-finish tweaks to glows, text position, and sparkline size

* adjust text height and positions a little more

* cohesive no data handling

* more tweaks

* fix migration test

* Fix JSON formatting by adding missing newline

* remove new line

* Gauge: Add guide dots for rounded bars to help with accuracy

* 30% width

* remove spotlight, starting to make gradients a bit more predictable

* fix segmented

* update rotation of gauge color

* update i18n and migration tests

* fix spacing

* more fixture updates

* wip: using clip-path and CSS for drawing the gauge

* wip: overhaul color in gauge

* wip: progress on everything

* refactoring defs into utils

* its all working

* fixme comment

* fix backend migration tests

* remove any other mentions of spotlights

* one more tweak

* update gdev

* add lots of tests and reorganize the code a bit

* fix dev dashboard fixture

* more cleanup, optimization

* fix a couple of bugs

* fix bad import

* disable storybook test due to false positive

* a more sweeping disable of the color-contrast

* update backend tests

* update gradient for fixed color

* test all dark/light theme variants

* set opacity to 0.5 for dots

* move min degrees for start dot render to a const

* change endpoint marks to be configurable

* update gdev and fixtures

* i18n

* shore up testing a bit

* remove period for consistency

* hide glow at small angles

* more testing and cleanup

* addressing PR comments

* Update packages/grafana-ui/src/components/RadialGauge/colors.ts

Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>

* Update packages/grafana-ui/src/components/RadialGauge/colors.ts

Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>

* break out binary search stuff and write tests

* fix lint issues

---------

Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>
2025-12-19 20:41:57 +00:00
Kristina Demeshchik 7e5eb46bea Dashboards: Fix text panel content loss during v1 to v2 migration (#115496)
* move content and mode properties to options level

* move to angular section

* Update comments

* handle missing angular text panel

* re-generate test files

* angualr panels tests

* fixing test

* Update output files

* Update output for dev dashboard

* Spread options at the top panel level for migration

* linting issue

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-12-18 09:59:58 -05:00
Paul Marbach c0dc92e8cd Gauge: Fit-and-finish tweaks to glows, text position, and sparkline size (#115173)
* Gauge: Fit-and-finish tweaks to glows, text position, and sparkline size

* adjust text height and positions a little more

* cohesive no data handling

* more tweaks

* fix migration test

* Fix JSON formatting by adding missing newline

* remove new line
2025-12-12 11:10:56 -05:00
Paul Marbach 63bfc1596c Gauge: Updates to the design of the panel edit (#115097)
* Gauge: Updates to the design of the panel edit

* i18n

* remove unused const

* i18n

* fix gdev and migration tests

* reduce bar gauge glow factor
2025-12-10 21:03:44 +00:00
Galen Kistler 8149f586b3 Annotations: Multi-lane annotations rendering (lane per frame) (#111559)
* feat: support multi-lane annotations panel option

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-11-05 09:00:28 -06:00
Paul Marbach 867e8bb98f StatusHistory: Add e2e suite to confirm standard cases (#113358)
* StatusHistory: Add e2e suite to confirm standard cases

* update dev dashbord tests

* update CODEOWNERS
2025-11-04 16:21:30 -04:00
Paul Marbach 64da716a2e Heatmap: Fix runtime error when no data is present, add e2e test (#113242)
* Heatmap: Fix runtime error when no xAxis is present, add e2e test

* update migration test fixture

* updates from review
2025-10-31 18:17:30 +00:00
Paul Marbach c487952279 Table: Support DataLinks and Actions in SparklineCell (#112244)
* Table: Support DataLinks in SparklineCell

* add data links to sparkline gdev

* fix migrator test

* Clean up single action use case
2025-10-30 10:04:08 -04:00
Paul Marbach 2a5ce2f031 Gauge: Fix migration version targeting and gdev dashboard (#112974) 2025-10-28 09:31:20 -04:00
Paul Marbach 3f02f50cf9 StateTimeline: Complete E2E tests and add simple StateTimelineTooltip unit tests (#112901)
* StateTimeline: E2E tests for basic rendering, no data, and tooltip interactions

* Add tests for StateTimelineTooltip sub-component

* Remove unused import from state-timeline.spec.ts

* updates from PR review
2025-10-24 10:45:48 -04:00
Torkel Ödegaard 27ac08dd51 NewGauge: Fix segmented gauge with min value != 0 (#112697)
* NewGauge: Fix segmented gauge with min value != 0

* update gdev dashboard to exercise case

* update gdev dashboard with panel to exercise

* update

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-10-21 17:49:04 +02:00
Torkel Ödegaard 7df537c9fc NewGauge: Adds new feature toggle named newGauge (#112593)
* NewGauge: Feature toggle and fixes

* Gauge: New migration test dashboard

* Update

* Updates

* Tweaked default barWidth

* Fix multi data links

* remove sizing options

* merge fix

* Update

* Restore

* Update

* Tweaked name font size logic

* use file snapshots instead of inline

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-10-20 18:33:19 +02:00
Torkel Ödegaard e014f1ba0c NewGauge: Adds scale labels (threshold labels) (#112517)
* Progress on scale label

* Progress

* Progress on labels

* Progress

* fix for segments

* Update

* Fix

* Update

* Some basic unit tests

* fixes

* fixes
2025-10-17 13:51:54 +02:00
Torkel Ödegaard 77e571b079 RadialGauge: (#111841)
* Radial gauge

* Update

* Update

* Update

* Updated

* Progress

* Spotlight

* Glow

* More effects

* Update

* Update

* Update

* Update

* Fix overflow

* Progress

* Progress

* Barwidth factor

* Update

* segmemnted

* Update

* Update

* Update

* Display processor

* Progress

* Updated

* Update

* rounded bars option

* added option for rounded

* Fixed gauge shape and segments

* Updated text and sparkline placmeent

* progress

* New spotlight effect is working

* refactorings

* Update

* hue working in gauge mode

* Update

* Update

* Progress

* Refactorings and sizing improvements

* Refactorings

* Progress

* Unify arc path

* Thresholdsbar

* Update

* Progress

* Update

* Close to mergable

* Unit tests

* Update

* Update

* Fix

* Update

* update

* simple test

* Fix

* Minor tweak

* added icon to shape

* Progress on color simplification

* progress on new color system

* Simplify color gradient modes around a single auto mode

* Progress on text sizing

* Fixes

* Update

* Update

* Hook up manual font size

* Restore old behavior in old panel
2025-10-16 15:53:38 +02:00
Ivan Ortega Alba a72e02f88a Fix dashboard migration discrepancies between backend and frontend implementations (use toEqual) (#110268)
**Highlights**

* **Single-version migrations**: add `targetVersion` to migrator & model, separate outputs, enforce exact version.
* **Datasource fixes**: include `apiVersion` in tests, empty-string → `{}`, preserve `{}` refs, drop unwanted defaults.
* **Panel defaults & nesting**: only top-level panels get defaults; preserve empty `transformations` context-aware; filter repeated panels.

* **Migration parity**

  * V16: collapsed rows, grid height parsing (`px`).
  * V17: omit `maxPerRow` when `minSpan=1`.
  * V19–V20: cleanup defaults (`targetBlank`, style).
  * V23–V24: template vars + table panel consistency.
  * V28: full singlestat/stat parity, mappings & color.
  * V30–V36: threshold logic, empty refs, nested targets.
* **Save-model cleanup**: replicate frontend defaults/filtering, drop null IDs, metadata, unused props.
* **Testing**: unified suites, dev dashboards (v42), full unit coverage for major migrations.

Co-authored-by: Ivan Ortega [ivanortegaalba@gmail.com](mailto:ivanortegaalba@gmail.com)
Co-authored-by: Dominik Prokop [dominik.prokop@grafana.com](mailto:dominik.prokop@grafana.com)
2025-09-24 12:20:25 +02:00
Paul Marbach bb9b890e8c Table: Styling from field (#110991)
* Table: Styling from field

* fix mistake with gdev

* e2e for kitchen sink

* add counter-example in e2e for completeness

* unit tests for utils

* update to store style field per-column, replace util

* optimize branches column-level variables
2025-09-15 10:34:12 -05:00
Paul Marbach cb37539ed7 Table: Fix logic to calculate footer height (#110954)
* Table: Fix logic to calculate footer height

* add non-numeric footer case to gdev

* Update packages/grafana-ui/src/components/Table/TableNG/utils.ts

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

* Update packages/grafana-ui/src/components/Table/TableNG/TableNG.tsx

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-09-12 17:22:30 -04:00
Paul Marbach 7cbc55d615 Table: Update UX for uniform-reducer case in new footer and overflow (#110493)
* Table: Update UX for single-reducer use case in new footer

* all cases are working; unit tests pass

* style and code cleanup in SummaryCell

* remove e2e test for sum reducer label

* reorganize code, todo tests

* slight style cleanup

* one more little reorganization

* updates based on CI failures

* update tests and docs

* unused prop

* update table footer image

* alt text, lint issue

* update gdev to create footer dashboard and re-point e2es there, add a few new cases

* remove console.log
2025-09-05 15:46:07 -04:00
Alex Spencer 6c9faa7595 TableNG: Footer enhancements (#102948)
* Table: Footer support for multiple reducers

* fix migrator test output due to required default value

* fix go migration test

* more go test fixes

* fix go tests for footer

* Merge #110062

* update migration dashboard

* Small docs fixes

* Small docs fix

* remove migration method in Go, update js unit test

* add migration dashboard for footer and clean up some issues with countAll

* Footer should always use og rows for calcs

* update footer to be unaffected by filtering and sorting

* more e2es

* add more complex footer to kitchen sink, migrate panel all the way up

* update codeowners for e2e

* relocate footer migration panels and e2es to main 12.2 migration dashboard

* go further with the migration; kill unused fields, rename reducer to reducers

* get the go code up to date, move enablePagination to its own option as well

* add a unit to one of the numeric columns with a footer in kitchen sink

* fix reducers override in kitchen sink migration table

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-09-03 18:03:33 -04:00
Kristina c1edba6d8f Trend: Add support for a logarithmic x axis (#101433)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-08-29 00:02:49 -05:00
Paul Marbach 76b1e5e389 Table: Migrate to field-level wrapText toggle, use standard hideFrom.viz for hidden fields (#109297)
* Added wrap text to table options and removed from multiple cell options

* Removed wrap text from cell options shared file

* Edited

* Edited

* Table: Migrate to field-level wrapText toggle

* migrate hidden -> hideFrom.viz as well

* more cleanup from rebase

* restore options that got killed in the rebase

* when wrap text is enabled for the whole table, exclude columns that do not make sense

* fix TableNG unit tests

* fix i18n

* unit tests for the migrations

* sort out e2e issue

* fix migration unit test

* fix backend migration test as well

* add a dashboard for the v12.2 table migrations

* update dev-dashboards.lisonnet

* make gen-jsonnet

* one of the panel versions didnt get updated

---------

Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2025-08-27 16:37:02 -04:00
Paul Marbach ec38e0bd58 Table: Enable tableNextGen by default (#109832)
* Table: Enable tableNextGen by default

* kill off tableNextGen feature flag

* i18n

* i18n

* i18n

* remove state beta from table panel

* fix migration for 0 decimals migration

* add explicit auto option bacjk

* match impl from previous migrations code

* try changing some selectors

* remove timezone test from Cypress

* fix PlaylistForm unit test

* fix some selectors

* clean up i18n, are these gridcells somehow?

* return a couple of selectors caught in the dragnet to being cell instead of gridcell

* fix i18n for en-US

* clean up gdevs now that wrapHeaderText has no default

* update role in e2e for when it is re-enabled
2025-08-26 17:25:16 -04:00
Paul Marbach 67502a5a7c Table: Color text, color background, and apply to row can co-mingle (#109939)
* Table: Color text, color background, and apply to row can co-mingle

* fix test

* lean on existing memoization and utils more

* just make that method a prop of TableCellRenderer

* add prop to tooltip stuff as well

* fix another test

* update TableNG with apply to row mixed color cell table

* simplify color overrides table

* special case: apply to row transparent bg

* add unit test

* delete erroneous import

* update for readability
2025-08-25 19:47:11 +00:00
Hasith De Alwis 9fb5790166 Trend/TimeSeries: Add "Show values" option (#108090)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-08-23 12:33:45 +00:00
Adela Almasan 25c13c55c0 Canvas: Dynamic connection direction (#108423) 2025-08-21 12:49:42 -05:00
Josh Hunt fbca70747c E2E: Add performance monitoring E2E test (#109417)
* initial workflow

* add bench reporter

* add pr trigger

* update workflow

* actually add the test

* debug

.....

* more debug

* this it???

* Debugging GHA workflow

https

newline

tree

cache node modules

try bench again

fix path

* Add RequestsRecorder and tweak GHA workflow

* More debugging GHA workflow

cache

cache key

try renaming path

specify env var correctly

* Run tests on both envs, wait for requests to finish

fix status

cat stats

cat stats

* prefix metric names

* cleanup

* cleanup gha

* codeowners

* make gen-jsonnet

* quote things

* Add host_type label for categorising the various hosts

* rename pw_boot_time_seconds to pw_test_run_time_seconds

* change prefix

* codeowners, gha name

* remove node-modules caching

* fix codeowners
2025-08-20 19:36:54 +00:00
Paul Marbach 66eee1cb08 Table: Tooltip from Field (#109428)
* Table: Tooltip by Field

* add colorization support

* more progress on customizing the tooltip based on cell customization

* configurable as an option

* tooltip triggered from a chip in the corner, pinning tooltip

* i18n

* use enum where appropriate

* correctly orient the tooltip to the cell - but at what cost

* clean up some console.logs

* e2e test for the tooltip

* fix global click stuff

* remove console.log

* refine the style of the caret

* caret placement on same-side as alignment to avoid collision with inspect hover

* some updates from self-review

* increase hit target of tooltip caret

* fix width and height auto-sizing especially for dynamic height

* reorganize to pre-calc the per-field stuff

* use linear gradient for triangle

* update e2e to reflect current behavior, that clicking caret multiple times doesn't toggle pinning

* clean up event handlers a bit

* restore test for toggle click

* alright, re-remove the toggle case

* cursor pointer

* remove optional root from Popover for now

* remove this ridiculous autogenerated file

* update some of the text

* kill the cellRefMatrix

* remove unused import

* extract a util for the predicateByName part

* skip the intermediary step for getCellColors
2025-08-18 10:11:43 -04:00
Paul Marbach 6d97f05349 Modal: Use default Portal root element to render Modals (#109271)
* Table: Fix z-index conflict between DataLinksActionTooltip and ActionConfirmModal

* add an action to the kitchen sink Info column

* don't need the class for z-index

* fix this issue across a variety of viz types

* kill tooltip container in TableNG

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-08-15 16:38:57 -04:00
Paul Marbach 992d189c0f Table: Frozen columns (#109276)
* Table: Frozen columns

* i18n extract

* clamp the frozen columns by the total number of cols visible

* future-proof a bit: frozenColumns.left, add to kitchenSink
2025-08-08 14:55:53 +00:00
Paul Marbach cc64b17483 Table: Move cell-specific styles out to their own methods (#108941)
* TableNG: Markdown cell, plus custom row height

* tab indentation in cue file

* fix i18n

* trying an auto height with the updated RDG

* get auto cellHeight working

* i18n updates

* hoor disable_sanitize_html flag in MarkdownCell

* update react-data-grid version to attempt to support page up and down

* removing custom height

* use the latest experimental RDG with paging up and down

* TableNG: Wrap text for DataLinks and Pills; groundwork for max wrap length

* disable editing max wrapped lines for now

* disable wrap text line limit e2e

* new i18n extract after commenting out input

* wip

* kill max wrapped lines for now

* more cleanup

* remove targeting classes added for max wrapped lines

* fix Pill test

* couple more style cleanups

* Table: Move cell-specific styles out to their own methods

* move styles into their own file

* combine renderer and style declarations to make auto cells work better, complete cleanup of internal cell elements

* fix e2es given these updates

* add a couple tests

* wip: tests

* add tests

* bump up capital letters in lorem ipsum

* fix copy-pasta mistake

* whoops, mis-merged the selector

* use a local count instead of getCellLinks

* use react-data-grid on react-18 branch

* fix linting on test

* gdev dashboard and smoketest for Markdown table

* remove cellHeightCustom

* restore bugfix from adversarial AI-generated JSON

* reorganize in light of recent and upcoming changes

* cleanup

* override the whitespace for markdown

* what are these auto imports about...

* fix cell height selector from merge

* also remove cellHeightCustom

* i18n

* avoid the important override in markdown cell styles

* revert some betterer config autoformatting

* slight code cleanup

* s/cat/grot, add color link panel to kitchen sink, fix color link/image link style issues

* update panelid for empty table panel test

* link styles outside of cell style setup

* flesh out kitchen sink examples, update ImageCell and applyToRow

* clean up some inconsistent states

* fix lint issue

* gdev update

* format JSON to satisfy linter

* shortening the text in the long text field

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-08-07 19:53:52 -04:00
Josh Hunt 3a1c1b6232 Devenv: Replace testdata UIDs with gdev-testdata (#108997)
* Prettier format the devenv folder

* Consistently use type-only dsref for testdata in devenv dashboards
2025-08-04 11:20:12 +01:00
Paul Marbach a5ceac4474 TableNG: Markdown cell, plus auto row height (#107549)
* TableNG: Markdown cell, plus custom row height

* tab indentation in cue file

* fix i18n

* trying an auto height with the updated RDG

* get auto cellHeight working

* i18n updates

* hoor disable_sanitize_html flag in MarkdownCell

* update react-data-grid version to attempt to support page up and down

* removing custom height

* use the latest experimental RDG with paging up and down

* TableNG: Wrap text for DataLinks and Pills; groundwork for max wrap length

* disable editing max wrapped lines for now

* disable wrap text line limit e2e

* new i18n extract after commenting out input

* wip

* kill max wrapped lines for now

* more cleanup

* remove targeting classes added for max wrapped lines

* fix Pill test

* couple more style cleanups

* fix e2es given these updates

* add a couple tests

* wip: tests

* add tests

* bump up capital letters in lorem ipsum

* fix copy-pasta mistake

* whoops, mis-merged the selector

* use a local count instead of getCellLinks

* use react-data-grid on react-18 branch

* fix linting on test

* gdev dashboard and smoketest for Markdown table

* remove cellHeightCustom

* reorganize in light of recent and upcoming changes

* remove one more reference to cellHeightCustom

* put getDefaultRowHeight back into a util

* clean up test

* swap cell height back to a radio

* revert ImageCell change, we'll do it in the getStyles PR

* don't memo defaultRowHeight

* final couple of style cleanups

* different approach to managing the auto height part of this

* kill console.log

* update i18n

* reorganized once more

* i18n

* guard against rowHeight being auto for virtualization

* may as well memoize the defaultRowHeight

* get rid of the enableVirtualization initializer thing

* fixes from CI

* fix test

* fix test

* just omit third arg for that test

* remove nonsensical test case

* this file didn't get re-gen'd

* fixes from review

* row expander doesn't need height

* remove console.log

* fix e2e after we fixed pagination toggle bug
2025-08-01 19:56:12 -04:00
Paul Marbach 26d26f67d4 TableNG: Integrate hover and selection, DataLinkCell cleanup (#108353)
* Table: Style cleanups (minus DataLinkCell word wrap)

* kill JSONCell in favor of a custom display method and style overrides at TableNG

* remove unused type for JSONCellProps

* add increased specificity to CSS selector

* remove inherit and rely on undefined

* fix tests

* shrink and optimize DataLinkCell

* maybe

* format files

* better

* classname

* add Pills and DataLink cells to kitchen sink

* add comment about align + justify, simplify datalinks targeting

* simplify?

* poke

* tweak

* revert

* fix one more z-index conflict

* clean up alignment tests

* a couple more tests

* make TableNG e2e tests more resilient to changes to the gdev dashboard

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-23 19:39:25 +00:00
Paul Marbach 7626508842 Table: Update e2e tests to support tableNextGen (#108184)
* Table: Force tableNextGen to be true for Playwright and false for Cypress

* RDG query for body text contains the headers too

* add some simple tests for row height

* dial in the row height test a little more

* more updates

* filters, pagination

* try this on CI

* more updates to the tests

* more tests

* wait for some sort stuff to flush

* replace class selectors for rdg

* target the click to the anchor in the header
2025-07-18 12:27:04 -04:00
Paul Marbach 6c907fd955 Table: Ensure that SparklineCells honor configured mins and maxes (#107991)
* Table: ensure that FieldType.frame fields have mins and maxes applied

* update Sparklines gdev dashboard

* update gdev dashboards for table

* jsonnet spacing

* fix gdev dashboard ids and versions
2025-07-14 21:41:32 +00:00
Leon Sorokin 83396e2080 StateTimeline: Show error when Time type field has invalid values (#107491) 2025-07-02 08:51:20 -05:00
Leon Sorokin 79c39e7907 TimeSeries/Trend: Fix sparse points rendering heuristic (#107279) 2025-07-01 15:03:53 -05:00
Kristina f460e02913 Transformations: GA the Regression transformation (#106074)
* First draft of removing flag, regenerating flags and content

* Add description to catalog entry

* fix gdev dashboard
2025-07-01 08:59:22 -05:00
Jesse David Peterson dcfb079856 StateTimeline: Display false and empty string values (#107059)
* Support boolean false value mappings

* Support empty string value mapping
2025-06-24 12:07:13 -04:00
Leon Sorokin cf8e3bf7d4 XYChart: Add support for x=time (#106459)
* XYChart: Add support for x=time

* prettier

* Add time axis demo to provisioned dashboard for XY

* Add details about time fields to the documentation

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
2025-06-23 18:13:28 -05:00
Paul Marbach 1e41c07920 StateTimeline: Support NaN and null value mappings (#105638)
* fix(#92944): add StateTimeline Null+NaN handling

* chore: remove console.warns from debugging

* test: initialize a couple of simple tests

* test: more tests for hasMappedNaN and hasMappedNull

* chore: revert some of the let-const syntax cleanup for a later PR

* chore: rename should draw method

* chore: fix comment typo

* refactor(timeline-chart-utils): un-nest hasSpecialMappedValue() helper

* test(timeline-chart-utils): unit test hasSpecialMappedValue() helper

* chore: fix code comment typos in changed files

* refactor(timeline-chart): reduce helper DRY-ness for better performance

* fix(timeline-chart): check Y value for truthiness, not if it is finite

* test(state-timeline): additional gdev test panels with null + NN values

* fix(timeline-chart): allow Y value of zero in checks

---------

Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-06-12 15:13:25 -04:00
Ryan McKinley 7e192e319c Devenv: Avoid explicit uid for testdata in dashboards (#104338) 2025-04-23 12:46:34 +03:00
Ryan McKinley 82332819ef DataSourceSrv: include alias in type filter (#104308) 2025-04-22 21:34:56 +03:00
Marco de Abreu c47ab101d1 Dashboards: Add Dashboard Schema validation (2) (#103844)
* Activate schema validation and align underlying systems

* update to save as v0 if not the right schema version

* Resolve merge conflicts

* Move RequireApiErrorStatus to tests package

* Add mutation tests

* Fix lint

* Only do min version check if dashboard is v1

* Fix lint and disable provisioning test

* Revert provisioning changes

* Revert more tests and add schema test

* Reran gen

* SQL Dashboard save

* Adjust APIVERSION

* Fixed mutation test

* Add logging on downgrade

---------

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-04-11 23:05:41 +02:00
Marco de Abreu 95f04c79cd Dashboards: Add Dashboard Schema validation (1) (#103662) 2025-04-11 16:52:46 +00:00
Timur Olzhabayev a836bc646d Chore: Removing new feature in 62 dashboard as it no longer reflects the old… (#103719)
* Removing new feature in 62 dashboard as it no longer reflects the old state

* running make gen-jsonnet
2025-04-10 11:51:01 +01:00
Timur Olzhabayev 188a7be494 Chore: Replace angular based dashboards related to testdata datasource (#103458)
* Updating streaming example dashboard

* migrating TestData - Demo Dashboard

* upgrading New Features in v6.2 dashboard

* fixing prettier lint
2025-04-08 16:19:17 +02:00
Drew Slobodnjak 03d6d8f854 Table: Move library to react-data-grid (#102482)
* Changes galore

* Freedom 🗽

* Add feature flag

* Latest changes

* Basic auto cell type

* Partially working bar-gauge

* Brokenish but whatevs

* Include the toggle doc

* TableNG: Context menu (#94094)

* feat(table-ng): context menu init commit

* betterer

* feat(table-ng): re-use contextmenu component

* fix(table-ng): close context menu issue

* TableNG: Sorting columns (#94200)

feat(table-ng): sorting column

* fix feature toggle conflict

* TableNG: Sorting with custom table header (#95351)

* TableNG: Header Toggle (#95310)

* TableNG: Multi-column sorting (#95395)

feat(table-ng): multi-sorting

* TableNG: Column width options (#95426)

* feat(table-ng): column width

* mouse handle drag event

* move resizing task

* TableNG: Fix icon sorting direction (#95653)

fix(table-ng): sorting icon direction

* TableNG: Show table footer (#95313)

* TableNG: Show table footer

* Revert betterer

* Update betterer

* Incorporate reducer calculations into footer

* Update imports in FooterRow

* Use getFooterValue for summary cell render

* TableNG: Min column width (#95657)

* feat(table-ng): min column width

* feat(table-ng): set a min width constant

* TableNG: Column alignment (#95679)

* feat(table-ng): column alignment

* cleaning

* feat(table-ng): header cell alignment

* optimizations

* feat(table-ng): footer cell alignment

* calc counter

* TableNG: use compiled fn for columns -> records conversion (#95914)

* use compiled fn for columns -> records conversion

* TableNG: Move key rev and fix width overrides (#95921)

* meh

* add index to records

---------

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>

* TableNG: Sparkline Cell Parity (#95690)

* sparkline value

* todo

* Remove unsued shallowField

* Pass justifyContent to sparkline

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: BarGauge cell updates (#95521)

* fix bargauge cell

* merge and fix props

* cleanup imports

* TableNG: Text wrapping (#96041)

* feat(table-ng): fix long text cell width

* feat(table-ng): fix long text cell width 2

* comment out column rowHeight

* fix long text column width

* fix types

* fix types

* naming

* Check current header cell ref is defined for key

* cleaning

* make table re-render when data changed

* eslint

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Text overflow (#96641)

* feat(table-ng): text overflow

* cleaning

* TableNG: Fix footer for count (#96802)

* TableNG: Table column filter (#96767)

* feat(table-ng): add filter form

---------

Co-authored-by: drew08t <drew08@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

* TableNG: On column resize trigger (#97004)

chore(table-ng): trigger on resize on text wrap only

* TableNG: Improve sort performance (#97767)

* TableNG: Improve sort performance

* clean a bit

* a bit more

* Remove const that was breaking sort

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

* TableNG: Fix sorting (#98141)

fix(table-ng): sorting

* TableNG: fix multi sorting (#98668)

fix(table-ng): multi sorting

* TableNG: Column re-size handler (#98901)

* feat(table-ng): column re-size handler

* TableNG: Fix footer calcs with no reducer (#99347)

* TableNG: Update renderHeaderCell with filter dep (#99483)

* TableNG: Updated styles for demo (#99530)

* style proposal: table ng

* chore: revert gauge cell custom stuff

* TableNG: Cross-filter (#99459)

* feat(table-ng): cross-filter

* fix filter update issue

* fix filter reset issue

* Fix spacebar for filter input

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Filter perfomance optimization (#99620)

fix(table-ng): filter performance optimization

* TableNG: Refine styling closer to original table (#99625)

* TableNG: Support groupToNestedTableTransform (#97134)

* TableNG: Support groupToNestedTableTransform

* Fix merge issues

* Force refresh for now

* Remove log

* Fix some conflicts

* Fix more conflicts

* Help avoid clash with compiled frameToRecords keys

* Make subtable height unconstrained

* Support show field names in nested tables toggle

* TableNG: Fix footer + some other misc updates (#99846)

fix: footer fixes huzzah

* TableNG: Styling - Update styling for cells (#99851)

* fix(table-ng): bargauge inner width issue

* TableNG: Move header cell component (#99844)

* fix(table-ng): move header cell into separate file

* Fix sub table

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Auto cell feature parity (#100095)

* feat(table-ng): auto cell feature parity

* TableNG: JSON cell implementation + hover fixes (#100152)

* feat: tableNG json cell + auto fixes

* chore: add comment

* add justify content to json cell

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>

* TableNG: Fix cell hover issue (#100207)

* fix(table-ng): cell hover issue

* better commenting

* TableNG: Text color cell (#100120)

feat(table-ng): text color cell feature parity

* TableNG: Image cell implementation (#100132)

* feat: tableNG image cell

* fix: incorporate justify-content correctly

* chore: pass down cell options from fieldConfig

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>

* TableNG: Cell height performance improvement (#100544)

* chore: perf improvement

* chore: minor fix

* Update packages/grafana-ui/src/components/Table/TableNG/TableNG.tsx

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

* chore: fix betterer

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

* TableNG: Add pagination (#100165)

* TableNG: Add pagination

* TableNG: Get collapsed icon state correct + update `rowHeight` (#100556)

* fix: get collapsed icon state correct + update condition for calculating row height

* chore: some cleanup!

* chore: naming to avoid confusion with local state name

* TableNG: Add support for `DataLinksCell` (#100459)

* TableNG: Improve sub table styling (#100772)

* Move files temporarily to fix conflicts

* Fix feature flag conflicts

* Move files back to cell dir

* TableNG: Update inner height of bar gauge cell (#100996)

* fix: change inner height of bar gauge cell

* chore: move function to utils, cleanup

* Remove testing line

* TableNG: Add bottom border to column headers + fix footer styling (#101016)

* feat: add bottom border to column headers for table parity

* feat: summary row style fix

* chore: remove redundant style

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Add support for `ActionsCell` (#101024)

* TableNG: Cell hover styles + header resize handler indicator (#100770)

* fix: tableNG styles

* chore: clean up comments

* chore: remove column header stuffz for now

* fix: refactor to transform/translate + resize handler hover styling

* chore: re-think approach - change a lot of things

* chore: most recent iteration

* chore: wait i like this better

* chore: hoist into colors function + clean it up!

* moar better

* chore: define constants for clarity

* chore: calculate rbga to rgb values given background color

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Fix scoll hover jumpy behavior (#101085)

* fix(table-ng): hover scroll jumping

* Account for panel padding during pagination

---------

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Fix imports (#101059)

* fix(table-ng): clean imports

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>

* TableNG: Sorted rows dependent upon filtered rows (#100985)

TableNG: Improve multi-sort performance

* TableNG: Fix sparkline width (#101164)

fix(table-ng): sparkline width

* TableNG: Type TableNG (#101257)

* feat: type tableNG

* chore: push betterer

* chore: fix linter + why can't I have inline if statements... GRR!

* fix: linter - props name got changed at some point...

* feedback: data links prop consistency + json cell robustness

* chore: remove unused rowIndex prop

---------

Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Add support for datalinks (#100769)

Co-authored-by: drew08t <drew08@gmail.com>

* Chore: Remove unused import (#102064)

remove unused import

* Update betterer

* BarGauge: Remove z-index (#102220)

fix(bargauge): remove z-index

* TableNG: Refactor + testing (#102045)

* feat: type tableNG

* chore: push betterer

* chore: fix linter + why can't I have inline if statements... GRR!

* fix: linter - props name got changed at some point...

* feedback: data links prop consistency + json cell robustness

* feat: refactor + tests

* chore: fix import lint errors

* betterer

* chore: fix image cell

* chore: revert width function

* add test

* betterer

* chore: fix sorting + add tests

* chore: pr feedback

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Fix table suggestion (#102497)

fix: defensively guard against missing cellOptions

* TableNG: Footer fields calc fix (#102487)

* fix: respect footer fields calc selection

* chore: add test

* TableNG: Image cell hover fix (#102489)

fix: image cell hover

* TableNG: Persist scrollbars during re render (#102559)

* TableNG: Persist scrollbars during re render

* Update improved betterer

* TableNG: Fix column width override (#102474)

* fix(table): column width override

* TableNG: Add support for crosshair share (#102410)

* TableNG: Add support for crosshair share

* Add tests

* TableNG: Fix table ng tests (#102645)

fix: cellType causing tests to fail

* Remove empty file

* TableNG: Update util tests (#102646)

* TableNG: Add column type icon (#102686)

* chore(table-ng): add column type icon

* chore(table-ng): clean styling

* Use core internationalization outside grafana ui

* Import popover directly

* Add count to grafana-ui locales

* TableNG: Change feature flag to tableNextGen (#102814)

Change feature flag to tableNextGen

* TableNG: Add row colors (#102706)

* chore(table-ng): add row colors

* clean up

* fix params

* fix(table-ng): cell color background indexing

---------

Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
Co-authored-by: Alex Spencer <52186778+alexjonspencer1@users.noreply.github.com>
2025-03-25 20:57:57 -07:00