* initial basic OpenFeature client for datasource class
* add dep
* update, use a wrapping function to enforce types
* move init OF to grafana-runtime
* docs
* Fix circular dependency causing tests to fail
* codeowners
* use toggle in datasourcewithbackend
* Fix CUJs group-by test
* Comments
* update docs, make default value mandatory
* revert using for queryServiceFromUI toggle
* Dashboard Scenes: Fix missing Ctrl+O keyboard shortcut for crosshair toggle
- Add missing mod+o keybind to dashboard scenes keyboard shortcuts
- Implement crosshair state cycling (Default -> Crosshair -> Tooltip -> Default)
- Add comprehensive unit tests for keyboard shortcuts functionality
- Add e2e test to verify shortcut works and prevents browser file dialog
- Fix ensures parity between legacy and scenes dashboard implementations
Fixes issue where Ctrl+O/Cmd+O was opening browser file dialog instead of
toggling shared crosshair modes in scenes-based dashboards.
* Remove waitForTimeout from e2e test
- Replace arbitrary timeouts with proper element waiting
- Use waitFor with visible state instead of setTimeout
- Improve test reliability and follow Playwright best practices
* Optimize e2e test for crosshair keyboard shortcut
- Remove unnecessary console logging and timeout settings
- Simplify assertions to only check the currently selected radio button
- Improve test performance by reducing DOM queries
- Focus on essential functionality verification
* Fix linting
* Add scopes search highlight with wildcard support
* Change so query is not being applied to parent
* Update e2e tests with more stable selectors
* Fix initial load query
* Use the Highlighter library instead
* Remove unused sanitization
* Remove undefined export
* add e2e test for custom grid repeats
* update codeowners file
* adjust embedded panel test to account for different base url
* replace waitFor
* run bookmark e2e consecutively
* add repeats e2e tests for auto grid
* clean up
* adjust e2e test
* add e2e test for custom grid repeats
* update codeowners file
* adjust embedded panel test to account for different base url
* replace waitFor
* run bookmark e2e consecutively
* 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
* update bump-version
* Add id-token: write
* update generate-token step
* pull-requests -> pull_requests
* clone with token and set right name
* bump version 12.3.0-pre
---------
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
Co-authored-by: grafana-delivery-bot[bot] <grafana-delivery-bot[bot]@users.noreply.github.com>
* get trace-view-scrolling working in playwright
* almost fix frontend-sandbox-datasource test
* properly fix frontend-sandbox-datasource tests
* convert migrate-to-cloud to playwright
* prometheus-variable-editor tests in playwright
* enable prometheus-config tests in playwright
* run on frontend changes
* skip test
* remove various-suite
* 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
* 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>
* Revert "Revert: "Accessibility: Ensure dashboard edit panel inputs have accessible labels" (#109984)"
This reverts commit 7331a2e8c3.
* revert test change that accidentally catches the issue
* use useId in some places
* make ID required
* fix some ids
* fix a couple more
* add ids to variables
Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>
* add ids to get viz options
* add ids in getPanelFrameOptions
* add getFieldOverrideElements
* change name
* Replace other uuids with hard coded ids
* hoist useId out
* use some new selectors for table e2es
* commit betterer crimes
* use useId where we can
* Revert "use useId where we can"
This reverts commit 34090ac75d.
* fix some dashboard layouts tests
* rm AutoCellOptionsEditor
* idk try and fix tests
* restore fixed its for url state
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>
Co-authored-by: Paul Marbach <paul.marbach@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
* Dashboards: New pathId concept to find panels not based on scene object key
* Minor fix
* fix test
* Fix test
* adding unit tests for pathId functions
* fix
* Fix link sharing to use new path
* fix
* Update
* No clone keys
* Remove all the clone keys complexity
* More changes
* update e2e test
* Progress
* fix auto grid item
* Finally working cannot move panel into clone row
* adjust how we find vizpanel for keyboard shortcuts
* Update
* Fix shortcuts
* Fix test
* fixing tests
* fix lint
* fix tests
* fix e2e
* adjust how outliine children are collected for auto and custom grids
* update
* Upgrade scenes
---------
Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
* add github workflow scaffolding
* update comments
* Add image and resource commands
* Add secrets paths
* Block workflow run for forks
* ignore via package.json, update CODEOWNERS
* fix workflow path
* remove old azure monitor test
* pull docker image first
* add permissions for docker pull step
* checkout first
* keep creds file
* try all in one job
* with creds...
* add cloud: 'azure'
* pass CLOUD to docker
* add -playwright
* actually use the env vars
* don't need to pass CLOUD env var
* remove commented out code and tidy up
* kick CI
* Update container names and set PLAYWRIGHT_CI
* Update path
* fix zizmor violation
* use bigger runner, add double quoting
* add separate command and increase timeout
* remove timeout
* parameterise the e2e command in CI
* move cloud-plugins-e2e-tests into normal e2e test workflow
* fix detect changes
* pass creds into dagger
* try remove quotes
* add a debug log
* exec playwright command after mounting file
* reassign e2eContainer, add change to check the tests fail correctly
* fix test
---------
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
* 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
* update instantiations of OptionsPaneItemDescriptor to pass IDs - obvious changes
* update instantiations of OptionsPaneItemDescriptor to pass IDs - iffy changes
* update editors to pass ID through or note a missing label
* update playwright tests
* fix unit tests
* grafana ui components updated to pass ID through
* update components to pass ID through
* add missing input IDs
* better default ID handling
* remove TS note
* revert accidental non-html id change
* kick CI
* fix old-arch e2e tests
* change to plain useId calls
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* set the boot data config correctly
* tighten up grafana/data types
* kick CI
* restore dashboard scopes props
* revert back to class
* add some comments
* kick CI
* add comment
* 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>
* add equivalent dashboard-time-zone test
* remove cypress dashboards-suite
* modify tests to work with schema-v2 + update workflow to run playwright instead
* fix package.json
* update CODEOWNERS
* fix start-server to include ARCH
Integration Tests / All backend integration tests complete (push) Blocked by required conditionsDetails
Reject GitHub secrets / reject-gh-secrets (push) Waiting to runDetails
Run dashboard schema v2 e2e / dashboard-schema-v2-e2e (push) Waiting to runDetails
Shellcheck / Shellcheck scripts (push) Waiting to runDetails
Run Storybook a11y tests / Detect whether code changed (push) Waiting to runDetails
Run Storybook a11y tests / Run Storybook a11y tests (push) Blocked by required conditionsDetails
Swagger generated code / Verify committed API specs match (push) Waiting to runDetails
Dispatch sync to mirror / dispatch-job (push) Waiting to runDetails
golangci-lint / lint-go (push) Has been cancelledDetails
Crowdin Upload Action / upload-sources-to-crowdin (push) Has been cancelledDetails
Documentation / Build & Verify Docs (push) Has been cancelledDetails
publish-kinds-next / main (push) Has been cancelledDetails
publish-technical-documentation-next / sync (push) Has been cancelledDetails
Trivy Scan / trivy-scan (push) Has been cancelledDetails
* 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
* 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>