Commit Graph

4233 Commits

Author SHA1 Message Date
Ashley Harrison
c4570ecfdc
Chore: Tweaks to support React 19 (#90653)
changes needed for react 19, mostly don't spread key
2024-07-19 13:40:02 +01:00
Ashley Harrison
334657e1cb
Navigation: Move scroll behaviour to body (#89921)
* initial attempt at body scrolling

* fix login layout

* minor fixes

* "fix" some fixed position stuff

* remember scroll position in dashboard page

* fix unit tests

* expose chrome header height in runtime and fix connections sticky header

* fix panel edit in scenes

* fix unit tests

* make useChromeHeaderHeight backwards compatible, fix plugin details double scrollbar

* fix sticky behaviour in explore metrics

* handle when undefined

* deprecate scrollRef/scrollTop

* fix extra overflow on firefox
2024-07-17 13:48:47 +01:00
Ivan Ortega Alba
3559c5c297
Revert "Frontend: Use safe stringifier in parseBody" (#90522)
Revert "Frontend: Use safe stringifier in parseBody (#90047)"

This reverts commit 434f386982.
2024-07-17 14:00:01 +03:00
Ashley Harrison
a6f9336ea1
Chore: SCSS cleanup (#90366)
* migrate _type styles

* migrate queryEditor styles
2024-07-12 14:47:12 +01:00
Josh Hunt
03311f6c6c
I18n: Memoize formatDate/formatDuration methods because they're prett… (#90338)
I18n: Memoize formatDate/formatDuration methods because they're pretty slow!!
2024-07-12 10:38:47 +01:00
Ashley Harrison
b321dc7280
Chore: Migrate from react-beautiful-dnd to @hello-pangea/dnd (#90328)
* migrate from react-beautiful-dnd to @hello-pangea/dnd

* revert comment
2024-07-12 10:23:29 +01:00
Pepe Cano
d7c844b5b6
Alerting UX: copy changes in Groups view (#90173)
* UI and help copy changes in Alerting Groups view

* Alerting Groups view: change subtitle

* Rename Alerting page title: `Groups` to `Active notifications`

* Update pseudo-local

* update betterer

* Extract translation through `make i18n-extract`
2024-07-11 13:33:41 +02:00
Alex Khomenko
62494248e3
Restore dashboards: Add RBAC (#90270)
* Restore dashboards: Add RBAC

* Add check to navtree

* Prevent non-admins from searching deleted dbs

* Add check to the route

* Cleanup

* Update translations

* Update API permissions

* Correct permissions

* Update warning message

* Update translation

* Return 401 for deleted query without admin role
2024-07-11 13:20:04 +03:00
kay delaney
434f386982
Frontend: Use safe stringifier in parseBody (#90047)
* Frontend: Use safe stringifier in parseBody

Closes #88064
2024-07-09 16:15:59 +01:00
Alex Khomenko
b3fa2821cc
Pin nav items: Instrument user events (#90212)
* Pin nav items: Instrument user events

* Send item path
2024-07-09 16:16:11 +03:00
Ashley Harrison
8444c7760c
Chore: Remove deprecated SCSS styles (#90187)
clean up infobox styles
2024-07-09 12:53:43 +01:00
Ashley Harrison
680f5ed2cc
Chore: More SCSS cleanup (#90132)
* convert TagBadge to a functional component

* migrate label and label-tag styles to TagBadge

* migrate filter-table to emotion globals

* migrate query-part styles to emotion globals

* move tag color to be an inline style
2024-07-05 14:33:43 +01:00
Alex Khomenko
7111c52e4c
Nav: Add items to saved (#89908)
* App events: Add info notification type

* Revert state

* Use info alert

* Nav: Enable saving items

* Use local state

* Use RTK query

* Revert go.work

* Revert

* User-specific queries

* Add memo

* Fix base URL

* Switch to ids

* Fix memo

* Add codeowners

* Generate API

* Separate user prefs API

* Remove tag

* Update export

* Use feature toggle
2024-07-05 16:01:10 +03:00
Alex Khomenko
852d032e1a
App events: Add "info" variant (#89903)
* App events: Add info notification type

* Add info hook

* Revert state

* Use info alert
2024-07-01 14:28:49 +03:00
ismail simsek
8f2daacf78
Chore: Remove CancelablePromise (#89564)
* Remove CancelablePromise.ts as it wasn't used in anywhere

* Move cancelable-promise to the place where it is used
2024-06-27 13:33:35 +02:00
Jack Westbrook
40207c53ae
Plugins: Expose functions to plugins for checking RBAC permissions (#89047)
* feat(grafana-data): create rbac functions for checking permissions

* feat(grafana-runtime): pass current user to runtime

* feat(grafana-runtime): expose rbac functions to check permissions against current user

* refactor(contextsrv): use functions from grafana/data to check rbac permissions against user

* Apply suggestions from code review

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* chore(rbac): fix missing types imports

* refactor(rbac): make exposed functions return boolean

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2024-06-26 17:29:17 +02:00
Ashley Harrison
47f8717149
React: Use new JSX transform (#88802)
* update eslint, tsconfig + esbuild to handle new jsx transform

* remove thing that breaks the new jsx transform

* remove react imports

* adjust grafana-icons build

* is this the correct syntax?

* try this

* well this was much easier than expected...

* change grafana-plugin-configs webpack config

* fixes

* fix lockfile

* fix 2 more violations

* use path.resolve instead of require.resolve

* remove react import

* fix react imports

* more fixes

* remove React import

* remove import React from docs

* remove another react import
2024-06-25 12:43:47 +01:00
Juan Cabanas
d07dc3bf40
ShareDrawer: Share Internally (#89315) 2024-06-24 16:31:42 -03:00
Christopher Lord
d701c181e1
chore: rename 'Incidents' sidebar to 'Incident' (the product name) (#87396)
* chore: rename 'Incidents' sidebar to 'Incident' (the product name)

* run make i18n-extract
2024-06-24 17:55:53 +03:00
Dominik Prokop
d46df10d30
DashboardScene: Show dashboard not found view (#89342)
* DashboardScene: Show dashboard not found view

* Test fix

* Use correct selector
2024-06-19 13:33:29 +02:00
Josh Hunt
db78604bd4
I18n: Add utility for locale-aware duration formatting (#89351)
* I18n: Add utility for locale-aware duration formatting

* fix message

* add fallback
2024-06-19 10:37:20 +01:00
Josh Hunt
b43411631b
Echo: Don't notify if PerformanceBackend errors when flushing (#89379) 2024-06-19 10:00:49 +01:00
Joao Silva
b0c043de5f
Fix: Portuguese Brazilian wasn't loading translations (#89302) 2024-06-18 18:06:35 +01:00
Laura Benz
34b3dbdbf3
RestoreDashboards: Adjust path (#89233)
* refactor: change path

* fix: page headline

* refactor: remove condition
2024-06-18 17:24:48 +02:00
Ashley Harrison
50dd95c09b
Chore: Remove betterPageScrolling toggle (#89339)
* remove betterPageScrolling toggle

* add scrollTo test shim
2024-06-18 14:33:08 +01:00
Ashley Harrison
890482052a
Login: Fix Skip button alignment (#89332)
fix login skip button alignment
2024-06-18 15:35:45 +03:00
Ashley Harrison
7bb883e375
Analytics: Fix ApplicationInsights integration (#89299)
change ApplicationInsights backend to use SystemJS to load
2024-06-17 16:19:12 +01:00
Sergej-Vlasov
212c1477c2
DashboardScene: Adjust a11y tests errors (#89275)
adjust a11y tests errors
2024-06-17 13:31:52 +03:00
Josh Hunt
c71f8b8b1f
Keybinds: Allow move time range shortcuts (t left / t right) to be chained (#88904)
* Allow for chaining timeshift shortcuts

* ignore repeated shortcuts
2024-06-11 15:13:49 +01:00
Ashley Harrison
55dfc76b23
Chore: replace General with Dashboards (#89017)
replace General with Dashboards
2024-06-11 13:10:25 +01:00
Drew Slobodnjak
694499ae6d
StateTimeline: Fix bug with state labels using stale y position cache during panel resize (#88818)
* StateTimeline: Check for change in height

* probably it!

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-06-07 09:12:25 -07:00
Joao Silva
c2dd44bc5a
AppChrome: Add display flex to prevent multiple scrollbars (#88512) 2024-06-06 15:34:28 +01:00
Josh Hunt
51b3116730
Keybinds: E2E tests (#88752)
* Attempt at a keybinds e2e test

* another one, thank you

* polish e2e tests, remove console.log

* an extra test

* remove anti-patterns
2024-06-06 14:10:11 +03:00
Ryan McKinley
41e0430f83
K8s/Dashboards: Add frontend api to switch between implementations (#88632) 2024-06-05 17:34:23 +03:00
Ashley Harrison
2297687ae1
Chore: Ensure all react-transition-group animations use nodeRef (#88604)
* ensure all react-transition-group animations pass nodeRef

* clone children instead of wrapping in div

* remove div wrapper

* revert back to div
2024-06-05 15:01:50 +01:00
Andrej Ocenas
048194597f
Explore: Align time filters properly to day boundaries in query history (#88498) 2024-06-04 15:04:36 +02:00
Ashley Harrison
3f7017a471
Chore: Remove nestedFolderPicker toggle (#88660)
remove nestedFolderPicker toggle
2024-06-04 12:16:12 +03:00
Josh Hunt
407bbe1f4b
Keybinds: Vendor Mousetrap (#88603)
* vendor mousetrap

* fix js lint errors

* name to .ts - start refactoring to typescript

* refactor Mousetrap to valid typescript

rename local functions/variables
update types of CallbackInfo
Specify MouseCallback and cleanup types

* Use vendored mousetrap

* use vendored mousetrap

* add globalBind, and remove dependency on external mousetrap

* Update public/app/core/services/keybindingSrv.ts

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

---------

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2024-06-04 09:35:19 +01:00
Laura Benz
b6bd9e5352
Laura/refactor/rename trash section (#88617)
* refactor: move and rename page component

* refactor: change codeowners

* refactor: change naming in backend

* refactor: change wording of subtitle
2024-06-04 10:03:33 +03:00
Ashley Harrison
e781716a38
Chore: move PageHeader component to angular folder (#88556)
move page-header component to angular folder, scss to angular.scss
2024-06-03 11:47:47 +01:00
Ashley Harrison
8c88f605e4
Chore: Migrate some more scss styles (#88484)
* migrate some more styles

* migrate typeahead styles

* migrate tagsinput styles
2024-05-31 10:04:25 +01:00
Gilles De Mey
781f67dfb6
Alerting: Support alertingDisableSendAlertsExternal feature toggle (#88384) 2024-05-29 13:54:07 +02:00
Tobias Skarhed
06304894a1
Dashboard: Keyboard and mouse panel shortcuts improvement (#87317)
* Add custom attention state to dashboard

* Add attention state to DashboardGrid

* Remove old functionality

* Add attention state to keybindingSrv

* Create PanelAttentionService

* Add PanelAttentionService with scenes support

* Remove unused code

* Use viz panel key instead of VizPanel

* Add type assertion

* Add e2e test

* Update comments

* Use panel id for non-scenes use case

* Support undefined service use case

* Memoize singleton call

* Debounce mouseover

* Set panelAttention with appEvents

* Use AppEvents for Scenes

* Remove panelAttentionSrv

* Wait in e2e to handle debounce

* Move subscription to KeybindingSrv

* Remove imports and reset keyboardShortcuts from main

* Fix on* event handlers
2024-05-29 09:11:23 +02:00
Ashley Harrison
b4e49e3114
Select: Ensure screenreader correctly narrates options (#88118)
* replace select aria-label with data-testid

* update in copy pasted places as well

* update plugin-e2e to 1.2.2
2024-05-28 14:51:47 +01:00
Laura Benz
f6a83432a5
RestoreDashboards: Create trash section (#88278)
* feat: add feature toggle to docs

* feat: create page in BE

* feat: create page in FE

* refactor: set feat toggle as a condition

* refactor

* refactor

* refactor

* feat: add permission conditions

* refactor

* feat: add subtitle to translations

* feat: add to codeowners

* refactor: fix docs situation

* refactor

* Merge main branch into feat branch
2024-05-28 10:26:06 +02:00
Laura Fernández
6d98f53e8b
Chore: Remove returnToPrevious feature toggle (#88332) 2024-05-27 17:47:57 +02:00
Agnès Toulet
f866157f99
Page: add scrollbar ID to use in image renderer (#88214) 2024-05-24 17:28:43 +02:00
Ashley Harrison
82eb160f5c
Chore: SCSS tidy up (#87956)
* more scss tidy up

* replace some scss
2024-05-16 11:20:29 +01:00
Piotr Jamróz
fd218edca4
Explore: List query templates (#86897)
* Create basic feature toggle

* Rename context to reflect it contains query history and query library

* Update icons and variants

* Rename hooks

* Update tests

* Fix mock

* Add tracking

* Turn button into a toggle

* Make dropdown active as well

This is required to have better UI and an indication of selected state in split view

* Update Query Library icon

This is to make it consistent with the toolbar button

* Hide query history button when query library is available

This is to avoid confusing UX with 2 button triggering the drawer but with slightly different behavior

* Make the drawer bigger for query library

To avoid confusion for current users and test it internally a bit more it's behind a feature toggle. Bigger drawer may obstruct the view and add more friction in the UX.

* Fix tests

The test was failing because queryLibraryAvailable was set to true for tests. This change makes it more explicit what use case is being tested

* Remove active state underline from the dropdown

* Add basic types and api methods

This is just moved from the app. To be cleaned up and refactored later.

* Move API utils from Query Library app to Grafana packages

* Move API utils from Query Library app to Grafana packages

* Move API utils from Query Library app to Grafana packages

* Add basic table for query templates

* Add sorting

* Style cells

* Style table cells

* Allow closing Query Library drawer from the toolbar

* Remove Private Query toggle

It will be moved to the kebab

* Add empty state

* Remove variables detection for now

Just to simplify the PR, it's not needed for Explore yet.

* Simplify getting useDatasource.tsx

* Rename cell

* Move QueryTemplatesTable to a separate folder

* Use RTK Query to get list of query templates

* Clean up query templates table

* Simplify useDatasource hook

* Add a test

* Retrigger the build

* Remove unused code

* Small clean up

* Update import

* Add reduxjs/toolkit as a peer dependecy

* Revert "Add reduxjs/toolkit as a peer dependecy"

This reverts commit aa9da6e442.

* Update import

* Add reduxjs/toolkit as a peer dependecy

* Revert "Add reduxjs/toolkit as a peer dependecy"

This reverts commit 2e68a62ab6.

* Add @reduxjs/toolkit as peer dependency

* Add @reduxjs/toolkit as peer dependecy

* Move reactjs/toolkit to dev dependecies

* Minor clean up and use react-redux as a peer dependency

* Move query library code to core features

* Update code owners

* Update export

* Update exports

* Use Redux store instead of APIProvider

* Await for query templates to show during the test

* Add more explicit docs that the feature is experimental

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
2024-05-14 10:05:39 +02:00
Ashley Harrison
9bf3adabd8
Spinner: Change spinner icon when prefers-reduced-motion is set (#87641)
* change spinner icon when prefers-reduced-motion is set

* update mock

* remove outdated comment

* fix matchMedia mocks

* update spinner aria label
2024-05-13 11:32:02 +01:00