* 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>
* Table: Max height for wrapped content
* Docs: tableNG max cell height (#110069)
Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
* change to Max row height instead of Max cell height
* fix unit test
* table utils codeowners
* Update packages/grafana-ui/src/components/Table/TableNG/utils.ts
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* update docs
* fix docs
* Revert "fix unit test"
This reverts commit c46b0f1bec.
* fix unit test
* trade one important for another
* Tweaked wording
* hover overflow for max row height
* get rid of commented out section
* and we did it without important
* centralize overflow for max height assessment
* some alignment stuff was busted
* didn't end up using the max heigh arg for shouldTextOverflow
* make i18n path more consistent
* put some tooltip things back since they ultimately didnt change
* we can simplify the :not selector
* delete comment
* don't bother with :not
---------
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* 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>
* 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
* add new dataquery field for identifying which histogram type
* run make gen-cue to update tempo dataquery
* add native histogram check function & look for dataquery flag
* remove console log
* check for native histograms in queryfield
* only run query when histograms have not been migrated yet
* use less resource intensive query, just check if series are there
* fix type issue
* use series as better for detecting existence of a metric, fix betterer things
* fix type
* fix import
* remove metric name from func
* use datasrource func and don't make a new one
* remove string for boolean check in service graph functions
* fix bug for switching tempo data sources
* handle race condition for unmounting before async call is completed
* fix imports
* add todo to implement getNativeHistograms in Prometheus data source
* add todo to remove automatic check once tempo fully migrates to native histograms
* add todo to remove the native histogram config option
* 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
* processing: display nanoseconds if present
* Nanoseconds: add control in log line menu
* virtualization: adapt to timestamp format
* Translations
* LogLine: update test
* virtualization: update test
* LogLineMenu: update test
* LogListControls: add third state for new logs panel timestamps
* Logs Panel: expose as a new panel option
* Translations
* Logs Panel: set timestamp resolution from panel config
* Module: add default value
* LogLine: update test
* Spelling
* chore: rename setter
* LogListControls: use custom button for resolution
* Translations
* Translations
* Prettier
* Logs Panel: conditionally show timestamp and details options
* Add integration test
* 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>
* 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
* 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
* use a local count instead of getCellLinks
* fix linting on test
* fix(canvas): style linter issue
* feat(canvas): update infinite viewer root element
* fix(canvas): resize element on moving
* fix(canvas): global element position
* fix(canvas): connection anchor position
* fix(canvas): connection position
* fix(canvas): connection coordinates calculation
* cleaning
* fix(canvas): calculation connection coordinates
* fix(canvas): initial connections svg position
* fix(canvas): align connection with new coordinates system
* fix(canvas): temporary element position fix
* comment
* Canvas: Fix canvas selecto (#104621)
* fix(canvas): get context back
* fix(canvas): selecto containers
* clean up
* Canvas: Fix jumpy elements behaviour on select and drag (#104641)
fix(canvas): jumpy elements behaviour on select and drag
* fix(canvas): connection regression (#104682)
* Canvas pan + zoom: Updated mouse interactions (#104648)
* feat: canvas panel pan + zoom key binds
* feat: panning when right click + ctrl
* chore: some cleanup
* chore: adjust mouse move delta by canvas scale
* Canvas: Zoom to content (#104950)
feat(canvas): zoom to content
* Canvas pan + zoom: Unique key for canvas panel elements (#104947)
fix: unique keys
* Canvas: Placement adjustment (#105117)
* feat(canvas): top/left placement migration
* feat(canvas): adjust constraint system for pan and zoom usage
* feat(canvas): support other constraints
* Canvas: Align connection anchors and element rotation (#106002)
* feat(canvas): align connection anchors and element rotation
* clean up
* clean-up math
* Canvas: Disable pan when pan+zoom toggle is false (#106224)
chore: no pan when pan+zoom toggle is disabled
* Canvas: Fix desync between scene and InfiniteViewer zoom/position on element addition (#106655)
feat(canvas): keep pan and zoom state to re-apply
* Canvas: Clicking on metricValue dropdown does not work; right-click triggers context menu instead (#106701)
fix(canvas): metricValue left click dropdown
* Canvas: Double-click on canvas should reset scale and position (#106709)
fix(canvas): dblclick to reset zoom
* Canvas: Put new canvas pan and zoom under feature toggle (#107001)
* feat(canvas): put pan and zoom under FF
* clean-up
* clean-up
* fix(canvas): clear selection on scene manipulation
* fix(canvas): any types
* Canvas: Fix canvas apply styles (#107404)
* fix(canvas): apply styles
* remove deps
* Canvas: E2E test coverage (#107474)
* betterer
* feat(canvas): sceneAbleManagement tests
* feat(canvas): playwright tests
* chore(canvas): add draft e2e tests
* chore(canvas): clean draft e2e tests
* chore(canvas): fix draft e2e tests
* chore(canvas): todo comments
* chore(canvas): update e2e tests
* chore(canvas): delete scene unit tests
* chore(canvas): delete sceneAbleManagement unit tests
* chore(canvas): delete sceneAbleManagement unit tests
* chore(canvas): linter
* chore(canvas): locales
* chore(canvas): remove flag checking
* Fix canvas connection point z-indexing bug (#107223)
fix(canvas): hoist connect points one level higher in DOM to fix z-index
* Revert "Fix canvas connection point z-indexing bug" (#108146)
Revert "Fix canvas connection point z-indexing bug (#107223)"
This reverts commit e419cb164a.
* Canvas: Set canvas zoom range (#108318)
* chore(canvas): set zoom range
* chore(canvas): naming
* Canvas: Fix infinite-viewer connections viewport values (#108315)
chore(canvas): infinite-viewer connections viewport values
* Canvas: Fix z-indices order and explicit pointer events (#108284)
* fix(canvas-connection-points): z-indices order, explicit pointer events
* chore(canvas): remove user select
* chore(canvas): naming
* chore(canvas): create ConnectionAnchor2 component
---------
Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
* Canvas: Hide anchors on panel resize (#108588)
chore(canvas): hide anchors on panel resize
* Canvas: Center & scale select, resize, zoom bugs (#108749)
* Canvas: Fix center and scale constraint with zoom
* Remove unused resize flag
* Consolidate and clean up
* fix(canvas): re-size scale and center elements
---------
Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
* Canvas: Fix on constraint change during zoom (#108947)
* Canvas: Ensure correct panel size during edit (#108953)
* chore(canvas): re-gen cue
---------
Co-authored-by: drew08t <drew08@gmail.com>
Co-authored-by: Sven Grossmann <svennergr@gmail.com>
Co-authored-by: Alex Spencer <52186778+alexjonspencer1@users.noreply.github.com>
Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
* Revert "Revert: Future-proofing query and data source model in Dashboard Sche… (#107985)"
This reverts commit 13a89d4ae3.
* Revert "Revert "Schema V2: Simplify annotations v1<->v2 conversions" (#107984)"
This reverts commit 2b8c5bea1a.
* make gen apps
* e2e update
* Use v2alpha2 by default (#108177)
* Use v2alpha2 by default
* Apply only DS changes to alpha2
* Use v2alpha2 by default except to query
* Create a v2 index in @grafana/schema
* Update path and apply lint
* Update tests
* Update imports to v2 status
* Fix failing openapi test
* Schemav2 breaking changes: conversion implementation (#108224)
* provision v2alpha1 dashboard
* Run conversions for DS refactor
* Run snapshot testing on conversions
* Normalize output name
* Update snapshots to include all panel and variable cases
* fix lint
* fix lint
* fix test and go lint
* more go lint
---------
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
* Schema v2: Introduce group/datasource convention to GroupBy and AdHoc variable (#108237)
* Schema v2: Introduce group/datasource convention to GroupBy and AdHoc variables
* add conversion
* App Installer: Authorizer support (#108419)
* Chore: use `satisfies` and remove a load of `any`s (#108397)
use satisfies and remove a load of anys
* improve logging and fail unified-storage migration with more than 0 errors (#108471)
improve logging and fail unified-storage migration with more than 0 errors
* fix conversion test
* Secrets: Create more granular fixed roles for SecureValues (#108382)
* Provisioning: Fix bug in job progress recording (#108440)
Fix bug in job progress recording
* Provisioning: Fix ImportAllPanelsFromLocalRepository test (#108441)
* Provisioning: Skip flaky test
* Fix flaky provisioning test
* Fix lint
---------
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
* BulkDeleteProvisionedResource: Move progress bar into a second step (#108417)
* Move progress bar into a second step
---------
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* [Dashboard Schema Codegen] Move dashboard CUE codegen block back up into kind body (#108476)
[Dashboard Schema Codegen] Move dashboard CUE codegen block back up into kind body to make sure new versions have the same settings.
---------
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Will Assis <35489495+gassiss@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Roberto Jiménez Sánchez <jszroberto@gmail.com>
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Yunwen Zheng <yunwen.zheng@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Austin Pond <IfSentient@users.noreply.github.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
* Dashboard Schema V2: Refactor VizConfigKind to follow DataQueryKind convention (#108148)
* Dashboards API: Register v2alpha2 API
* Prepare conversion functions
* Fix test
* Refactor VizConfigKind to follow DataQueryKind convention
* fix tests
* use new dataquerykind convention alpha 2
* add conversion
* fix tests
* fix tests
* fix another test
* Fix merge
---------
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* fix k8s codegen
* Update e2e-playwright/dashboards/TestV2Dashboard.json
* Update e2e/dashboards/TestV2Dashboard.json
* revert app generation for non-related apps
* try again
* another try
* also revert folder and secret app generation
* v2alpha1 provisioned dashboard
* Fix kind
* Fix conversion snapshots
* Update API discovery registry
* Rename to v2beta1
* Rename migrations
* Update apps/dashboard/pkg/apis/dashboard/v2beta1/doc.go
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
* Ensure conditional rendering and other non changed properties
---------
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Will Assis <35489495+gassiss@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Roberto Jiménez Sánchez <jszroberto@gmail.com>
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Yunwen Zheng <yunwen.zheng@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Austin Pond <IfSentient@users.noreply.github.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
* TimeComparison: Add time comparison option
* Display control conditionally based on option
* Provide timeCompare option to panels that opt in
* Only render time compare if panel supports it
* Create a custom time range compare component
* Move custom component
* Remove button checked
* Move time compare options out of field config
* Fix types and remove from fieldConfigProperty enum
* Remove from field config registry
* Add headerActions to V2 schema
* Remove dependency on timeCompare support registry
* Add feature flag
* Subscribe to options change in wrapper
* Remove custom rendering to simplify wrapper
* Bump scenes version
* Hide checkbox
* Remove unneeded query refresh during disable
* Fix import order in timeseries module
* Add util tests
* Support time comparison toggle for new viz panels
* Revert grafana-app-sdk and manifest changes
* Revert yarn lock
* New Logs Panel: Add events for Panel and Details
* Logs Panel: add noInteractions property
* New Logs Panel: conditionally report interactions
* Test
* OTel: create formats service
* LogListContext: use OTel service to resolve the default displayed fields
* Create otelLogsFormatting feature flag
* LogListContext: conditionally use otel format based on feature flag
* OTel logs: reformat body and improve displayed fields
* formats: remove duplicated scope name
* Update formats.ts
* format: use regex rules to exclude fields
* Add tests
* Formatting
* LogsPanel: expose setDisplayedFields
* LogListContext: refactor otel displayed fields
* Prettier
* format: optimize identifyOTelLanguages
* Dashboards API: Register v2alpha2 API
* Prepare conversion functions
* Fix test
* Move to the bottom the v2aplha2 until is ready
---------
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
* static options for query variable
* add toggle
* fix and add tests
* run the hack codegen thing
* more test fixes
* make betterer happier
* also make typecheck happy
* make betterer happier
* fix i18n key
* tranalte static variables sort label
* gen translations
* update snapshot
* v2 of pills for tables
* cleanup bettererrrrr
* cleanup pretty
* i18n changes
* add in the option for value mapping
* value mapping
* change to just use the value mapping from the table component
* tests fixed
* betterer all better now
* fix pretty
* i18n
* fix gen issue
* i18n
* fix merge issue
* Refactor pillcell to an interface for said pill, cleanup tests
* mind the space says prettier