Commit Graph

504 Commits

Author SHA1 Message Date
Alex Khomenko
420b19e0e4 Dashboards: Add dashboard embed route (#69596)
* Dashboard embed: Set up route

* Dashboard embed: Cleanup

* Dashboard embed: Separate routes

* Dashboard embed: Render dashboard page

* Dashboard embed: Add toolbar

* Dashboard embed: Send JSON on save

* Dashboard embed: Add JSON param

* Dashboard embed: Make the dashboard editable

* Fix sending dashboard to remote server

* Add notifications

* Add "dashboardEmbed" feature toggle

* Use the toggle

* Update toggles

* Add toggle on backend

* Add get JSON endpoint

* Add drawer

* Close drawer on success

* Update toggles

* Cleanup

* Update toggle

* Allow embedding for the d-embed url

* Allow embedding via custom X-Allow-Embedding header

* Use callbackUrl

* Cleanup

* Update public/app/features/dashboard/containers/EmbeddedDashboardPage.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Use theme for spacing

* Update toggles

* Update public/app/features/dashboard/components/EmbeddedDashboard/SaveDashboardForm.tsx

Co-authored-by: Polina Boneva <13227501+polibb@users.noreply.github.com>

* Add select data source modal

---------

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Polina Boneva <13227501+polibb@users.noreply.github.com>
2023-07-06 17:43:20 +03:00
sam boyer
751b982d9c Schemas: Allow nulls in schema for +/-Infinity types (#70958)
* Add null options and remove veneer attributes

* Generate all code, remove old veneer defs

* Remove now-unnecessary error expect
2023-06-30 18:15:02 +03:00
Ryan McKinley
698b07518a Dashboards: Support an auto refresh interval that is based on the query range (#70479) 2023-06-26 19:46:23 +03:00
Zoltán Bedi
6fbc0b9b9c Chore: Add tracking for dashboard load (#70057)
* Chore: Add tracking for dashboard load

* Address review comments
2023-06-23 14:14:06 +02:00
Ashley Harrison
13e3308959 Chore: some type fixes (#69860)
* some type fixes

* restore empty object

* undo 1 fix for now

* commit betterer update

* explicitly type slug and uid as string | undefined
2023-06-20 17:13:49 +01:00
Simon Podlipsky
6f880b713a Variables: allow {} type in VariableWithOptions.current (#64358) 2023-06-16 14:31:12 +02:00
Dominik Prokop
1de8f48a53 Repeats: Set scoped vars correctly for collapsed panel when toggled (#69707) 2023-06-12 02:59:05 -07:00
Torkel Ödegaard
3cb14074a9 Dashboard: Clear current dashboard when moving away from dashboard (#66538) 2023-06-12 11:18:37 +02:00
Ashley Harrison
d29124214a NestedFolders: Ensure New dashboard page has the correct breadcrumb hierarchy (#69758)
ensure new dashboard page has the correct breadcrumb hierarchy
2023-06-09 16:22:57 +01:00
Ivan Ortega Alba
819041c732 Schema: Improve Dashboard kind docs and remove deprecated props (#69359)
Remove unused properties: 
  * `FieldColorModeId.PaletteSaturated`: It doesn't exist and it is not a valid palette.
  * `VariableModel.rootStateKey`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store the Redux store key.
  * `VariableModel.error`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store fetching errors.
  * `Panel.thresholds`: old property only existing in previous versions of the dashboard schema.
  * `Panel.timeRegions`: old property only existing in previous versions of the dashboard schema.
2023-06-06 14:28:10 +02:00
Ashley Harrison
82114cb316 NestedFolders: Show Dashboard and Folder full breadcrumb hierarchy (#68308)
* update FolderDTO to match backend struct

* hacky way to get folder page breadcrumbs working

* hacky way to get dashboard nested breadcrumbs working

* undo route changes, get url from folder

* fix breadcrumbs in dashboard settings

* add parent pages to navIndex

* adjust getRootSectionForNode to just return the parent of a leaf node

* undo changes to generated files

* undo changes to toggles_gen.go

* feature toggle dashboardInit code

* remove unnecessary code in home dashboard

* build navModel directly, don't use getNavModel

* don't need fallback here

* remove getLoadingNav since it's not used anymore

* don't need to hide tabs from breadcrumbs anymore

* use id to find dashboards tab
2023-05-16 13:54:44 +01:00
Victor Colomb
f478504bc9 Dashboard: Fix library panels in collapsed rows not getting updated (#66643) 2023-05-16 12:44:19 +01:00
kay delaney
7801cf6585 Dashboards: Only refresh panels on panel edit exit if refresh is set (#67652)
Closes #66838

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-10 14:12:55 +01:00
Ryan McKinley
e493bec3a8 Geomap: Improve migration logic (#65500) 2023-04-28 12:20:10 -07:00
kay delaney
2dc5872bd6 New Dashboard: Fix "build a dashboard" when empty dash page feature is enabled (#66816)
* New Dashboard: Fix "build a dashboard" when used with empty dash page feature

Closes #66659
2023-04-27 11:11:19 +01:00
Polina Boneva
fe23c76250 Dashboard: New panel in a dashboard is not deleted after "Discard"-ing changes in Panel Edit (#66476)
* add isNew notPersistedProperty to PanelModel

* if panel is newly created and user "Discard"s it, the panel is removed entirely

* add Todo's for when we remove the emptyDashboardPage FF

* add isNew to new panel after file dropping on dashboard page

* handle the "Apply" case

* CSV file dropping is not relevant to a new panel bc it doesnt open edit page
2023-04-25 17:18:58 +03:00
Torkel Ödegaard
ee247e33b4 AngularMigration: Clear old angular panel props when auto migrating (#66719)
* AngularMigration: Clear old angular panel props when auto migrating

* Update test name
2023-04-19 13:47:55 +02:00
Ryan McKinley
9452c0d718 Annotations: Support filtering the target panels (#66325)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2023-04-18 15:39:30 -05:00
Ryan McKinley
39c04a8e36 Chore: Remove deprecated dashboardId from panel query runner (#64786) 2023-04-14 16:50:10 -07:00
Ryan McKinley
b83627a661 Table Panel: Fix panel migration for options cell type (#66305) 2023-04-12 08:52:44 -07:00
kay delaney
f932952c68 Row-repeats: Fix disappearing panel when viewed panel is refreshed (#58392)
* Row-repeats: Fix disappearing panel when viewed panel is refreshed

Close #57159
2023-04-04 21:56:47 +03:00
Polina Boneva
b9fb23502c Dashboard: Add new visualization/row/library panel/pasted panel is now a dropdown menu (#65361)
* Empty Dashboard state has its own CTA items and its own separate box to choose a library panel to create

* show empty dashboard screen if no panels

* add feature flag for empty dashboard redesign

* only show empty dashboard redesign if FF

* add-new-panel button is a dropdown with options: visualization, row, import, paste

* fix onPasteCopiedPanel types

* do not create new panel to new dashboard if emptyDashboardPage FF true

* ToolbarButton does not allow rendering of Dropdown's overlay - switch to Button

* remove panel-add icon's default size of xl

* separate components for add new panel from dash navigation bar
2023-03-30 13:50:35 +03:00
Ryan McKinley
c0e7062eb8 Dashboards: Ensure panels have unique ids (#65468) 2023-03-29 07:47:13 -07:00
Torkel Ödegaard
b7b608418d Templating: Introduce macros to simplify and optimize some scopedVars (#65317)
* Templating: Introduce macros to simplify and optimize some scopedVars

* Fixing tests

* fix test

* minor fix

* refactoring so macros work with formatting

* remove breaking change and keep current inconsistency

* Rename valueIndex to rowIndex

* Minor fixes

* Added test dashboard

* Added tags to dashboard

* Update

* Added test to check it returns match

* Update

* Fixed dashboard

* fix
2023-03-28 19:22:34 +02:00
Ryan McKinley
36e8ca7f13 Dashboards: Unify angular auto-migration code (#63915) 2023-03-27 18:11:45 +03:00
Ryan McKinley
baf5a1d141 Angular: Rename autoMigrateGraphPanels feature flag to autoMigrateOldPanels (#65243) 2023-03-22 21:02:36 -07:00
Torkel Ödegaard
cd490ba0be DataLinks: Fixes interpolation (formatting) of __all_variables and __url_time_range (#65162)
* DataLinks: Fixes interpolation (formatting) of __all_variables and __url_time_range

* simplify if statement
2023-03-22 18:56:18 +01:00
Artur Wierzbicki
4274b9414f Chore: remove querylibrary feature toggle (#65021)
* chore: remove querylibrary

* chore: remove querylibrary

* chore: remove querylibrary
2023-03-20 20:00:14 +04:00
Ryan McKinley
5f2fecfda7 Dashboards: Avoid adding unused revision property (#64362) 2023-03-08 08:26:38 -08:00
Ashley Harrison
f8d89eff56 Chore: fix type errors in tests (#63270)
* fix any's in tests

* fix more any's in tests

* more test type fixes

* fixing any's in tests part 3

* more test type fixes

* fixing test any's p5

* some tidy up

* fix template_srv
2023-02-14 16:46:42 +01:00
Ryan McKinley
985c61d700 Dashboard: remove unused submenuEnabled property (#63289)
remove submenu property
2023-02-12 18:10:29 +01:00
Michael Mandrus
7391793504 Query Caching: Add per-panel query caching TTL (#61968)
* *Create Caching Config interface and OSS impl
*Create front-end facing DS Cache config
*Populate Caching Config on Datasource DTO
*Update OSS wire deps

* fix unit test

* handle query caching TTL override on the frontend

* Make sure the override works with pubdash

* move caching config to the right place in the ds info

* move caching config logic to enterprise index hook

* move queryCachingTTL to pubdash query payload

* Remove  from metadata (not needed)

* rename struct and add comment

* remove invalid wire dependency

* manual revert of 395c74b

* fix frontend test

* fix backend test

* fix tests for real this time

* truly fix frontend test

* fix back end unit test for real
2023-02-02 23:39:54 -05:00
kay delaney
40ec4ef5b8 PanelChrome: Implement hover header (#61774)
Closes #59078

Co-authored-by: polinaboneva <polina.boneva@grafana.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
2023-02-02 17:53:18 +00:00
Ryan McKinley
4186871390 Transforms: Fix schema definition (#62619) 2023-01-31 18:03:08 +00:00
Ryan McKinley
0d2a786816 Schema: Add schema for library panels (#62169) 2023-01-30 04:14:12 +00:00
Dominik Prokop
83199c4bf5 Dashboard schema: Review and mature timezone property (#62090)
* Review and mature timezone property of Dashboard kind

* Update timezone type
2023-01-27 07:13:33 -08:00
Dominik Prokop
b9a1d8e5f9 Dashboard schema: Review and mature refresh property (#62104)
* Review and mature refresh property

* Update type

* Update report
2023-01-26 01:45:12 -08:00
Torkel Ödegaard
8620909006 Table: Fixes broken link styles after recent cell options PR (#61582)
* 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>
2023-01-17 17:08:23 +01:00
Kyle Cunningham
80e7f54166 Table Panel: Refactor Cell Options to Allow for Options per Cell Type (#59363)
* 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>
2023-01-12 18:42:57 +07:00
Ezequiel Victorero
34a865ebf0 PublicDashboards: remove publicDashboardUID from insights event request (#60649) 2023-01-11 18:25:18 -03:00
Ivan Ortega Alba
d0f6a3a4ca Scene: Dashboard loader supports transformations & unit tests (#60855)
* Scene: use transformations for panel queries

* refactor: Clean up DashboardLoader class

* test: Add unit tests for creators

* test: Ensure the row herarchy is properly replicated

* test: Ensure the URLSync is initialized

* refactor: Use fixture to create panels
2023-01-04 08:29:22 -05:00
Dominik Prokop
c3c4a57c79 grafana/data: Move getPanelOptionsWithDefaults from core (#60813)
* grafana/data: Move getPanelOptionsWithDefaults from core

* Add internal comments
2022-12-29 05:48:22 -08:00
Dominik Prokop
168afa99d1 Scenes / DashboardsLoader: Add variables migration (#60226)
* VizPanel - add variables dependencies definition

* Migrate variables to scene variables

* Constant variable migration

* Update test

* Lint fix
2022-12-29 05:34:22 -08:00
sam boyer
f86abf096d schema: Use generated dashboard model in frontend (#55769)
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: polinaboneva <polina.boneva@grafana.com>
2022-12-20 15:04:14 +01:00
Josh Hunt
258696409d Dashboards: Fix 'Make Editable' button not working in Dashboard Settings (#60306)
* Dashboards: Fix 'Make Editable' button not working in Dashboard Settings

* comment
2022-12-14 14:24:09 +00:00
Ivana Huckova
e2077e9659 Dashboard: Run requests with correct app type (#60010)
Dashboard: Run quries with correct core app
2022-12-08 11:52:28 +01:00
Artur Wierzbicki
009d65b794 Add query library behind dev-mode-only feature flag (#55947)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: drew08t <drew08@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-11-30 15:33:40 -08:00
renovate[bot]
e84a01e870 Update jest monorepo to v29 (#58261)
* Update jest monorepo to v29

* update snapshots + wrap test in act

* fix linting errors: jest.mocked now defaults to deep mocking

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-24 14:00:41 +00:00
Ryan McKinley
5888f53aab Angular: auto-migrate graph panel when angular is disabled (#59247) 2022-11-23 13:32:52 -08:00
Leo
27b6b3b3bd Folder: Replace folderId with folderUid (#58393)
* support folderuid in FolderPicker

* support folderuid in unified alerting

* support folderuid when returning to view mode after editing a panel

* support folderuid when preselecting the folderpicker in dashboard general settings

* support folderuid when saving dashboard

* support folderuid when pre-selecting folderpicker in dashboard form

* support folderuid in routes when loading a dashboard

* support folderuid when saving dashboard json

* support folderuid when validating new dashboard name

* support folderuid when moving dashboard to another folder

* support folderuid on dashboard action buttons

* support folderuid when creating a new dashboard on an empty folder

* support folderuid when showing library panel modal

* support folderuid when saving library panel

* support folderuid when importing dashboard

* fixed broken tests

* use folderuid when importing dashboards

* remove commented line

* fix typo when comparing uid values
2022-11-17 09:22:57 +01:00