Commit Graph

724 Commits

Author SHA1 Message Date
Dominik Prokop
2cfbe087fc DashboardScene serialization: Handle variables and library panels (#76117)
* DashboardScene serialization: Library panels

* DashboardScene serialization: Variables

* TS fix

* Review

* betetrer -u
2023-10-06 05:32:29 -07:00
Ashley Harrison
171e2c1adb Chore: Improve typings and ignore Graph (#75742)
* fix some types, ignore graph plugin as it'll be gone soon

* update comments

* more more more

* undo renderer change

* use Partial in the editor
2023-10-06 11:48:15 +01:00
Oscar Kilhed
40cdb30336 Transformations: Add support for dashboard variable in limit, sort by, filter by value, heatmap and histogram (#75372)
* variables for filterforvalue

* use datalinkinput for basic matcher

* fix user select issue

* heatmap transformation variable interpolation

* clean code

* interpolate sort by

* add options interpolation in histogram transformation

* interpolation for limit

* Add suggestions UI to Filter by data value Transformation

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>

* add validation for number/variable fields

* Add variables to add field from calculation

* Add validator to limit transformation

* Refactor validator

* Refactor suggestionInput styles

* Add variable support in heatmap calculate options to be in sync with tranform

* Refactor SuggestionsInput

* Fix histogram, limit and filter by value matchers

* clean up weird state ref

* Only interpolate when the feature toggle is set

* Add feature toggle to ui

* Fix number of variable test

* Fix issue with characters typed after opening suggestions still remains after selecting a suggestion

* Clean up from review

* Add more tests for numberOrVariableValidator

---------

Co-authored-by: Victor Marin <victor.marin@grafana.com>
2023-10-04 17:28:46 +03:00
Andre Pereira
607a664ef4 Trace View: Span list visual update (#75238)
* Show color of row as a border under the row. Hide service name for sequential spans

* Increase default span name column width. Smaller font for service and span names in span list

* New background color on spans. Fixed hover of indent markers

* Service name and span name style tweaks

* Collapse hidden levels

* Fixed test

* Small tweak to Buffer size to make sure tests pass

* Trigger runs

* Update betterer results

* Address comment

* Style tweaks

* Remove duplicated code

* Rollback change to join <span> since they are needed for the tests
2023-10-04 14:00:40 +01:00
Torkel Ödegaard
5bba89fc86 Scenes: Backward compatability with new template variable system for functions that don't pass scopedVars (#75937)
* Use __grafanaScene in templateSrv

* Update

* fix
2023-10-04 13:21:01 +02:00
Torkel Ödegaard
963049e2b7 Loki: Fixes chained template variable queries for scene apps (#75880)
* Loki: Fixes chained template variable queries for scene apps

* Remove bit
2023-10-04 12:47:25 +02:00
Dominik Prokop
1a5d5c2820 DashboardScene serialization: Handle transformations and queries (#75907)
* Serialization: Handle transformations and queries

* Betterer
2023-10-04 02:31:16 -07:00
Kristina
4b3d63dcdc Correlations: Add an editor in Explore (#73315)
* Start adding correlations editor mode

* Add selector for merge conflict resolution

* Enable saving

* Build out new corelation helper component

* flesh out save with label/description, change color

* Have breadcrumb exit correlation editor mode

* Add extension property to show/hide, use it for correlations

* Bring in feature toggle

* Remove unnecessary param

* Cleanup

* Parse logs json

* Work on correlation edit mode bar

* Tinker with a top element for the editor mode

* Handle various explore state changes with correlations editor mode

* WIP - add unsaved changes modal

* Have correlation bar always rendered, sometimes hidden

* Add various prompt modals

* Clear correlations data on mode bar unmount, only use not left pane changes to count as dirty

* Move special logic to explore

* Remove all shouldShow logic from plugin extensions

* remove grafana data changes

* WIP - clean up correlations state

* Interpolate data before sending to onclick

* Override outline button coloring to account for dark background

* More cleanup, more color tweaking

* Prettier formatting, change state to refer to editor

* Fix tests

* More state change tweaks

* ensure correlation save ability, change correlation editor state vars

* fix import

* Remove independent selector for editorMode, work close pane into editor exit flow

* Add change datasource post action

* Clean up based on PR feedback, handle closing left panel with helper better

* Remove breadcrumb additions, add section and better ID to cmd palette action

* Interpolate query results if it is ran with a helper with vars

* Pass the datasource query along with the correlate link to ensure the datasource unique ID requirement passes

* Use different onmount function to capture state of panes at time of close instead of time of mount

* Fix node graph’s datalink not working

* Actually commit the fix to saving

* Fix saving correlations with mixed datasource to use the first query correlation UID

* Add tracking

* Use query datasources in mixed scenario, move exit tracking to click handler

* Add correlations to a place where both can be used in the correlations editor

* Be more selective on when we await the datasource get

* Fix CSS to use objects

* Update betterer

* Add test around new decorator functionality

* Add tests for decorate with correlations

* Some reorganization and a few tweaks based on feedback

* Move dirty state change to state function and out of component

* Change the verbiage around a little

* Various suggestions from Gio

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* More small Gio-related tweaks

* Tie helper data to datasource - clear it out when the datasource changes

* Missed another Gio tweak

* Fix linter error

* Only clear helper data on left pane changes

* Add height offset for correlation editor bar so it doesn’t scroll off page

---------

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2023-10-03 09:28:29 -05:00
Oscar Kilhed
e0919a340e Transformations: Extended support for variables in filter by name (#75734)
* Extend support for variables in filter by name

* Simlpify help and include variable support

* Simplify regexp

* Remove id that was left from an erlier implementation attempt

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Improve variable name and fix react warning

---------

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-10-03 15:06:08 +02:00
Ashley Harrison
18b237879d DockedMegaMenu: Refactor and rename to simplify (#75872)
* tidy up some styles

* remove NavBarMenuItemWrapper + consolidate components

* lots of renaming

* use object syntax in FeatureHighlight

* fix a couple of missing find+replace

* adjust li positioning

* fix text truncation

* bit more tidy up

* refactor indent into it's own component

* memoize styles in Indent
2023-10-03 13:03:27 +01:00
Ashley Harrison
e9555d727a Drawer: remove wrapping div preventing Drawer from scrolling properly (#75823)
remove wrapping div prevent drawer from scrolling properly
2023-10-02 16:01:28 +01:00
Ivan Ortega Alba
72c413025d Auto-generate: Error handling and monitoring (#75468)
* Error handling for the hook to expose `error` as part of the state
* Monitor errors at the hook level to catch common OpenAI issues
* Allow retry when the request fails
* Optimize onGenerate number of calls
* Re-enable component tests
2023-10-02 16:04:12 +02:00
Alex Khomenko
4a692fc82e Admin: Use backend sort (#75228)
* Admin: Use InteractiveTable

* Admin: Fix pagination

* Admin: Use CellWrapper

* Admin: Split components

* Admin: Separate OrgUsersTable

* Admin: Remove UsersTable

* Admin: Use the new table for TeamList

* Admin: Cleanup TeamList page

* Admin: Add edit team action

* Admin: Use explicit edit action instead of a link wrapper

* Admin: Fix responsive styles

* Cleanup

* Remove redundant sort

* Add item key

* Fix icon styles

* Set loading by default

* Use separate pagination component

* Use default sorting functionality

* Fix merge conflicts

* Update betterer

* Add controlled sort

* Revert pagination changes

* Move pagination inside OrgUsersTable.tsx

* Add missing prop

* Sort users table

* Fix tests

* Remove loader

* Add sort to Teams

* Cleanup

* Update loadTeams action

* Remove sort condition
2023-09-29 12:48:36 +03:00
ismail simsek
9d44fefe82 Chore: InfluxDB unit test overhaul (#75436)
* Rename the mock function

* Move tests

* Refactor existing tests

* add influxql_metadata_query tests

* move to root

* remove unnecessary file

* adhoc test

* Remove unused parameter

* tests for future

* fix mocks

* betterer

* changes after review
2023-09-29 11:28:52 +02:00
Aaron Sanders
9e78907233 OpenAI: Avoid two streams to overlap when doing multiple requests (#75504)
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2023-09-28 17:42:56 +03:00
Sonia Aguilar
169c5262a5 Alerting: Add Modify export feature for Grafana-managed alert rules (#75114)
* Initial POC for modified rule expor

* Add rule and group export options to modified export

* Add feature toggle for modifier export

* Rename GrafanaRuleDesigner to ModifyExportRuleForm to identify it easily as a rule form

* Refactor naming and folder for RuleDesigner => ModifyExport

* Don't render more action drop-down button when no more actions are allowed

* Redirect cancel button to alert list view

* Fix modify export page being reloaded correctly without errors

* Fix test

* Protect modify-export route when toggle-feature is not enabled

* Fix css betterer error

* Address pr review coments

---------

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2023-09-28 16:07:45 +02:00
Giordano Ricci
31933c9569 Explore: Improve timeseries limit disclaimer (#75587)
* Explore: improve timeseries limit disclaimer

* use object notation for style definition

* increase gap

* Update public/app/features/explore/Graph/GraphContainer.tsx

Co-authored-by: Kristina <kristina.durivage@grafana.com>

---------

Co-authored-by: Kristina <kristina.durivage@grafana.com>
2023-09-27 18:36:28 +01:00
Alex Khomenko
87ced17060 Admin: Use InteractiveTable for user and team tables (#74821)
* Admin: Use InteractiveTable

* Admin: Fix pagination

* Admin: Use CellWrapper

* Admin: Split components

* Admin: Separate OrgUsersTable

* Admin: Remove UsersTable

* Admin: Use the new table for TeamList

* Admin: Cleanup TeamList page

* Admin: Add edit team action

* Admin: Use explicit edit action instead of a link wrapper

* Admin: Fix responsive styles

* Cleanup

* Remove redundant sort

* Add item key

* Fix icon styles

* Set loading by default

* Use separate pagination component

* Use default sorting functionality

* Fix merge conflicts

* Update betterer

* Move pagination inside OrgUsersTable.tsx

* Disable sort if results have more than 1 page

* Update betterer results

* Use CSS objects

* More style fixes

* Update betterer
2023-09-27 08:55:57 +03:00
Laura Fernández
611df82259 Grafana UI: create Grid component in the unstable package (#75299) 2023-09-26 14:02:50 +02:00
Gilles De Mey
5a1580c659 Alerting: Contact points v2 part 3 (#72444) 2023-09-26 11:44:18 +03:00
Ashley Harrison
ff0642bf6e Chore: Type improvements 🧹 (#75271)
* fix some e2e flows types

* some type fixes

* must... fix... more...

* MOAR

* MOREMOREMORE

* 1 more
2023-09-22 15:06:49 +01:00
Andres Martinez Gotor
c70623fb85 Chore: Rename testdata plugin with a fully qualified name (#75104) 2023-09-22 15:00:40 +03:00
Jack Westbrook
9052c2477d Style: Add emotion/syntax-preference to betterer (#75266)
* style(betterer): add emotion/syntax-preference to betterer rules

* chore(betterer): refresh betterer.results for addition of emotion/syntax-preference
2023-09-22 12:41:09 +03:00
Fabrizio
d1296f7213 Use const assertion instead of type assertion (#75165) 2023-09-20 17:31:09 +03:00
Andrej Ocenas
b622ac2a66 Flamegraph: Remove unused code after move to package (#75103) 2023-09-20 14:51:23 +02:00
Dominik Prokop
157859aede DashboardScene: Integrate annotations (#74610)
* WIP Dashboard to Scenes: Annotations

* Bump scenes

* Enable annotations and controls

* Betterer

* Update snapshots

* Test fix
2023-09-20 02:50:35 -07:00
Alexa V
ae32d43e2b Dashboard: Fix Regression detected in time range variables under the refactorVariablesTimeRange feature flag (#74125) 2023-09-20 11:00:46 +02:00
ismail simsek
64dd8df441 InfluxDB: Fix applying ad-hoc filters when querying with backend mode (#74973)
* Add adhoc filters to tags when querying with backend mode

* betterer

* Remove unnecessary parameters
2023-09-19 16:23:01 +02:00
Fabrizio
9113c6d959 Tempo: Improve autocompletion for TraceQL editor (#74790) 2023-09-19 09:23:35 +02:00
Torkel Ödegaard
1105b93104 AdhocFilters: Improve typing and signature of getTagKeys and getTagValues and behaviors (#74962)
* Add adhocFilters to DataQueryRequest

* More changes

* Progress

* Working

* added baseFilters to picker

* Remove unused code

* minor fix
2023-09-19 08:24:45 +02:00
Andreas Christou
b779ce5687 AzureMonitor: Improve Log Analytics query efficiency (#74675)
* Promisify loading schema

- Move schema loading to LogsQueryEditor
- Improve typing
- Switch callbacks to promises

* Update types

* Refactor backend for new props

- Rename intersectTime
- Support setting timeColumn
- Add additional properties to logs request body

* Update applyTemplateVariables

* Update set functions

* Add new TimeManagement component

* Update LogsQueryEditor

* Hardcode timestamp column for traces queries

* Ensure timeColumn is always set for log queries

* Update tests

* Update frontend tests

* Readd type to make migration easier

* Add migration

* Add fake schema

* Use predefined type

* Update checks and defaults

* Add tests

* README updates

* README update

* Type update

* Lint

* More linting and type fixing

* Error silently

* More linting and typing

* Update betterer

* Update test

* Simplify default column setting

* Fix default column setting

* Add tracking

* Review

- Fix typo on comment
- Destructure and remove type assertion
- Break out await into two variables
- Remove lets and rename variable for clarity
2023-09-18 18:38:39 +01:00
Torkel Ödegaard
5e9f252962 DashboardScene: Inspect / Json tab (#74701)
* DashboardScene: Inspect / Json tab

* Fixing behaviors and writing tests

* Progress

* limit options based on data provider

* Fixes

* Add tracking

* Remove unused function

* Remove unused function

* Fix test

* Update

* Move utils function

* Rename to source
2023-09-14 12:17:04 +02:00
Ashley Harrison
0c44a6f9bb Chore: Improve typings 🧹 (#74599)
* various type fixes

* candlestick panel type fixes

* few more fixes

* some fixes

* more :)

* moar!

* undo change to SilencesFilter

* undo change to configureStore
2023-09-13 09:17:07 +01:00
Gilles De Mey
bd23d48660 Alerting: useAbilities hook (#72626) 2023-09-12 15:20:39 +02:00
Polina Boneva
b14263af45 Dashboard: Remove old panel code and leave only new panel design (#74196)
* delete PanelHeader

* PanelHeaderMenuItem is only used in PageHeader

* PanelHeaderCorner only used by PanelEditorTableView

* PanelHeaderMenuTrigger not used anywhere

* PanelHeaderMenuWrapperNew is PanelHeaderMenuWrapper, old one is deleted

* remove newPanelChromeUI from test

* delete feature flag newPanelChromeUI

* PanelHeaderMenuWrapperNew is PanelHeaderMenuWrapper, old one is deleted
2023-09-12 11:54:41 +03:00
Torkel Ödegaard
97d568e60a DashbboardScene: RowRepeaterBehavior (#74505)
* Repeating rows start

* working

* Progress

* Progress

* Update

* up scenes lib

* Update

* Progress

* restore url sync

* Progress

* Fixes and tests

* Update

* Adds tests and code to remove repeats from save model

* Update

* Fix test
2023-09-11 12:02:04 +02:00
Ashley Harrison
0f2f25c5d9 Chore: Move to Cypress 12 and decouple cypress from @grafana/e2e (#74084)
* update drone to use cypress 12 image

* upgrade cypress to 12 in core

* cypress config actually valid

* update @grafana/e2e imports and add lint rule

* ignore grafana-e2e from betterer now it's deprecated

* fix remaining type errors

* fix failing tests

* remove unnecessary tsconfig

* remove unnecessary comment

* update enterprise suite commands to work

* add cypress config to CODEOWNERS

* export setTimeRange in utils

* remove @grafana/e2e from core deps

* try running the command through yarn

* move CMD to scripts

* Update cloud-data-sources e2e image

* Update paths

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-09-08 16:51:59 +01:00
Josh Hunt
44e51ffe8b Dashlist: Use new nested folder picker (#74011)
* Add new folderUID property

* Add nested folder picker + migration to UID

* fix folderUID

* comment
2023-09-07 13:57:31 +03:00
Yulia Shanyrova
77bf8215d4 Plugins: Remove deprecated grafana-toolkit (#73489)
* remove grafana-toolkit

* replaces old tsconfig with grafana tsconfig

* fix betterer
2023-09-05 09:56:04 +02:00
Torkel Ödegaard
f4c127a1d8 DashboardScene: Support panel relative time overrides and timeshift (#62844)
* Things are working

* update

* Added unit tests

* More tests

* minor fix

* Update

* Support hideTimeOverride
2023-09-01 10:21:41 +02:00
Torkel Ödegaard
ad00200a39 datemath: Fixes state mutation by parseDateMath function (#74180) 2023-08-31 17:09:59 +02:00
Jack Westbrook
62821c69b3 Plugins: Bump SystemJS to 6.14.2 (#70068)
* chore(plugins): bump systemjs to latest version

* refactor(plugins): switch runtime over to use latest systemjs, add typings

* refactor(plugins): use latest systemjs APIs for runtime dependency resolution

* refactor(plugins): return valid urls from backend for latest systemjs import to work

* revert(plugins): remove cfg from assetpath in favour of relative paths

* fix(plugins): useDefault for systemjs deps to solve undefined errors

* feat(plugins): add basic support for loading plugins via CDN

* fix(plugins): load nested plugins with latest systemjs

* feat(plugins): add back ability to transform plugin src for cdns

* feat(plugins): get caching for module.js working, clean up

* refactor(plugin_loader): create buildImportMap fn and more clean up

* refactor(angularapp): use buildImportMap for dependencies and clean up

* test(plugin_loader): fix failing test due to systemjs update

* test(jest): mock systemjs amd extra in tests to prevent it breaking tests

* chore(plugins): remove systemjs module-types extra, already included with system

* fix(plugins): update key for invalidating cached plugins

* fix: move systemjs amd define to another global so monaco can load

* refactor(plugins): clean up cache buster and tests

* chore(plugins): remove debug

* refactor(plugins): move systemjs define to keep global cleaner

* fix(plugins): set useDefault so system modules lodash references dont fail

* feat(plugins): hook systemjs onload so stylesheets are applied to the dom

* refactor(plugins): wrap amd formatted plugins in iife to prevent define collision

* feat(plugins): support system module format for legacy plugins

* test(plugincachebuster): update tests to match latest implementation

* test(plugins-loader): fix up tests post module property change

* fix test

* Update pkg/plugins/manager/loader/assetpath/assetpath.go

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* chore(plugin_loader): remove stray import from merge conflict

* Revert "Update pkg/plugins/manager/loader/assetpath/assetpath.go"

This reverts commit 0df57d1cf20f49c22c93369001c70aae46a97c42.

* fix(plugin_loader): set use default for shared plugin dependencies

* refactor(plugins): use leading slash for Module and BaseUrl

* fix(plugins): fix resolve appending extension to cache query param

* refactor(plugins): align baseurl and module paths

* refactor(plugins): update builtInPlugins keys to match naming convention

* refactor(plugins): minor loader clean up, fix up types

* test(plugins): fix failing tests

* refactor(plugins): rename cache buster systemjs plugin to cache

* refactor(plugins): separate plugin_loader into smaller files

* chore(plugins): clean up plugin_loader types

* chore(plugin_sandbox): fix typescript error

* chore(npm): remove unplug debug and pin systemjs to 6.14.1

* refactor(plugins-cdn): update loaders to use absolute module url from backend

* fix(plugins): escape period in systemjs  module regex

* chore(plugins): delete redundant systemjs plugins

* refactor(plugin_loader): move hooks into own file, add types

* test(plugins): add tests for systemjs loader hooks

* chore(plugins): rename systemjshooks file

* chore(plugins): remove redundant systemjs cdn backend code

* fix(plugins): handle loading with config.appSubUrl

* chore(plugins): delete redundant plugin-cdn angular code

* test(plugins): fix failing systemjs test missing pluginsCDNBaseUrl

* refactor(plugins): backend provides base and module properties with AppSubUrl

* fix(plugins): consider AppSubUrl for plugin logos

* fix(plugins): use isHostedOnCDN util when checking for cdn hosted plugins

* add new appSubURL field to config

* refactor relative URL func

* fix path for core app

* refactor asset path input

* fix(plugins): catch errors in loadPluginCss

* feat(plugins-cdn): selectively transform sourceMapURL

* re-add deleted test case

* chore(plugins): bump to latest systemjs@6.14.2

* feat(plugins): add systemjs-cjs-extra for loading commonjs plugins

---------

Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-08-31 15:45:44 +02:00
Juan Cabanas
969ef5282c PublicDashboards: Data discrepancy fix. Use real datasource plugin when it is a public dashboard. (#73708)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-08-30 09:38:13 -03:00
Fabrizio
5038137662 Dashboard: Add support for Tempo query variables (#72745) 2023-08-30 13:45:39 +02:00
Torkel Ödegaard
412e545503 DashboardScene: Support for discard, start at transform back to save model and save drawer (#73873)
* SceneDashboard: Discard changes now works

* To save model works and start at save drawer

* Update

* Added missing file

* Refactorings to keep responsibility more logical

* Refactorings

* Removed file

* Fixed state issue

* Update

* Update
2023-08-29 14:17:55 +02:00
Ashley Harrison
0853819ff7 Chore: friday typings 5 (#73844)
* fix some event.target as stuff

* segment async story

* segmentinput story

* SegmentSelect

* fixing some tests

* more test fixes

* undo change to SilencesFilter
2023-08-29 09:14:15 +01:00
Torkel Ödegaard
eab6250142 DashboardScene: Move to new folder structure, some refactorings and progress on inspect (#73810)
* Progress refactoring

* Update

* Update

* Update

* DashboardScene: Folder struct propsal

* Rename loading to persistance

* Moving and renaming
2023-08-25 14:11:47 +02:00
Ashley Harrison
45ff0b5cf6 DatePicker: Fix calendar not showing correct selected range when changing time zones (#73273)
* user essentials mob! 🔱

* user essentials mob! 🔱

lastFile:packages/grafana-ui/src/components/DateTimePickers/TimeRangePicker/CalendarBody.tsx

* user essentials mob! 🔱

lastFile:packages/grafana-ui/src/components/DateTimePickers/TimeRangePicker/CalendarBody.tsx

* user essentials mob! 🔱

* user essentials mob! 🔱

lastFile:e2e/dashboards-suite/dashboard-timepicker.spec.ts

* user essentials mob! 🔱

lastFile:e2e/dashboards-suite/dashboard-timepicker.spec.ts

* user essentials mob! 🔱

* user essentials mob! 🔱

* restore custom.ini

* run betterer + prettier

---------

Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: Roxana Turc <anamaria-roxana.turc@grafana.com>
Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
2023-08-23 12:57:32 +00:00
Ashley Harrison
02f2ff1870 Chore: some more type fixes (#73606)
* some type fixes

* some select/table fixes

* some uplot type improvements

* couple more
2023-08-23 10:11:59 +01:00
Giordano Ricci
53867e3fcd Dashboards: relabel add query button (#73607) 2023-08-22 14:47:45 +01:00