* schematize data query
* add the stuff you dingus
* feat(testdatasource): add scenario to generated types
* use generated testdata query in frontend
* update code owners
* Add path exception for testdata datasource
* use specific numeric data types
* fix test
* fix e2e smoketest
* add test data query type
* use test data query type
* fix betterer
* Fix typo
* move to experimental
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: sam boyer <sdboyer@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Add config to remove Snapshot functionality (frontend is hidden and validation in the backend)
* Add test cases
* Remove unused mock on the test
* Moving Snapshot config from globar variables to settings.Cfg
* Removing warnings on code
* chore(d3-color): resolve all copies to 3.1.0 to fix vulnerability
* chore(yarn): fix resolution version
* chore(jest): compile d3-color from esm to cjs
* chore(d3): bump d3 to latest, set jest config to transpile es modules
* chore: bump visx packages to resolve d3-color to latest
* chore(jest): add missing es modules to config
* chore(storybook): prevent storybook config failure due to nested esm imports
* chore(storybook): use a direct path to avoid es modules breaking config build
* build(sass): use esbuild to generate sass theme vars for esm deps
* chore: clean up swc dependencies
* revert: remove debug console.log breaking tests
* Adapt state timeline to scuemata
* Refactor status history to cue model
* Refactor
* Refactor TimelineChart as a core component
* wip
* Change as per CR
Co-authored-by: sam boyer <sdboyer@grafana.com>
* Add schema for XYChart
* Minor cleanup
* remove unessecary fields from ScatterFieldConfigVeneer, and cleaning up more
* Fix counts
Co-authored-by: sam boyer <sdboyer@grafana.com>
* Adding service accounts schema
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
* Change metadata field
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
* Merging the two DTOs into one schema
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
* Eric dedup things
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
* Add optional to teams/created/updated
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
* Lower case the OrgId
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
* PanelChrome: test loadingState and status
* add some tests
* fix error-related tests
* clean up
* fix tests
* pass aria-label from PanelChrome to ToolbarButton
* add prop comments and clean up
* add: skip_org_role_sync setting for github
* fix: frontend
* rearranged tests
* refactor: assignGrafanaAdmin skip also
* Add: tests for allowGrafanaAdmin
- both for the case when both settings are set and the setting for only
allowGrafanaAdmin
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-grafana/_index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update pkg/login/social/github_oauth.go
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
* added vairable inside scope
* Update docs/sources/setup-grafana/configure-security/configure-authentication/github/index.md
* Update docs/sources/setup-grafana/configure-security/configure-authentication/github/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
* Reduce size of topnav search 'input' to 1/5th of the width, min width 200px
* Open command palette on topnav search box click
* Rename component
* fix comment
* feature flag the change
* update feature flag description
* rename routes and fix access control for support bundles
* AccessControl: Hide menu if not authorized
* AccessControl: Add AC guards for create and delete
* lint
* build(webpack): replace babel-loader with esbuild-loader
* build(webpack): add esbuild minifier to production builds
* Wip
* Removed ngInject and replaced with manual inject params
* chore: bump esbuild to 0.15.13
* Fixed angular issues
* build(frontend): update esbuild to 0.16.16
* chore(webpack): support browserslist for esbuild
* build(esbuild): unify versions of esbuild to 0.16.17 and esbuild-loader to 2.21.0
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* fix(auto-size-input): return maxWidth when realWidth exceeds limit
* fix(query-builder): sex madWidth for simple editor component
* fix(auto-size-input): add unit test
* Create DataSourceWithLogsSampleSupport check and move to 1 place
* Add new SupplementaryQueryType
* Add and change utility functions for loading, storing ancd checking supp queries
* Add logic to redux for processing of new type of supp query
* Implement queryLogsSample used to run samples queries
* Fix tests to include also Log samples
* Add tests
* Temporarily, default to false
* Change comment
* Fix lint error
* Refactor handling of supplementary queries in query.ts
* Fix looping over array
* Remove changes for any => unknowns as in utils.ts
* Fix logic
* Fix incorrect imports after function was moved to different file
* Migrate old log volume key
* Update public/app/features/explore/utils/supplementaryQueries.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Refactor to use DataSourceWithSupplementaryQueriesSupport
* Refactor, improve tests, change internal API
* Update packages/grafana-data/src/types/logs.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Add deprecation for DataSourceWithLogsVolumeSupport, but still support it
* Update comment with correct new issue
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* New pfs impl
* Reached codegen parity with old system
* Update all models.cue inputs
* Rename all models.cue files
* Remove unused prefixfs
* Changes Queries->DataQuery schema interface
* Recodegen
* All tests passing, nearly good now
* Add SchemaInterface to kindsys props
* Add pascal name deriver
* Relocate plugin cue files again
* Clarify use of injected fields
* Remove unnecessary aliasing
* Move DataQuery into mudball
* Allow forcing ExpandReferences on go type generation
* Move DataQuery def into kindsys, add generator to copy it to common
* Fix copy generator to replace package name correctly
* Fix duplicate type, test failure
* Fix linting issues
* FieldOptions: Add filterable as registry added field item
* Refactor to functional component, move ad hoc filter to PanelStateWrapper
* review tweaks
* Add new config option
* Add frontend control
* Condition new auth broker with config option
* Condition old auth broker with config option
Co-authored-by: Jo <joao.guerreiro@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* feat(UI/Alert): add two new optional properties: 'ariaLabel' and 'role'
* docs(UI/Alert): add some docs to the props
* feat: infer the role based on the severity
* fix: stop overriding props
* fix: fix a test depending on the wrong alert role
* Table: Fixes broken link styles after recent cell options PR
* Share migration and fix bar gauge as well
* Remove unused import
* Review fixes
* Fixed test
Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
* PanelChrome: Simplify props and code a bit
* Don't set a default empty array for leftItems so we can know user has set it
* fix 'this' is undefined
* add storybook examples of statusMessage; remove SB examples of loadingState === Error; simplify loadingState checks in PanelChrome;
Co-authored-by: polinaboneva <polina.boneva@grafana.com>
* [WIP] Auth: add backend skipOrgRoleSync to AzureAD OAuth
- add: skipOrgRoleSync
- rename: skipOrgRoleSync to skipOrgRoleSyncBase (to make it clear that
it is the base version of SocialBase)
- add: tests for skipOrgRoleSync in AzureAD
TODO:
- [ ] frontend changes
* add: docs
* refactor: remove role from basicinfo
* add: settings for grafanacom
* add: settigns for frontend
* add: logic for azureAD user skip org role
* add: docs for skip_org_role_sync
* refactor: docs a bit
* add: tests for userinfo
* refactor: to only extract if skiporgrolesync false
* refactor: based on review comments
* Update docs/sources/setup-grafana/configure-grafana/_index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-grafana/_index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* add feature flag `alertingNoNormalState`
* update instance database to support exclusion of state in list operation
* do not save normal state and delete transitions to normal
* update get methods to filter out normal state
* Update table data structure schema.
* Update table panel configuration options for new structure
* Fix TS errors from refactor
* Separate background and gauge display modes
* Remove the now used Bar Gauge display from the mud
* Fix types up
* Reorganize data structures
* Fix type issues.
* Start stubbing necessary code.
* Continue implementing option refactor
* Change category for cell type selection.
* Consolidate cell options
* Fix various typing issues
* Clean up dead code
* Stub handling display mode changes
* Make subOption editor dynamic
* Setup interface for sub-option editor props
* Remove unused imports
* Remove console.log call
* Persist display mode changes, stub sub options change, update comments.
* Make sure updates from cells are persisted
* Persist sub-option changes
* Update BarGaugeCell to take into account new settings.
* Add deprecated field back
* Remove unecessary options in configuration
* Update default cell to accept new settings
* Make sure color text display works
* Add deprecated property notice
* Use constant as opposed to string
* Make sure we name globally namespaced things uniquely
* Update to use unique name
* Use union type with discriminator.
* Simplify types and operation
* Update type definitons
* Update types
* Update property names in cells
* Remove React.FC usage
* Update option editor signature
* Update options structure
* Change variable name
* Fix "Color Text" display
* Remove debug statement
* Make sure we remain backwards compatible with display mode.
* Add migration for configuration.
* Export BarGaugeDisplayMode from grafana-ui
* Update import
* Fix bar gauge and dashboard migrator tests
* Fix potential undefined references causing test failures
* Fix another potential reference error in DefaultCell
* Try to fix breaking change detection.
* Cache setting changes
* Make sure we return with onChange invocation
* Fixed migrating overrides
* Fix a number of review comments
* Simplify option editors
* Fix unused imports
* Fill out comments for types
* Actually use defaultPanelConfig for editor default
* Move TableCellEditorProps alongside TableCellOptionEditor
* Update docs for table panel
* Also make sure we remove TableCellEditorProps from model file
* Stub migration tests
* Add tests for default config migration
* Add basic overrides test
* Flesh out tests a bit more
* Add inspect to same category as cell editor
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Add AsyncVirtualizedSelect component in grafana-ui
* Slice FolderPicker results to 1k and virtualize list using AsyncVirtualizedSelect
* Group list in alert form: Use AsyncSelect and slice results to 1000
* Virtualize and slice always in FolderPicker: set default sliceResults value and let consumers change this value
* Always slice results in FolderPicker
* Limit folder results setting the limit in the api call instead slicing in the FE
* Remove warning about the limit in the Select label
* feat: add draft version of validate button
* feat: add some styling and basics
* temp: intermediate result
* refactor: solve TODOs
* refactor: replace string in state
* refactor: replace error message style
* refactor: set validate state on change in ds
* refactor: add QueryRunner
* refactor: add QueryRunner
* temp: temporary status
* Emit PanelData to check if the query is valid
* refactor: clean up
* refactor: improve a11y of error message and adjust test
* Remove deprecated property call, change equality
* refactor: add changes from code review
* refactor: remove memory leak
* refactor: replace query runner
* refactor: adjust error handling
* refactor: move testing to related unit test
* refactor: clean up test for QueryEditorField
* refactor: clean up test for CorrelationsPage
* refactor: repair test
* refactor: clean up
* refactor: add refId in order avoid errors when running Loki queries
* refactor: replace buildQueryTransaction + set query to invalid if query is empty
* refactor: add empty query value to test cases
* refactor: end handleValidation after setIsValidQuery()
* refactor: refactor test
* refactor: fix last two tests
* refactor: modify validation
* refactor: add happy path
* refactor: clean up
* refactor: clean up tests (not final)
* refactor: further clean up
* refactor: add condition for failing
* refactor: finish clean up
* refactor: changes from code review
* refactor: add response state to condition
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* refactor: fix prettier issue
* refactor: remove unused return
* refactor: replace change in queryAnalytics.ts
* refactor: remove correlations from query analytics
* refactor: remove unnecessary test preparation
* refactor: revert changes from commit 4997327
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
* setup menu as a render prop sent down from PanelStateWrapper to PanelChrome
* let the Dropdown take care of opening the menu in PanelChrome
* menu and leftItems are on the right side of the header together
* add storybook examples with menu
* menu does not need to be a callback because it's opened in a Dropdown anyway
* pass down to getPanelMenu whether or not data is streaming atm
* stop loading data as well as streaming from menu
* override menu's style where needed
* reduce snapshot matching in tests
* fix(Alert): don't add padding to content when there is no title
* Feat(Connections): update the style and wording of the redirect alert
* fix(UI/Alert): more resilient check for has title
* Add createOptionPosition props to SelectBase
* Show create option in the beginning of the list
* Show only matched template variables
* Fix the test
* Remove redundant check
* Use preferred package header for generated code
> To convey to humans and machine tools that code is generated, generated source should have a line that matches the following regular expression (in Go syntax):
> `^// Code generated .* DO NOT EDIT\.$`
https://pkg.go.dev/cmd/go#hdr-Generate_Go_files_by_processing_source
Co-authored-by: sam boyer <sdboyer@grafana.com>
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Regenerate files with updated header
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: sam boyer <sdboyer@grafana.com>
* Explore: remove topnav
* PageToolbar: fix left items margin when no title or page icon is set
* add missing key prop & fix tests
* use canvas variant in live logs
* avoid rendering empty space
* fix test
* avoid disabling split resize button when live tailing
* minor touchups
* Update packages/grafana-ui/src/components/PageLayout/PageToolbar.tsx
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* dashboards squad mob! 🔱
lastFile:packages/grafana-ui/src/components/LoadingBar/LoadingBar.tsx
* dashboards squad mob! 🔱
* dashboards squad mob! 🔱
lastFile:packages/grafana-ui/src/components/LoadingBar/LoadingBar.tsx
* user essentials mob! 🔱
* create grafana/ui LoadingBar and set it up in Storybook
* Remove test changes on PanelChrome
* Fix mdx page reference
* dashboards squad mob! 🔱
lastFile:public/api-merged.json
* dashboards squad mob! 🔱
* dashboards squad mob! 🔱
* dashboards squad mob! 🔱
* dashboards squad mob! 🔱
lastFile:public/app/features/dashboard/dashgrid/PanelHeader/PanelHeaderState.tsx
* Implemented basic draft of panel header states. Using ToolbarButton instead of IconButton.
* use 'warning' styled Button in ToolbarButton
* make LoadingBar a simple JSX Element; do not use containerWidth; have a wrapper around the loading bar itself;
* fix wrapper around LoadingBar: willChange css prop makes performance of rerendering better
* States: Render general panel query error states and render notices next
to the title
* add streaming to PanelChrome if data is streaming instead of loading
* PanelHeaderState with its own state 'mode'
* clean up useEffect
* notices have their own square space in the size of the panel header
* clean up
* minor fixes
* moving the LoadingBar to core
* LoadingBar is not in grafana/ui
* always have a place for the loading bar in the PanelChrome, otherwise it moves everything when appearing;
remove titleItemsNodes for now - in later development
make no changes to Notice component, not part of this PR
* Revert "moving the LoadingBar to core"
This reverts commit 11f0f4ff2f.
* do not use internal comment as it doesn't do anything
* integrate LoadingBar in PanelChrome from grafana/ui directly
* fix deprecated leftItems comment
* Modify annimation to 1 second
* remove comments
* remove streaming stopped UI because we cannot know when the streaming has stopped
* skip unnecessary test for now
* no point in removing hoverHeader now, even though it's not yet implemented
* small fixes
* error state of the data in a panel is positioned in PanelChrome itself, not in PanelHeaderState
* Fixed loading state jitter
* remove warning state as we have none of it
* streaming cannot be stopped from the icon
* explicit content container width and height
* explicit content container width and height
* edit deprecated comment
* fix LoadingBar to be relative to width of panel; remove explicit width and height on content strict
* no warning state of the data
* status of the panel data given directly to PanelChrome, not a node
* clean up
* clean up console log
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
* panel title design fits typography h6 styles; render error status only if error or error message are passed to PanelChrome
* add storybook examples; prepare PanelChrome for hoverHeader because this will be a breaking change and it will affect how the storybook example shows up
* show storybook example for streaming panel with title because that's the condition for having a header
* override margin-bottom: 0.45em of h6
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
* turn on topnav toggle in e2e tests
* fix variable e2e tests
* fix remaining tests + remove some hardcoded waits
* speculative fixes
* wait for error to disappear
* use new selector, turn toggle back off
* Add icons, use them for split pane resizing
* Change icons
* Apply scale to child div
* Use fancier logic for displaying icon
* Remove color fill on icon
* Change icons, remove scale
* Change icons and logic
* feat: grouping matrix transformer empty value
Allow grouping matrix data transformer to define the value used when the matrix entry is not defined
* fix: grouping to matrix empty value test
* remove balel width for empty value text
Co-authored-by: bohandley <brendan.ohandley@gmail.com>
* Update dependency @testing-library/dom to v8.19.0
* refresh lockfile
* fix unit tests
* Revert "fix unit tests"
This reverts commit eb40f3207a.
* Revert "refresh lockfile"
This reverts commit c0cd5822da.
* ensure a consistent version of @testing-library/dom
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Time range added for public dashboard:
- Enable/Disable switch added in public dashboard configuration.
- Time range picker shown in public dashboard for viewer user
* Implement backtesting engine that can process regular rule specification (with queries to datasource) as well as special kind of rules that have data frame instead of query.
* declare a new API endpoint and model
* add feature toggle `alertingBacktesting`
* Remove TraceID tab when TraceQL is enabled. Use TraceQL editor to query for trace IDs by checking whether the content is an hex only string
* Highlight valid trace IDs in traceql editor
* Update trace and span links to use TraceQL tab when feature flag is enabled
* Remove traceqlEditor feature flag.
* Remove traceId query type from Tempo and replace it with traceQl
* dashboards squad mob! 🔱
lastFile:packages/grafana-ui/src/components/LoadingBar/LoadingBar.tsx
* dashboards squad mob! 🔱
* dashboards squad mob! 🔱
lastFile:packages/grafana-ui/src/components/LoadingBar/LoadingBar.tsx
* user essentials mob! 🔱
* create grafana/ui LoadingBar and set it up in Storybook
* Remove test changes on PanelChrome
* Fix mdx page reference
* make LoadingBar a simple JSX Element; do not use containerWidth; have a wrapper around the loading bar itself;
* fix wrapper around LoadingBar: willChange css prop makes performance of rerendering better
* moving the LoadingBar to core
* Revert "moving the LoadingBar to core"
This reverts commit 11f0f4ff2f.
* do not use internal comment as it doesn't do anything
* Modify annimation to 1 second
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
* render timepicker in a modal style on small screens
* remove top: -1
* apply styles
* prevent bug where selecting a relative range wouldn't apply if the absolute ranges were expanded
* Revert "prevent bug where selecting a relative range wouldn't apply if the absolute ranges were expanded"
This reverts commit 7090443c12.
* Fix not all recently used time ranges showing
* Refactor time picker history to store simpler json objects
* Don't store duplicate items
* update todo tests:
* Add tests for TimePickerWithHistory
* better fix for focus scope issues in test
* usageinsights: record events for Explore queries
* usageinsights: make the source field optional
It is not logical to have it for an event like the dashboard-view
* usageinsights: add comment to Explore test
Explain why we are reversing a previous decision
* Auth: Session cache [v9.2.x] (#59907)
* add cache wrapper
only cache token if not to rotate
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
anticipate next rotation
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
(cherry picked from commit 07a4b2343d)
* FeatureToggle: for storing sessions in a Remote Cache
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
(cherry picked from commit b8a8c15148)
* use feature flag for session cache
* ensure ttl is minimum 1 second
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* ensure 2 ttl window to prevent caching of tokens near rotation
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* fix description of toggle
Co-authored-by: gamab <gabi.mabs@gmail.com>
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
(cherry picked from commit 2919588a82)
* fix broken quota test
* deprecate timeseries-many in favor of timeseries-multi
* deprecate timeseries-many, do not just remove it
* undo changes to jsonc files
* update deprecation message
* return TimeSeriesMulti for prepareTimeSeries transformer
* Add Team kind
* Minor changes
* Use ToMedatata annotation
Co-authored-by: sam boyer <sdboyer@grafana.com>
* Use ToMedatata annotation
Co-authored-by: sam boyer <sdboyer@grafana.com>
* Use ToMedatata annotation
Co-authored-by: sam boyer <sdboyer@grafana.com>
* Use ToMedatata annotation
Co-authored-by: sam boyer <sdboyer@grafana.com>
* Update comments
* Add created and updated fields
* Make orgId required
* Use int64 for datetime
Co-authored-by: sam boyer <sdboyer@grafana.com>
* Accessibility: Improved keyboard accessibility in BarGauge
* use appropriate elements when rendering bargauge
* added space for focus-visible outline border
* Revert "added space for focus-visible outline border"
This reverts commit 9b83fa3a0b.