Commit Graph

1036 Commits

Author SHA1 Message Date
kay delaney
b49713d323
Chore: Remove unused files (#57515) 2022-10-25 23:34:53 +01:00
Ryan McKinley
37b011d79e
Annotations: Disable "Add annotation" button when annotations are disabled (#57481) 2022-10-24 13:24:33 -07:00
Zoltán Bedi
c0b778134e
Revert: Query editor components from grafana-ui (#57436)
* Revert: QueryEditor components from grafana-ui

* Use local version of experimental

* Use experimental for query editor components

* Fix type issues in MSSQL

* point to actual version of experimental package

* point to latest version of experimental

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2022-10-24 17:12:36 +02:00
owensmallwood
0b8fb543fc
Public Dashboards: Can toggle annotations in modal (#57312)
adds toggle for pubdash annotations
2022-10-21 13:42:14 -06:00
Laura Fernández
e402a8f27d
A11y: enable rule jsx-a11y/anchor-is-valid (#56690) 2022-10-21 09:13:32 +02:00
Ashley Harrison
3cca8e3676
any/type assertion fixes (#57009) 2022-10-17 10:10:10 +01:00
Josh Hunt
2e16d5499e
Dashboard: Add dashboard validation warning to save drawer (#55732)
* add api route for validating a dashboard json

* add feature flag for showDashboardValidationWarnings

* tidy up

* comments and messages

* swagger specs

* fix typo

* more swagger

* tests!

* tidy test a little bit

* no more ioutil

* api will return different status code depending on validation error

* clean up

* handle 4xx errors

* remove console.log

* fix backend tests

* tidy up

* Swagger: Exclude alpha endpoints

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-10-14 09:51:05 -04:00
Jeff Levin
cc27214dca
Public Dashboards: Add audit table (#54508)
This PR adds an audit table for public dashboards allowing a user to view all public dashboards on an instance of grafana. The public dashboards team is working on a proposal for adding RBAC support to the audit table for 9.3

Co-authored-by: juanicabanas <juan.cabanas@grafana.com>
2022-10-12 21:36:05 -08:00
kay delaney
efed72096f
TagsInput: Prevent adding duplicate tags + refactor, restyle (#56485) 2022-10-10 15:56:02 +01:00
Torkel Ödegaard
6c39a1995f
Page: More easily support full height pages (#56524)
* Page: More easily support full height pages

* tweaks to JSONSettingsPage
2022-10-07 10:56:12 +02:00
Josh Hunt
5361efc225
I18n: Migrate to I18next (#55845)
* Switch from lingui from i18next

* Change lingui messages to i18next messages

* Change lingui messages to i18next messages (grafana-ui)

* Init i18n for tests
2022-10-06 16:34:04 +01:00
Ashley Harrison
d293055ef6
enable rule jsx-a11y/iframe-has-title (#56292) 2022-10-04 16:04:28 +01:00
Ashley Harrison
317b353b34
Navigation: Collapsible section nav implementation (#55995)
* initial collapsible section nav implementation

* fix unit tests

* automatically collapse sectionnav when below lg size

* fix unit tests

* only register 1 event listener each time

* fix display name for SectionNavToggle
2022-10-04 09:19:23 +01:00
Laura Fernández
fca252e7dc
A11y: enable rule jsx-a11y/alt-text (#55832)
* Enable jsx-a11y/alt-text rule

* Fix errors

* Fix tests

* Enable jsx-a11y/alt-text rule after solving merge conflict

* Delete unused import

* Modify files according to the reviewer's comments

* Revert test changes and update snapshot

* tweaks to image alt names

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-10-03 09:27:04 +01:00
Ezequiel Victorero
b370a8e366
PublicDashboards: Allow disabling an existent public dashboard if it has template variables (#55778) 2022-09-28 15:34:53 -03:00
Michael Mandrus
f8bde4df09
Public Dashboards: Add Grafana logo to public dashboards (#55641)
* add floating footer logo to pubdash pages

* make it a link

* fix typo

* use rem instead of pixels

* Update public/app/features/dashboard/components/PubdashFooter/PubdashFooter.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/components/PubdashFooter/PubdashFooter.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/components/PubdashFooter/PubdashFooter.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/components/PubdashFooter/PubdashFooter.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* PR feedback

* add todo

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-09-23 14:32:34 -04:00
Laura Fernández
4da04ff16d
Navigation: use pageNav and subTitle in Dashboards > Settings > Links (#55510) 2022-09-22 17:44:47 +02:00
juanicabanas
c7419de2e5
PublicDashboard: Add RTK Query with loading and error state. Add MSW dependency for testing. (#55518)
PublicDashboard: Add RTK Query with loading and error state. Add MSW dependency for testing.
2022-09-22 09:35:04 -03:00
Leo
383602a850
Dashboard: Fix plugin dashboard save as button (#55197)
* render SaveDashboardErrorProxy only when error is not yet handled

* improve dashbaoard drawer test
2022-09-22 09:14:13 +02:00
owensmallwood
aae2c3c4f4
PublicDashboards: Tag is rerendered when dashboard meta changes in state (#55414)
Can update dashboard meta state using dashboard events.
2022-09-20 10:42:57 -06:00
Torkel Ödegaard
d5e4b08a3a
DashNav: Fixes missing key warning caused by public dashboard tag (#55336) 2022-09-19 17:01:14 +02:00
kay delaney
64bbb7a7ce
Chore: Update and enforce usage of typed react-redux hooks (#55349)
* Chore: Update and enforce usage of typed react-redux hooks
2022-09-19 10:49:35 +01:00
Ryan McKinley
17b2fb04e8
DashboardQuery: Expand query options (#53998) 2022-09-16 13:28:47 -04:00
Ryan McKinley
0c4d181d1e
SupportSnapshots: Rename to "Get help" (#55206) 2022-09-16 08:51:14 -07:00
Ryan McKinley
6947e276d6
Inspect: Hide Actions tab when it is empty (#55272) 2022-09-15 22:17:12 -07:00
owensmallwood
5121e32722
When generating the pubdash url, use the base url from the Grafana config. This allows the url generation to work in the case that Grafana is hosted on a subpath. (#55204)
Support subpaths when generating public dashboard url
2022-09-15 09:46:11 -06:00
Torkel Ödegaard
b8e72d6173
TopNav: KioskMode rewrite move to AppChrome responsibility and make it a global feature (#55149)
* Initial progress

* Moving keybindingSrv to context

* Simplfy KioskMode

* Removed unused logic

* Make kiosk=tv behave as before but when topnav is enabled

* Minor fix

* Fixing tests

* Fixing bug with notice when entering kiosk mode

* Fixed test
2022-09-15 14:04:58 +02:00
Ryan McKinley
7700b529f9
SupportSnapshots: improved iframe support (#55059)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-09-14 12:54:09 -07:00
Guilherme Caulada
82708df287
PublicDashboards: Add link to public dashboards docs to sharing modal (#55186) 2022-09-14 15:05:15 -03:00
juanicabanas
1e06b0170b
PublicDashboards: UI improvements (#55130)
* Public dashboard modal UI modifications
2022-09-14 14:35:46 -03:00
Ryan McKinley
927d97f1ab
SupportSnapshots: Show type icons in table (#55119) 2022-09-13 13:42:19 -07:00
Torkel Ödegaard
da001b01f1
TopNav: Section navigation UX (#55012)
* Design tweaks

* Updated

* Fixing unit tests

* Review fixes

* Text primary on active sections, and change home icon to text

* spacing fix

* More fix

* Fixes

* Updates
2022-09-13 12:24:23 +02:00
Torkel Ödegaard
49bc70c812
TopNav: Panel edit changes (#54746)
* Progress

* Progress

* Things are working

* More tweaks

* Fixing unit test

* Tweaks and fixing e2e tests

* Remove ... in Save as

* Fixing unit test

* Fixing e2e test

* Fixes

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-09-12 15:45:14 +02:00
Ashley Harrison
4c3e08db91
Chore: Convert ShareLink tests to RTL (#55026)
* Convert ShareLink tests to RTL

* use findByRole instead of findByLabelText to be more robust
2022-09-12 14:34:06 +01:00
Ryan McKinley
4125dd57ee
Panels: Add panel debug support helper (#54678) 2022-09-09 14:35:52 -07:00
Ryan McKinley
c49c238974
Snapshots: Use the grafana datasource to render snapshot (#54870) 2022-09-09 13:16:24 -07:00
Leon Sorokin
dbb33eaba9
DataFrameJSON: add string enums inflation of field values (#54938)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-09-09 13:59:29 -06:00
Ashley Harrison
a861c10f1b
Navigation: Integrate search into topnav (#54925)
* behaviour mostly there

* slight performance improvement

* slightly nicer...

* refactor search and add it to the store

* add comments about removing old component

* remove unneeded logic

* small design tweak

* More small tweaks

* Restore top margin

* add onCloseSearch/onSelectSearchItem to useSearchQuery

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-09-09 11:01:31 +01:00
Torkel Ödegaard
f5fd9029ea
DebugSnapshot: Change to use exisiting localstorage prop and open in new tab (#54877)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-09-08 11:20:56 -07:00
Ezequiel Victorero
bcab0194f1
PublicDashboards: disable form if user does not has permissions (#54853) 2022-09-07 18:29:01 -03:00
Torkel Ödegaard
e5c32c8cc9
Dashboard: Unsaved changes warning fixes (#54706)
* Quick test of alternative method

* change order of if condition again for better readability

* Think I have something that is working

* Update
2022-09-06 13:00:32 -04:00
Ryan McKinley
7e53bd107c
Panels: Add troubleshooting snapshot (#54417) 2022-09-02 15:38:35 -07:00
Josh Hunt
6b197f3fa9
Chore: Use react-highlight-words types (#54627) 2022-09-02 16:36:44 +01:00
Andrej Kiripolský
59ba64f29b
Dashboard: Fix typos in feedback request sentence (#54429)
* Fix typo in feedback request

* prettier

Co-authored-by: Domas <domasx2@gmail.com>
2022-09-01 09:29:52 -05:00
Josh Hunt
c3633feea8
Chore: Remove Dashboard IconName type assertions (#54573)
* Chore: Remove Dashboard IconName type assertions

* fix lint
2022-09-01 13:26:28 +01:00
Ivan Ortega Alba
4a0a6c8fd4
Analytics: Rename create dashboard event (#54390) 2022-08-29 16:26:54 +02:00
Maria Alexandra
f4fa3e4ff4
Panel edit: Run queries when time range changes in table view (#53111) 2022-08-26 15:36:42 +02:00
renovate[bot]
6f72c4d10d
Update dependency @testing-library/user-event to v14.4.3 (#54292)
* Update dependency @testing-library/user-event to v14.4.3

* use ReturnType instead of using a nested import

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-08-26 13:30:34 +01:00
Vadim Beskrovnov
37fde2eec6
Dashboard save: Persist details message when navigating through dashboard save drawer's tabs. (#54084)
* Dashboard: Fix `changes note` textarea to save draft when going to other tabs

* Do not show Changes tab if there are no changes

* Fix comments

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-08-26 03:25:40 -07:00
Ivan Ortega Alba
c332bf885c
Migrate to UID: Stop using search result ID (#54099)
* DashList: Stop using IDs

* DashLinks: Stop using IDs

* BackendSrv: Do not use ID for search endpoint

* DashboardDataDTO: Remove ID

* Remove unused properties from DashboardSearchItem
2022-08-26 09:42:46 +02:00
Artur Wierzbicki
5c0bf2ba39
Storage: fix creating a new dashboard with dashboardsFromStorage feature flag enabled 2022-08-25 14:04:09 -04:00
Ryan McKinley
b483ac322f
Chore: replace React.FC<Props> with simple function component (#54123) 2022-08-24 16:54:34 -04:00
Torkel Ödegaard
264645eecd
TopNav: Dashboard settings (#52682)
* Scenes: Support new top nav

* Page: Make Page component support new and old dashboard page layouts

* Pass scrollbar props

* Fixing flex layout for dashboard

* Progress on dashboard settings working with topnav

* Updated

* Annotations working

* Starting to work fully

* Fix merge issue

* Fixed tests

* Added buttons to annotations editor

* Updating tests

* Move Page component to each page

* fixed general settings page

* Fixed versions

* Fixed annotation item page

* Variables section working

* Fixed tests

* Minor fixes to versions

* Update

* Fixing unit tests

* Adding add variable button

* Restore annotations edit form so it's the same as before

* Fixed semicolon in dashboard permissions

* Fixing unit tests

* Fixing tests

* Minor test update

* Fixing unit test

* Fixing e2e tests

* fix for e2e test

* fix a11y issues

* Changing places Settings -> General

* Trying to fix a11y

* I hope this fixes the e2e test

* Fixing merge issue

* tweak
2022-08-24 18:05:12 +02:00
Jeff Levin
f5b99e5ca7
add tests for api urls (#54116)
Create function for generating api urls and add tests
2022-08-24 08:51:35 -06:00
Ashley Harrison
211c9991c5
Navigation: Add responsive behaviour to ToolbarButtonRow (#53739)
* hacky first attempt

* slightly cleaner...

* behaviour mostly working...

* remove unnecessary wrapper

* css tweaks

* much cleaner implementation with intersectionobserver

* set style props directly on children

* separate story, integrate when toggle is off

* improve story, integrate when toggle is on

* remove styles from DashNavTimeControls

* mock IntersectionObserver for all unit tests

* prettier

* don't use dropdown anymore

* add some basic documentation

* add right alignment to scenes toolbarbuttonrow

* just use the react children api to prevent duplicating children
2022-08-24 11:19:36 +01:00
Torkel Ödegaard
8880cbd7f6
AngularPanels: Fixing changing angular panel options not taking having affect when coming back from panel edit (#54087) 2022-08-24 08:35:44 +02:00
Ashley Harrison
3cf95d7eee
Chore: fix some anys pt.2 (#53928)
* correctly type some more any's

* undo this change for now...
2022-08-22 16:51:33 +01:00
Vadim Beskrovnov
7caba545ec
A11y: Fix a11y for toolbar buttons in PanelEditor (#53864)
Co-authored-by: Vadim Beskrovnov <vbeskrovnov@fb.com>
2022-08-22 17:08:22 +02:00
Polina Boneva
51d173711f
A11y: do not change the focus when switching between Viz/Suggestions/Library Panels views (#53814) 2022-08-22 12:12:39 +03:00
Leo
c4984854b6
added dashboard uid when tracing header in browsermode (#53232) 2022-08-10 10:36:19 +02:00
Ashley Harrison
f1295e4bd0
Chore: Update version of @grafana/eslint-config (#53403)
* use let/const over var

* use new version of @grafana/eslint-config
2022-08-08 15:19:15 +01:00
Joao Silva
a84873a52b
i18n: Translates the Share Panel modal (#53297) 2022-08-04 16:43:49 +01:00
Ezequiel Victorero
e0d71f02b1
Public Dashboards: add e2e tests for public dashboards (#52970) 2022-08-01 11:20:49 -03:00
Jeff Levin
58ff0f07b4
public dashboards: check to see if dashboard state is different from persisted on save (#52008)
* public dashboards: check to see if dashboard state is different from persisted on save

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2022-08-01 09:35:09 -03:00
Josh Hunt
06d78ea904
Dashboards: Disable variable pickers for snapshots (#52827)
* user essentials mob! 🔱

lastFile:public/app/features/variables/textbox/TextBoxVariablePicker.tsx

* user essentials mob! 🔱

* user essentials mob! 🔱

lastFile:public/app/features/variables/adhoc/picker/AdHocFilter.tsx

* finish up disabling variables in snapshots

* remove accident

* use theme.spacing instead of the v1 shim

Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: Leodegario Pasakdal <leodegario.pasakdal@grafana.com>
2022-07-29 16:29:55 +01:00
Ryan McKinley
197acd73c0
Storage: support git + github backed roots (#52192) 2022-07-28 23:26:44 -07:00
kay delaney
06012d51a9
Dashboard: Adjust styles for very long titles (#52452) 2022-07-25 17:03:37 +01:00
Torkel Ödegaard
be5e96f628
Timezone: Consistency in how we write time zone (#52679)
* Timezone: Consistency in how we write time zone

* Updated
2022-07-23 17:49:58 +02:00
eledobleefe
42e92665f3
Internationalisation: Translate the Share modal (#52457) 2022-07-22 13:01:57 +02:00
Ivan Ortega Alba
3fbec39952
History: list, compare and restore versions using UID (#51989) 2022-07-21 11:52:36 +02:00
Scott Lepper
de956fc3d8
Core code editor/builder components (#52421)
* migrate experimental to core grafana - update refs

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-07-20 12:50:08 -04:00
Joao Silva
e3567c21d1
Internationalisation: Translates RefreshPicker and the dashboard toolbar (#51827) 2022-07-20 17:28:32 +01:00
Ezequiel Victorero
0633840777
GrafanaUI: Add success state to ClipboardButton (#52069)
* User Experience: apply the same pattern feedback for all copy to clipboard buttons

* add copy icon to all ClipboardButton use cases

* Change primary color for copy to clipboard in create token

* Add success button variant

* Remove copy confirmation from TableCellInspectModal because it's in the base component now

* Design tweaks to copy confirmation

 - Only change the icon to tick to avoid the button changing size
 - Change button to success green
 - Only show copy confirmation state for 2 seconds

* revert TabelCellInspectModal text button back

* revert accidental change to ShareLink

Co-authored-by: joshhunt <josh@trtr.co>
2022-07-20 10:33:46 +01:00
Torkel Ödegaard
9f4683b3d0
Dashboard: Fix iteration property change triggering unsaved changes warning (#51272) 2022-07-20 03:41:54 +02:00
owensmallwood
3bc13e2335
Public Dashboards: Add Public Tag to Dashboard Title (#52351)
Adds Public tag to dashboard title when it has an enabled public dashboard
2022-07-19 17:44:41 -06:00
kay delaney
0142c8ccd1
Dashboard Links: Fix styles for very long dashboard titles (#52443) 2022-07-19 16:15:59 +01:00
Torkel Ödegaard
38ec4c0a09
UnsavedChanges: Should not be triggered when only going into panel edit without changing anything (#52363) 2022-07-18 17:24:21 +02:00
Alexander Gee
a71b4f13e4
Dashboard: Add guidance about reload required after updating shared cursor/tooltip setting. (#52280)
* Dashboard: Add guidance about reloaded needed for shared cursor/tooltip

* Dashboard: Added todo note for author of (#46581) impl

* Dashboard: prettier errors fixed for new text
2022-07-18 08:32:52 +02:00
Joao Silva
57273d4846
Internationalisation: Translates "Inspect panel" drawer (#52324) 2022-07-15 14:38:14 +01:00
Ryan McKinley
da1701ce57
Dashboards: load from storage (#51949) 2022-07-14 15:36:17 -07:00
Torkel Ödegaard
7947629f82
TopNav: Make dashboard toolbar actions work in new top nav (#51950)
* Initial work on new toolbar button

* Minor step

* Small progress

* Minor progress

* Minor fix

* removed console.log

* Removing stuff we don't need yet
2022-07-14 20:34:00 +02:00
Ezequiel Victorero
05dd0d7f57
Public Dashboards: add information about how time settings works (#52152) 2022-07-13 11:28:55 -03:00
Jeff Levin
fcfde8abd8
public dashboards:fix time regression (#51998)
This PR fixes a regression bug for public dashboards and adds a test to ensure the regression does not resurface.
2022-07-11 08:50:34 -03:00
Torkel Ödegaard
cff763ca1d
Dashboard: Fixes sub menu alignment issue (#51775) 2022-07-08 08:46:42 +02:00
Torkel Ödegaard
935334cbda
Scene: POC for a future dashboard model and runtime (#50980)
* Playing around

* This is getting interesting

* Updates

* Updated

* Observable experiments

* This is tricky

* VizPanel panel renderer

* New model progress

* Maybe this could be something

* Updated

* Rename

* updates

* Updated

* Query runners? not sure

* Updated

* updates

* flex box layout starting to work

* Testing

* Tested an action

* Parent context sort of working

* Progress

* Progress

* Updated

* Starting to work

* Things are working

* Scene list, nested scene demo

* Progress on repeats

* Moving things

* Pretty big progress

* More things working

* Great progress

* Progress

* Name changing

* Minor tweaks

* Simplified sizing

* Move toggleDirection to SceneFlexLayout

* add feature flag (#50990)

* removed new useObservable hook

* Rename folder and feature toggle to scenes

* Caching scenes so you can go back to another scene without having to re-query data

* Fix issue with subs on re-mount

* Fixing test

* Added SceneCanvasText to play around with layout elements with size based on content

* Scene: Edit mode and component edit wrapper that handles selection  (#51078)

* First step for scene variables

* Started playing around with a scene edit mode

* Better way to set component

* Progress on edit mode

* Update

* Progress on edit mode

* Progress on editor

* Progress on editor

* Updates

* More working

* Progress

* Minor update

* removed unnessary file

* Moving things around

* Updated

* Making time range separate from time picker

* minor rename of methods

* The most basic variable start

* Minor renames

* Fixed interpolate issue if not found at closest level

* An embryo of event model and url sync handling

* Update url sync types

* Removed unnessary any type arg

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-07-07 08:53:02 +02:00
Ezequiel Victorero
ba2d8cd838
Public Dashboards: disable saving button instead of hide before accepting checkboxes (#51744) 2022-07-06 18:21:00 -03:00
Ezequiel Victorero
10a33be2c2
Public Dashboards: add icon buttons with links to useful information for the user (#51722) 2022-07-06 16:34:23 -03:00
Torkel Ödegaard
777f0d532a
Fixes tooltip issue with time picker and dashboard settings (#51836) 2022-07-06 20:53:52 +02:00
Ezequiel Victorero
9f6297ca9b
Public Dashboards: use default dashboard time range instead of current (#51656) 2022-07-06 13:37:39 -03:00
Torkel Ödegaard
1e85a6f4fd
TopNav: New page layouts (#51510)
* First stab at new page layouts behind feature toggle

* Simplifying PageHeader

* Progress on a new model that can more easily support new and old page layouts

* Progress

* rename folder

* Progress

* Minor change

* fixes

* Fixing tests

* Make breadcrumbs work

* Add tests for old Page component

* Adding tests for new Page component and behavior

* fixing page header test

* Fixed test

* AppChrome outside route

* Renaming folder

* Minor fix

* Updated

* Fixing StoragePage

* Fix for banners

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-06 17:00:56 +02:00
Ivan Ortega Alba
f8ac160545
DashboardRow: collapse shortcut doesn't allow to move the row (#51589) 2022-07-04 12:32:21 +02:00
Ashley Harrison
2a6b32598d
Chore: some low-hanging type assertion fruit (#51618)
* some low-hanging type assertion fruit

* results
2022-06-30 10:40:00 +01:00
kay delaney
8053f770c1
Export: Fix export/import of dash with library panels (#49319) 2022-06-29 16:18:27 +01:00
Torkel Ödegaard
f047f7dcf6
TopNav: A possible approach having a TopNav that lives outside route (#51301)
* Add topnav in Route

* TopBar: Good progress on a approach that looks promising

* Added some elements to top level

* Get page nav from route

* Progress

* Making breadcrumbs slightly more real

* Updates

* Memoize selector

* Removed some console.log

* correctly type iconName

* betterer updates

* Change setting to hideNav

* Rename again

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-06-28 09:47:12 -04:00
Ezequiel Victorero
99f921cf32
Public Dashboards: adding telemetry for Sharing Modal options and Public Dashboards events (#50834)
* Public Dashboards: adding telemetry for Sharing Modal options and Public Dashboards events
2022-06-27 12:33:30 -03:00
Jeff Levin
d076bedb5e
public dashboards: finalize db schema & v1 feature complete (#50467)
This PR completes public dashboards v1 functionality and simplifies public dashboard conventions. It exists as a large PR so that we are not making constant changes to the database schema.

models.PublicDashboardConfig model replaced with models.PublicDashboard directly
dashboard_public_config table renamed to dashboard_public
models.Dashboard.IsPublic removed from the dashboard and replaced with models.PublicDashboard.isEnabled
Routing now uses a uuid v4 as an access token for viewing a public dashboard anonymously, PublicDashboard.Uid only used as database identifier
Frontend utilizes uuid for auth'd operations and access token for anonymous access
Default to time range defined on dashboard when viewing public dashboard
Add audit fields to public dashboard

Co-authored-by: Owen Smallwood <owen.smallwood@grafana.com>, Ezequiel Victorero <ezequiel.victorero@grafana.com>, Jesse Weaver <jesse.weaver@grafana.com>
2022-06-22 13:58:52 -08:00
Josh Hunt
357b859fa7
Remove any generics from configureMockStore in tests (#51179) 2022-06-21 17:48:52 +01:00
Josh Hunt
98132fc7dc
Remove as any from requireActual usage (#51182) 2022-06-21 17:48:38 +01:00
Torkel Ödegaard
c6ab87008a
Dashboard: Remove super old prop that has not been used in years (#50826) 2022-06-17 14:55:35 +02:00
Torkel Ödegaard
7e22b8e6fb
Dashboard: Don't show unsaved changes modal for automatic schema changes (#50822)
* Dashboard: Don't show unsaved changes modal for automatic schema changes

* More refinements

* Fix logic in updateGridPos
2022-06-17 08:58:53 +02:00
Torkel Ödegaard
eb25d8df89
Expressions: Fixes dashboard schema migration issue that casued Expression datasource to be set on panel level (#50945)
* Expressions: Fixes dashboard schema migration issue that casued Expression datasource to be set on panel level

* fixing logic

* Updated
2022-06-17 08:57:11 +02:00
Chrysa Dikonimaki
0753539721
Ayy1: Cannot save single dashboard link (#49075) 2022-06-15 10:28:42 +01:00
Ashley Harrison
803473f479
Chore: Enable useUnknownInCatchVariables for stricter type checking in catch blocks (#50591)
* wrap a bunch of errors

* wrap more things!

* fix up some unit tests

* wrap more errors

* tiny bit of tidy up
2022-06-15 08:59:29 +01:00
Ryan McKinley
58e7769158
OptionsUI: Move internal options editors out of @grafana/ui (#50739) 2022-06-14 08:05:11 -07:00
Agnès Toulet
a832b92988
Dashboard: Clean up state after deletion (#50316)
* Dashboard: Clean up after deletion

* cleanup

* rename cleanUp function
2022-06-10 17:08:09 +02:00
Josh Hunt
32d4f6ac60
Dashboards: Fix folder picker not showing correct results when typing too fast (#50303)
* Use callback form for loadOptions in folder picker

* clean up

* fix other tests

* clarify comment
2022-06-10 15:54:21 +01:00
Gábor Farkas
c412a3b052
logs: track the usage of certain features (#50325)
* logs: track the usage of certain features

* Add report interaction for logs interactions

* mock reportInteraction in test

* mock reportInteraction

Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
2022-06-09 15:53:23 +02:00
Jack Westbrook
ccd75d72f8
Chore: Remove react-testing-lib from bundles (#50442)
* refactor(selectoptiontest): move helper function out of grafana/ui so testing-lib isn't in bundle

* test(selectoptionintest): update import location of helper function

* test(amroutes): put back missing selectOptionInTest helper

* test(selectoptionintest): clean up remaining file imports / exports

* test(queryeditor): fix failing import

* refactor(grafana-ui): reuse selectOptionInTest in SelectBase test
2022-06-09 11:10:48 +02:00
Ashley Harrison
6fcb2cd307
remove exported test globals from test/lib/common (#50256) 2022-06-06 15:38:37 +01:00
Alex Khomenko
333e261074
SaveDashboardForm: Ensure saveTimerange is a boolean (#50228) 2022-06-06 14:30:41 +03:00
Jeff Levin
52ed651958
public dashboards: insert default public dashboard config into database on save (#49131)
This PR adds endpoints for saving and retrieving a public dashboard configuration and and api endpoint to retrieve the public dashboard.

All of this is highly experimental and APIs will change. Notably, we will be removing isPublic from the dashboard model and moving it over to the public dashboard table in the next release.

Further context can be found here: https://github.com/grafana/grafana/pull/49131#issuecomment-1145456952
2022-06-02 18:27:23 -08:00
Konrad Lalik
63303eb4ba
Alerting: Re-render panel's tabs on variables change (#49893) 2022-06-01 13:03:33 +02:00
Joao Silva
a91ecc566b
Chore: Converts DashboardRow tests to RTL (#49722) 2022-05-31 16:51:44 +01:00
kay delaney
3d8eda0132
Chore: Remove deprecated surface prop from IconButton (#49715)
* Chore: Remove deprecated `surface` prop from IconButton

* Update component docs
2022-05-27 01:00:57 +01:00
Ashley Harrison
8166d7dc4d
Fix escape in Modal/DashboardSettings + add some unit tests (#49500) 2022-05-24 15:34:47 +01:00
Joao Silva
71ffa5e5db
Chore: Converts SaveDashboardAsForm tests to RTL (#49436) 2022-05-24 10:17:40 +01:00
Alex Khomenko
8ad91e3f9e
SaveDashboardForm: Ensure saveVariables is boolean (#49466) 2022-05-24 10:44:20 +02:00
kay delaney
7096bc65b1
VersionHistoryTable: Disable other checkboxes when two are selected (#49098) 2022-05-24 10:51:37 +03:00
Joao Silva
51bc1bad1b
Chore: Converts SaveDashboardForm tests to RTL (#49434) 2022-05-23 18:17:25 +01:00
Ashley Harrison
ce86b4ebe7
Navigation: Show starred items in the NavBar (#49219)
* switch saved items to starred items

* hook up redux properly

* Better query + hook up DashList

* update initial state so it's never undefined

* update GetDashboard call

* use new star service

* add scroll + maxwidth to navbar hover menu, sort starred items alphabetically

* increase height, revert changes to CustomScrollbar

* ellipsis!

* update starred dashboard name in navtree

* sort after renaming

* limit to first 50 starred dashboards found
2022-05-23 16:45:46 +01:00
Torkel Ödegaard
6fe28854bc
DashboardExport: Fixes issues sharing dashboards where query data source was set wrong (#48410) 2022-05-20 19:52:46 +02:00
Ashley Harrison
3ace282c29
add tracking for snapshot creation (#49165) 2022-05-18 14:53:49 +01:00
Jeff Levin
c7f8c2cc73
add isPublic to dashboard (#48012)
adds toggle to make a dashboard public

* config struct for public dashboard config
* api endpoints for public dashboard configuration
* ui for toggling public dashboard on and off
* load public dashboard config on share modal

Co-authored-by: Owen Smallwood <owen.smallwood@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-05-17 14:11:55 -08:00
Ieva
f256f625d8
AccessControl: Enable RBAC by default (#48813)
* Add RBAC section to settings

* Default to RBAC enabled settings to true

* Update tests to respect RBAC

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-05-16 12:45:41 +02:00
Karl Persson
817cf52744
Access control: Allow users with permission to update team, dashboard and folder permissions to list users in OSS (#48275)
* Remove banner when missing permissions to list users

* For OSS allow users to list other users if they have permissions to
write either team, dashboard or folder permissions
2022-05-06 10:31:53 +02:00
Josh Hunt
1cd9175075
PanelEdit: Add gap between variables, like in Dashboard view (#48718) 2022-05-05 09:42:39 +01:00
Maria Alexandra
6e530d45bc
grafana/ui: Add default type="button" to <Button> (#48183) 2022-05-04 18:36:14 +02:00
Josh Hunt
2f1d404949
Switch PanelEditor to v2 theme (#48717) 2022-05-04 16:55:49 +01:00
Ashley Harrison
06d3c27bc1
Select: Portal menu by default (#48176)
* Remove menuShouldPortal from all <Select /> components

* fix unit tests

* leave menuShouldPortal as an escape hatch

* Fix import order
2022-05-04 15:12:59 +01:00
Ryan McKinley
a8f3b17262
SaveDashboard: remove feature flag for save drawer (#48462) 2022-05-02 09:29:22 -07:00
Adam Simpson
c57924e332
A11y: Fix remaining focus issues with Switch (#48376)
* refactor: replace uses of checked prop for <Switch> with value prop

* fix: remove spaces from ids

The ID format is stated as follows([source][1]):

> ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]),
hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

Since `QueryHeaderSwitch` is used in two places I created a new variable that replaces spaces with a dash in the label.

[1]: https://www.w3.org/TR/html401/types.html#type-name

* fix: allow Switch in AlertingSettings to be focused by keyboard

* fix: allow Switch in PromSettings to be focused by keyboard

Fixes #46472

Co-authored-by: Elfo404 <me@giordanoricci.com>
2022-05-02 13:50:44 +00:00
Ryan McKinley
fee291c3c8
Save Drawer: reduce the number of diff elements we show (#48309) 2022-04-28 07:02:33 -07:00
Josh Hunt
3c6e0e8ef8
Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00
Joao Silva
94d2155f44
Annotations: Fixes data source showing as a uid in annotation settings (#48073) 2022-04-21 17:08:11 +01:00
Ashley Harrison
d832bde270
Upgrade @testing-library/user-event to v14 (#47898)
* Update dependency @testing-library/user-event to v14

* everything is async...

* everything is async pt.2

* Fix cascader tests

* hack the yarn.lock file to remove the old version of @testing-library/dom

* some more fixes!

* MOAR FIXES

* more fixes

* remove a bunch of places where we're wrapping in act()

* down to 7 failing tests...

* Fix arrow tests

* Fix rest of NavBarItem tests

* Fix last tests

* Use {Enter} instead of {enter}

* Revert "Use {Enter} instead of {enter}"

This reverts commit e72453bb52.

* remove some unused act imports

* Fix LibraryPanelsSearch tests

* more stable test

* More consistent test...

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-21 13:15:21 +01:00
kay delaney
f9f4a4cbf6
Export: Explicitly include default datasources in exported dashboard json (#47244)
* Export: Explicitly include default datasources in exported dashboard json
2022-04-20 10:02:26 +01:00
Nathan Rodman
c63086822d
Alerting: Add FGAC to alerts tab in panel editor (#47732)
* add FGAC for alert panel tab

* add test for panel tabs

* Refactor condition

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-04-14 14:19:15 +02:00
kay delaney
f10047b708
Dashboard: Refactor panel cleanup (#47323) 2022-04-12 14:12:03 +01:00
kay delaney
0cff2d5980
Library panels: Fix issue where query editor options wouldn't be updated (#47242)
Closes #47241
2022-04-07 09:39:54 +01:00
CommanderRoot
d29b8e8858
Chore: Replace deprecated String.prototype.substr() (#46763)
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated
Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
2022-04-04 11:08:06 +02:00
Ashley Harrison
9d3b701797
Accessibility: Trap focus correctly in dashboard settings (#47149)
* Accessibility: Trap focus correctly in search + dashboard settings

* add accessible names for the overlays

* Undo changes to search

* missed a bit
2022-04-01 11:44:48 +01:00
Ryan McKinley
edf384c730
DashboardSave: use a feature flag for drawer behavior (#46972) 2022-03-30 10:07:41 -07:00
kay delaney
f1c3177e79
Chore: Add type info for grafana boot data (#45322)
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-03-30 10:48:58 +01:00
Ryan McKinley
d1681dcc18
DashboardSave: keep version message (#46966) 2022-03-29 07:11:34 -07:00
Torkel Ödegaard
3516821012
Dashboard: Fixes save modal rendered ontop of save drawer (#46916)
* Dashboard: Fixes save modal rendered ontop of save drawer

* removed commented line

* Simplified dismiss -> hideModal mapping

* Fixed issue with new dashboard

* Fixing issues
2022-03-25 13:08:42 +01:00
Ashley Harrison
c13f4542d8
Dashboard: Template variables are now correctly persisted when clicking breadcrumb links (#46790)
* Add history listener to update titleHref/parentHref when location changes

* Convert to functional component and use useLocation

* Wrap component in React.memo

* Add new `getUrlForPartial` method, deprecate `updateSearchParams`
2022-03-24 16:01:43 +00:00
Joao Silva
a9002e80b4
Annotations: Fix issue with spinner always showing (#46686) 2022-03-17 13:00:52 +00:00
Ryan McKinley
15ca294be0
Dashboards: show changes in save dialog (#46557)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-03-16 09:28:09 -07:00
Joao Silva
00c93fff8c
Grafana-UI: Fix use of Fragments as children of InlineField (#46326) 2022-03-15 17:50:29 +00:00
Yaelle Chaudy
0b0d612372
A11y : Fix option panes not accessible when collapsed (#46405)
* Turned div into text button to make it accessible

* Only icon as button to avoid embedded buttons with overrides delete button

* use icon in Button directly

* Removed unused import

* moving id for labelledBy to h6 elem instead of icon

* Tweaking style, bigger caret

* Fixed aria-expanded

* Modifying and using CollapseToggle from unified alerting

* Added restOfProps to CollapseToggle
2022-03-14 15:37:13 +01:00
Torkel Ödegaard
79e5e5c024
DataSource: Default data source is no longer a persisted state but just the default data source for new panels (#45132)
* PanelEdit: Change the meaning of default data source to be just that the default for new panels

* Added migration, and also migration for annotation datasource prop to data source refs

* fix

* Fixing tests

* Fixes to annotation

* Fixing unit test
2022-03-08 08:56:12 +01:00
Karl Persson
7966e3583e
Access control: Dashboard and folder permissions frontend (#45094) 2022-03-03 15:18:27 +01:00
kay delaney
59317a22e4
AppNotifications: Migrate usage of deprecated appEvents.emit method to redux actions (#45607) 2022-02-23 11:31:15 +00:00
kay delaney
49ac8b9f0a
Dashboards: Move slow dashboard logic to css (#45686) 2022-02-23 09:35:42 +00:00
Alexander Emelin
28c30a34ad
Comments: support live comments in dashboards and annotations (#44980) 2022-02-22 10:47:42 +03:00
Hugo Häggmark
dbec2b02fd
Variables: move state tree into a keyed state (#44642)
* Variables: move state tree into a keyed state

* Update public/app/features/variables/state/transactionReducer.ts

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

* Chore: fix prettier error

* Chore: renamed slices and lastUid

* Chore: rename toUidAction

* Chore: rename dashboardVariableReducer

* Chore: rename state prop back to templating

* Chore renames variable.dashboardUid

* Chore: rename toDashboardVariableIdentifier

* Chore: rename getDashboardVariable

* Chore: rename getDashboardVariablesState

* Chore: rename getDashboardVariables

* Chore: some more renames

* Chore: small clean up

* Chore: small rename

* Chore: removes unused function

* Chore: rename VariableModel.stateKey

* Chore: rename KeyedVariableIdentifier.stateKey

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-18 06:06:04 +01:00
Ryan McKinley
bbddab0294
Chore: refactor core transformer folder structure (#45497) 2022-02-17 08:12:38 -08:00
Kristina
773da0e330
Explore: Add t * keybindings to change time range (#45020)
* Add keybindings to explore, allow override of dashboard model update for explore update

* Remove edits to Dashboard Model, add definition when url params should be updated

* Add tests

* Add and expose util function instead of bringing in unrelated library do not define explicit path to library file

* Use more generic model for TimeSrv

* Remove url utility functions, use javascript function instead

* Break out TimeModel into new type and bring it in

* condense object creation
2022-02-17 07:39:02 -06:00
Artur Wierzbicki
3e53a08090
#44449: hide dashboard preview admin UI (#45493) 2022-02-17 12:34:07 +04:00
Torkel Ödegaard
2b9e46d1f8
Angular: Option to disable angular support and isolate angular dependencies (#45421)
* Angular: Initial setting that disables angular, load angular support in separate chunk

* Load angular panels on demand

* Load alerting in separate chunk only when angularSupportEnabled

* progress, do not export core_module if angular disabled

* Progress

* Update public/app/features/plugins/built_in_plugins.ts

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* Removing remaining usage of angular from outside angular app (not counting plugins)

* Update config and docs

* Fix sample.ini

* Update public/app/features/alerting/AlertTab.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Fixing prettier issue

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-02-16 17:14:33 +01:00
Artur Wierzbicki
a025109647
Dash previews: populate crawler queue from SQL query (#44083)
* add SQL migrations

* dashboard previews from sql: poc

* added todos

* refactor: use the same enums where possible

* use useEffect, always return json

* added todo

* refactor + delete files after use

* refactor + fix manual thumbnail upload

* refactor: move all interactions with sqlStore to thumbnail repo

* refactor: remove file operations in thumb crawler/service

* refactor: fix dashboard_thumbs sql store

* refactor: extracted thumbnail fetching/updating to a hook

* refactor: store thumbnails in redux store

* refactor: store thumbnails in redux store

* refactor: private'd repo methods

* removed redux storage, saving images as blobs

* allow for configurable rendering timeouts

* added 1) query for dashboards with stale thumbnails, 2) command for marking thumbnails as stale

* use sql-based queue in crawler

* ui for marking thumbnails as stale

* replaced `stale` boolean prop with `state` enum

* introduce rendering session

* compilation errors

* fix crawler stop button

* rename thumbnail state frozen to locked

* #44449: fix merge conflicts

* #44449: remove thumb methods from `Store` interface

* #44449: clean filepath, defer file closing

* #44449: fix rendering.Theme cyclic import

* #44449: linting

* #44449: linting

* #44449: mutex'd crawlerStatus access

* #44449: added integration tests for `sqlstore.dashboard_thumbs`

* #44449: added comments to explain the `ThumbnailState` enum

* #44449: use os.ReadFile rather then os.Open

* #44449: always enable dashboardPreviews feature during integration tests

* #44449: remove sleep time, adjust number of threads

* #44449: review fix: add `orgId` to `DashboardThumbnailMeta`

* #44449: review fix: automatic parsing of thumbnailState

* #44449: lint fixes

* #44449: review fix: prefer `WithDbSession` over `WithTransactionalDbSession`

* #44449: review fix: add a comment explaining source of the filepath

* #44449: review fix: added filepath validation

* #44449: review fixes https://github.com/grafana/grafana/pull/45063/files @fzambia

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2022-02-09 13:23:32 +04:00
Marcus Andersson
eb9d85a2bf
Deprecation: use locationService in favor of getLocationSrv (#44813)
* deprecated

* updating documentation.

* added deprecation notice.

* Replacing deprecated getLocationSrv.

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* updating according to feedback.

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-07 09:37:56 +01:00
Gilles De Mey
29b97361f7
Alerting: load correct unified alerting tab (#44794) 2022-02-03 13:35:56 +01:00
Ashley Harrison
0cb3037b55
Panel: Embed URL is now correctly generated for a panel in the home dashboard (#44706)
* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* test tidyup

* Add comment for route

Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: Muaaz Saleem <muaazsaleem@Muaazs-MacBook-Pro.local>
2022-02-02 13:38:23 +00:00
renovate[bot]
d87cd6f26c
Update dependency prettier to v2.5.1 (#43473)
* Update dependency prettier to v2.5.1

* prettier fixes

* chore(toolkit): bump prettier to 2.5.1

* style(eslint): bump grafana config to 2.5.2 in core and toolkit

* style(mssql-datasource): fix no-inferrable-types eslint errors

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-02 12:02:32 +00:00
Hugo Häggmark
a660ccc6e4
PanelEdit: Adds error indicator in table view (#44595) 2022-01-31 06:02:24 +01:00
Alex Khomenko
55e1c53e36
NavModel: Enable adding suffix elements to tabs (#44155)
* Trigger extra events

* Extend html attributes

* Add suffix to tabs

* Add upgrade routes

* suffix => highlightText

* suffix => suffixText

* Add size prop

* Update prop name

* Convert tabSuffix to a component
2022-01-26 09:15:45 +02:00
Nathan Marrs
76827c2069
Refactor: move threshold editor out of grafana-ui (#44300) 2022-01-21 16:17:33 -08:00
Josh Hunt
9f97f05fcc
DashboardSettings: Prevent Dashboard permissions from linking to folder permissions when user does not have sufficient permissions (#44212)
* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* add tests

* fix up

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2022-01-19 16:27:33 +01:00
William Assis
f6b70e0a69
Dashboard save interaction evt (#43304) 2022-01-17 14:07:36 +01:00
Ashley Harrison
c618339482
Export: Fix error being thrown when exporting dashboards using query variables that reference the default datasource (#44034)
* handle undefined datasources, add unit test

* slightly nicer
2022-01-17 10:21:13 +00:00
Agnès Toulet
5eaaadd59d
Tabs: add suffix prop for the tab name (#43869)
* Tabs: add suffix prop for the tab name

* Replace FC with JSX.Element
2022-01-12 15:37:16 +01:00
Ashley Harrison
1966eba796
Chore: Add some e2e tests for repeating behaviour (#43457)
* user essentials mob! 🔱

* user essentials mob! 🔱

* WIP: Mob session work 🚧 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* mob next [ci-skip] [ci skip] [skip ci]

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* 🚧: Mob session work 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* Move repeats suite under dashboard suite

* remove these generated files

* move repeats-suite into dashboards-suite

* Reexport dashboard jsons from play and update them

* 🚧: Mob session work 🔱

* 🚧: Mob session work 🔱

* Rename dashboards to work with stripnulls

* Run stripnulls

* Add repeat to row schema

* Clean up the rest of the repeating dashboards

* Fix tooltip sorting

* Update older dashboards

* Update golden files so tests pass

* format this to ensure consistent tabs/spaces

* undo whitespace changes

* Update scripts/stripnulls.sh

Co-authored-by: sam boyer <sam.boyer@grafana.com>

* update schema versions and test

Co-authored-by: thisisobate <obasiuche62@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: sam boyer <sam.boyer@grafana.com>
2022-01-11 16:47:30 +00:00
kay delaney
36e4a871f2
UI/ClipboardButton: Remove ClipboardJS in favor of native Clipboard API (#42996)
* UI/ClipboardButton: Remove ClipboardJS in favor of native Clipboard API
Closes #42365

* Add backwards compatibility
2022-01-07 13:41:09 +00:00
kay delaney
890c43adf1
UI/Card: Refactor Card component for improved accessibility (#41890)
* UI/Card: Improve accessibility of Card component

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-01-06 15:48:12 +00:00
Ryan McKinley
4233a62aeb
DashboardPreviews: add dashboard previews behind feature flag (#43226)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Artur Wierzbicki <artur@arturwierzbicki.com>
2021-12-23 09:43:53 -08:00
renovate[bot]
159fb4cebb
Update dependency eslint-plugin-react to v7.27.1 (#43207)
* Update dependency eslint-plugin-react to v7.27.1

* Fix up code to work with new version of eslint-plugin-react

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2021-12-21 11:11:27 +00:00
Peter Holmberg
dda84dbf1a
Alerting: Fixed logic on how to render alert tab (#43339)
* fixed logic on how to render alert tab

* remove console logs move some logic
2021-12-20 15:30:31 +01:00
kay delaney
597148f23b
Dashboards: Use IntersectionObserver to manage lazy loading of panels (#42834) 2021-12-13 12:42:33 +00:00
Hugo Häggmark
bb17193ce5
Variables: Adds user interaction reports (#42802)
* Variables: Adds user interaction reports

* Chore: updates after PR feedback
2021-12-08 10:11:01 +01:00
Ivana Huckova
d28e7b6185
Explore: Fix timezone not changing for graph and table (#42430)
* Pass timezone to graph in Explore

* Fix timezone issues for table

* Fix type error

* Update public/app/features/explore/TableContainer.test.tsx

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

* Replace UTC with InternalTimeZones

* Update CEST to cest

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2021-12-02 12:07:23 +01:00
Josh Hunt
130386f84b
Chore: Fix errant text appearing in AnnotationSettingsList table (#42360) 2021-11-26 13:25:08 +00:00
Ashley Harrison
0516ad822b
PanelEdit: Query now correctly initializes data source (#42291) 2021-11-26 09:37:19 +00:00
Torkel Ödegaard
1e1403fad1
DashboardExport: Correctly templetatize datasource prop now that is's a ref obj (#42305) 2021-11-26 10:06:41 +01:00
Torkel Ödegaard
781067ee45
VisualizationSuggestions: Support image & text instead of real previews. Adds suggestions for all non data panels when there are no data (#42074)
* Make suggestion cards support img & text mode instead of only preview

* Generic solution for non data panels

* minor review tweaks
2021-11-25 10:52:01 +01:00
Torkel Ödegaard
070344943c
PanelEditor: Present actionable suggestions when panel cannot visualize current data (#42083)
* PanelDataError: Show actions when current panel cannot visualize data

* Fixed so that suggestions tab is opened from action

* Cleanup

* Fixed tests

* Fix tests

* Fixing tests

* Fixed ts issues
2021-11-25 09:41:03 +01:00
Hugo Häggmark
67a1052334
Dashboard: Fix cache timeout persistence (#42204)
* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* WIP: Mob session work 🚧🔱

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: kay delaney <kay@grafana.com>
2021-11-24 14:24:33 +01:00
Hugo Häggmark
df22828d7d
TextPanel: Fix suggestions for existing panels (#42195)
Closes #42118

Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Josh Hunt <josh@trtr.co>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-11-24 11:20:36 +01:00
Ashley Harrison
20e1457a78
Select: use findBy and make these tests async to avoid act() errors (#42134) 2021-11-23 14:53:10 +00:00
renovate[bot]
035e676cad
Update dependency react-select to v5 (#41604)
* Update dependency react-select to v5

* Remove @types/react-select and update types accordingly

* Fix all unit tests

* Add @ts-expect-error to individual errors, remove prefix as it doesn't seem to exist?

* Another minor typescript fix

* Apply fixes from torkel's PR

* Fix last typescript error

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2021-11-23 12:11:26 +00:00
Torkel Ödegaard
942920cb36
PanelEdit: Always show delete icon button for overrides, even when collapsed (#42029) 2021-11-22 09:55:07 +01:00
Levente Balogh
35c2c95fdc
Plugins: remove deprecated code (components) (#41686)
* refactor(plugins): use routes specific to the new plugins/admin

* refactor(plugins): remove unused pages (PluginList, PluginItem)

* refactor(plugins): remove PluginPage

* refactor(plugins): remove UpdatePluginModal

* refactor(plugins): move AppConfigWrapper under plugins/admin

* refactor(plugins): move PluginDashboards under plugins/admin

* refactor(plugins): rename the "specs" folder to "tests"

* refactor(plugins): move test files to /tests folder

* refactor(plugins): move AppRootPage into a /components folder

* refactor(plugins): move PluginsErrorsInfo into a /plugins folder

* refactor(plugins): move PluginSettingsCache into a /components folder

* refactor(plugins): move PluginStateInfo into a /plugins folder

* refactor(plugins): move AppRootPage.test.tsx next to the tested component

* refactor(plugins): remove old snapshot tests

* fix(plugins): fix tests

* refactor(plugins/admin): move & rename PluginSettingsCache

* fix(plugins): fix a few rebase issues

* Plugins: remove deprecated code (state handling) (#41739)

* refactor(plugins): use the plugins/admin reducer only

* refactor(plugins): remove tests for the deprecated plugins reducer

* refactor(plugins): remove tests for the deprecated plugins selectors

* refactor(plugins/state): add a short comment note to selectors

* feat(plugins/state): add a selector for selecting errors

* feat(plugins/state): add a hook for getting plugin errors

* refactor(plugins): udpate the PluginsErrorsInfo component to use the new state selectors

* refactor(plugins/state): remove the old (deprecated) selectors

* refactor(plugins/state): use the new actions under /admin

* refactor(plugins/state): remove old (deprecated) reducers and actions

* refactor(plugins): update component definition

* fix(plugins): remove unnecessary {children} prop for PluginsErrorsInfo

* Plugins: show / hide install controls based on the `pluginAdminEnabled` flag (#41749)

* docs(plugins): update documentation for the `plugin_admin_enabled` flag

* refactor(InstallControls): move the main component to a named module

* feat(plugins): use the `pluginAdminEnable` flag to hide / show install controls in the UI

* test(plugins): add tests for enabling/disabling install controls
2021-11-19 13:42:26 +01:00
Hugo Häggmark
5498203507
Chore: Reduce pa11y-ci errors (#41787)
* Chore: moves alert to test-id

* Chore: moves Dashboard navigation to test-id

* Chore: moves Bar gauge value to data-testid

* Chore move Folder picker select container to data-testid

* Chore: moves Time zone picker select container to data-testid

* Chore: moves Choose starting day of the week to data-testid

* Chore: change tabIndex on search input

* Chore: moves various search related aria-lables to data-testid

* Chore: connects label to select input on alerting page

* Chore: connects TimeZonePicker and WeekStartPicker with labels

* Chore: moves CallToActionButton to data-testid

* Chore: move user home preferences select to data-testid

* Chore: lower all thresholds
2021-11-17 14:45:45 +01:00
Uchechukwu Obasi
ea113be251
DashboardSettings: Link labels to inputs (#41680)
* TimePickerSettings: make label appropriately link to input when clicked

* DashboardSettings: link labels to input

* use loweercase instead for IDs

* fixes failing e2e test
2021-11-16 16:58:33 +01:00
Ashley Harrison
0e76f347c3
Overrides: Pass searchQuery to overrides section to highlight correctly (#41684) 2021-11-16 11:41:53 +00:00
Josh Hunt
bfec79a7dc
Chore: Improve wording of 'Now delay' option (#41368)
* Chore: Improve wording of 'Now delay' option

* Feedback
2021-11-15 16:08:28 +01:00
Torkel Ödegaard
dbcefb70f6
Angular: More isolation and removing of unused components (#41630)
* Angular: More isolation and removing of unused components

* Moved some more and fixed a test
2021-11-15 15:12:45 +01:00
Uchechukwu Obasi
d91e2ff632
TimePickerSettings: make label appropriately link to input when clicked (#41638) 2021-11-12 14:00:51 +01:00
Torkel Ödegaard
c96c92d712
Angular: Isolate angular more (#41440)
* Getting close

* Restore angular app boot at startup

* Moving angular annotations dependencies to app/angular or old graph

* Remove redundant setLinkSrv call

* Fixing graph test

* Minor refactor based on review feedback

* Create in get function
2021-11-10 11:05:36 +01:00
Uchechukwu Obasi
e7fd41d779
RefreshPicker: make widget accessible (#40570)
* adds better aria-label for run and interval buttons

* enable refreshPicker to be keyboard navigable

* adds support for closing menu using esc key

* Fix: weird behaviour when navigating menu items

* adds focus trapping to refresh picker

* WIP: sanitize time interval values for screen readers to pronounce correctly

* WIP: improve sanitizeLabel function to work for all use cases

* Chore: move label sanitization to refreshPicker component instead

* Chore: add fallback label when ariaLabel prop is not set

* Chore: fix some type errors

* code cleanup

* update tests

* rename function to be more descriptive

* remove unnecessary type casting

* WIP: use cleaner solution

* WIP: use parseDuration util instead

* use more descriptive aria label

* fix: modify parseDuration util to output correct interval unit format

* fix: move interval unit format logic to refreshPicker

* Chore: add back old refreshPicker e2e selectors for backward compatibility

* Fix: improve refresh picker to voice out selected interval option

* Fix: use appropriate aria roles and states to aid screen reader a11y

* Fix: support dropdown expansion using down arrow key

* Chore: use better type construct

* Fix: add support for tab to close menu

* add more context to the deprecation warning message

* Chore: use formatDuration util instead to format interval labels

* Chore: small syntax fix

* chore: syntax fix

* syntax fix

* Chore: add back lockfile
2021-11-10 11:01:06 +01:00