Commit Graph

6224 Commits

Author SHA1 Message Date
Alvaro Huarte
40583aec0f Table: Add select/unselect all column values to table filter (#79290)
* Add/Remove columns values to the filter using a UX similar to the github inbox

* Align select all checkbox and fix wording

* Update docs/sources/panels-visualizations/visualizations/table/index.md

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

---------

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2024-01-04 16:09:16 +01:00
Sonia Aguilar
d29f9cfd3c Fix: Switch component not being styled as disabled when is checked (#80012)
* Fix Switch component not being styled as disabled when checked

* Remove unnecessary code
2024-01-04 15:07:22 +01:00
Jamin
576b8ccff6 Frontend: Migrate PageToolbar.tsx from aria-label e2e selectors to data-testid (#79663)
* refactor: update PageToolbar to use data-testid

* refactor: update selector text

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-01-04 13:52:38 +02:00
Jo
5ae3249c36 Auth: Hide forgot password if grafana auth is disabled (#79895)
* hide forgot password if grafana auth is disabled

* fix test
2024-01-04 10:46:55 +01:00
Torkel Ödegaard
e924627659 Frontend: Reload the browser when backend configuration/assets change (#79057)
* Detect frontend asset changes

* Update

* merge main

* Frontend: Detect new assets / versions / config changes (#79258)

* avoid first check

* Updates and add tests

* Update

* Update

* Updated code

* refine

* use context

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-01-04 08:00:07 +01:00
Leon Sorokin
7210e378b8 TimeSeries: Fix stacking opacity accumulation on exit from PanelEdit (#80006) 2024-01-03 22:56:03 -06:00
Andreas Christou
dd77ff6bcd Plugins: Externalise Azure Monitor data source (#79545)
* Set up frontend linting for Azure

- Fix final frontend import
- Fix other lint issues

* Add Azure Monitor to backend linting

* Remove featuremgmt dependency

* Add intervalv2 to list of disallowed imports

* Remove config dependency

- Replace with function from azure-sdk

* Remove util dependency

* Duplicate interval functionality from core

* Add required backend wrappers

* Update frontend

* Add testing helper

* Add missing package

* Bump minimum grafana dependency

* Fix dependency

* Regen cue

* Fix lint

* Update expected response file

* Update import and dependency
2024-01-03 19:20:22 +00:00
Ashley Harrison
9de79fb5e9 Chore: remove react-popper-tooltip in favour of @floating-ui/react (#79465)
* use floating-ui instead of react-popper-tooltip in Tooltip

* remove useTheme2 usage

* remove escape handling logic in favour of useDismiss

* don't need this useEffect anymore

* convert Toggletip to use floating-ui

* use explicit version

* convert OperationInfoButton to use Toggletip

* convert nestedFolderPicker to use floating-ui

* convert Dropdown to use floating-ui and remove react-popper-tooltip

* fix Modal/Tooltip tests

* revert to old toggletip behaviour

* revert OperationInfoButton to not use Toggletip

* add mock for requestAnimationFrame

* remove requestAnimationFrame mock

* remove fakeTimers where they're not used

* use floating-ui in ButtonSelect

* Fix filters unit tests

* only attach description if label is different

* use 'fixed' strategy for Toggletip

* use stroke and strokeWidth

* set move: false to only show the tooltip if a hover event occurs

* update type for onClose
2024-01-03 12:42:26 +00:00
Esteban Beltran
fd2c326964 Faro: Send context with faro logError function (#79499)
* Faro: Send context with faro logError function

* Empty commit
2024-01-03 11:45:23 +02:00
Leon Sorokin
fb79be4a43 Transformations: Add frame source picker to allow transforming annotations (#77842)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-01-02 23:33:31 -06:00
Drew Slobodnjak
2502fe4d19 Canvas: Add Pan and Zoom (#76705)
* Canvas: Add Zoom

* Scale selecto components based on zoom state

* Fix pan by reverting to 3.1.0 for zoom-pan

* Update to latest library that fixes pan regression

* Add mini map to canvas pan zoom

* Fix selecto and anchors on hover

* Update naming to be more clear

* Switch back to contentComponent

* Apply transformScale to drag and resize

* Update connection source and target scaling

* Add option to display mini map

* Update yarn lock

* Revert "Update yarn lock"

This reverts commit 3d1dd65d57.

* Set yarn lock to main

* Revert "Set yarn lock to main"

This reverts commit 64bc50557e.

* Update to Yarn 4

* Add react-zoom-pan-pinch

* Update react-zoom-pan checksum

* Revert changes to json files

* Remove last line of api merged

* Remove last lines of all impacted jsons

* Update home json

* Update coordinate calc function to include scale

* Fix types in coordinate calc function

* Fix util calculation for transform

* Fix arrow anchor shift behavior

* Fix scale offset when adding elements during zoom

* Fix drag of selected group during zoom

* Add feature flag for canvas pan zoom

* Revert "Add feature flag for canvas pan zoom"

This reverts commit b026e31d8d.

* Regenerate feature flag after merge

* Apply feature flag to enable pan zoom wrappers

* Add mini map toggle behind feature flag

* Simplify minimap behavior

* Update feature flag registry

* Set minimap to false by default

* fix gen-cue

* Set toggles gen to main

Add blank line to toggle gen csv

* Add canvas pan zoom to csv

* Remove old comment

* Change ref parameter to be more descriptive

* Rename visibleFun to be more descriptive

* Consolidate transformScale transformRef in util

* Remove non-null assertion on connection parentRect

* Consolidate parentRect null coalescing into object

* Remove minimap and change toggle

* Add controls inline help for pan and zoom

* Clean up mouse events

* Pull scale out of ref and isolate transform

* Remove transform ref from scene div

* Fix context menu visible behavior

* Fix connections and update util functions

* Move transform component instance to util

* fix backend test

* minor updates

* Clean up connections / fix minor bug where offset of arrow wasn't being calculated correctly

* missed connection code cleanup

* cleanup scene code a bit more

* actually fix backend test

* move eslint disable line closer to actual issue

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-01-02 11:52:21 -08:00
Ihor Yeromin
a05f266e27 Units: Add scalable unit option (#79411)
* fix(units): add scalable unit option

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-01-02 18:40:57 +01:00
Torkel Ödegaard
9126dbceaf Gauges: Fixing broken auto sizing (#79926) 2024-01-02 16:55:48 +01:00
Fabrizio
7746250367 Parca: Add standalone building configuration (#79896)
* Parca: Decouple frontend

* Parca: decouple backend

* Parca: add standalone build process

* Regenerate cue files

* Fix import

* Trigger CI

* Fix test

* Trigger CI

* Trigger CI
2024-01-02 16:36:57 +01:00
Ryan McKinley
ae3156d727 XYChart: Config cleanup and refactoring (#79915)
* xy config cleanup

* more cleanup

* clean up betterer some

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2023-12-31 16:50:53 -08:00
Adela Almasan
7eea30d0e8 VizTooltip: Improved StateTimeline tooltip (#79599)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-12-29 17:38:40 -06:00
Leon Sorokin
b3387793f1 Chore: uPlot v1.6.28 (#79732) 2023-12-29 13:43:15 -06:00
Brendan O'Handley
a9f4ffab5d Prometheus: Migrate from aria-label to data-testid for selectors (#78554)
* migrate from aria-label to data-testid for selectors

* fix e2e tests with shared components

* fix e2e tests with more shared components

* pass data-testid to SelectBase component

* pass data-testid to value container and traverse the dom to access the input in e2e
2023-12-26 13:43:06 -06:00
Jamin
f41a0559fa Frontend: Migrate NewsContainer.tsx from aria-label e2e selectors to data-testid (#79666) 2023-12-26 15:06:33 +00:00
Sven Grossmann
99a821e665 Log Context: Add cacheFilters property (#79784)
* add `forceApplyFilters` property

* PR review

* fix tests

* remove import

* comment flaky test

* add context tab documentation

* review

* doc
2023-12-21 17:02:29 +01:00
Alex Khomenko
fde8a00721 SSO: Add GitHub auth configuration page (#78933)
* Setup route

* Set up the page

* Add orgs

* Load settings

* Make API call

* Remove log

* Add FormPrompt

* Update types

* Add tests

* Fix tests

* Cleanup

* Load settings

* Fix naming

* Switch to PUT endpoint

* Switch to CSS object

* Setup fields

* Render fields

* Extend types

* Dynamic provider page

* Rename page

* Filter out non-implemented providers

* Fix types

* Add teamIDs validation

* Update tests

* Fix URL

* Update name

* Send full data

* Add password input

* Update test

* Expand default values

* Fix test

* Use SecretInput

* Remove dev mode for the feature toggle

* Convert fields

* Remove fieldFormat utils

* Update fields logic

* Update tests

* Update betterer

* SSO: Make client secret not required

* Update field name

* Revert feature toggle to dev mode

* Use provider endpoint

* Fix form state check

* Update tests

* Fix URL redirect after form submit

* Mock locationService

* Separate Form component

* Fix trailing slash
2023-12-21 15:26:42 +02:00
Jamin
38f176edfb Frontend: Migrate SubMenu.tsx: from aria-label e2e selectors to data-testid (#79662) 2023-12-21 11:52:57 +00:00
Ryan McKinley
67bbdd7c05 K8s/Folders: Add folders api service (with legacy storage) (#79413) 2023-12-20 20:28:56 +02:00
Agnès Toulet
fdaf6e3f2e PublicDashboards: Add setting to disable the feature (#78894)
* Replace feature toggle with configuration setting

* Fix permission alert

* Update documentation

* Add back feature toggle

* revert unwanted commited changes

* fix tests

* run prettier

* Update SharePublicDashboard.test.tsx

* fix linter and frontend tests

* Update api.go

* Apply docs edit from code review

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

* Update index.md

* Update docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update docs/sources/setup-grafana/configure-grafana/_index.md

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* add isPublicDashboardsEnabled + test

* fix test

* update ff description in registry

* move isPublicDashboardsEnabled

* revert getConfig() update

---------

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-12-19 11:43:54 +01:00
Sven Grossmann
2165c9b3f0 Loki: Add lokiQueryHints feature flag (#78953)
* add `lokiQueryHints` feature flag

* language provider tests

* fix unwrap tests

* add feature toggle
2023-12-18 22:43:16 +02:00
Marco Schaefer
1260451af3 Faro: Upgrade to v1.3.5 (#79559) 2023-12-18 16:20:21 +01:00
Eric Leijonmarck
57ca8fa368 Anonymous: Add device limits to stats (#79494)
* add device limits

* feat: tabs the anon and session stats w. highlight
2023-12-18 09:32:57 +01:00
Khushi Jain
54dc5846c2 Chore: Refactor dataviz aria-label e2e selectors to data-testid (#78938)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2023-12-17 02:10:04 +02:00
Adela Almasan
4dc4c285f1 Heatmap: Update tooltip UX (#79429) 2023-12-15 19:17:49 -06:00
Drew Slobodnjak
b166bdc3fc Stat: Add Percent Change Option (#78250)
* Stat: Add Percent Change Option

* Ensure div style only applied for percent change

* Add metrics section to gdev

* Apply new style and fix nan truthy

* Handle no text case properly

* Only display percent change with value

* Improve styling

* Remove VizOrientation dep and improve styling

* Display percent change for text mode name

* Add check for undefined percentChange

* Don't show percent change option for all values

* Make metric alignment more robust

* Make percent change column case tighter

Check undefined directly to avoid truthy issues

* Simplify percentChange calculation

* Add documentation for show percent change

* Add tests for percent change

* Refactor big value and pull out percent change

* minor changes

* initial approach at addressing setting % change colors to be conventional (not super happy with handling of contrast)

* Clean up initial color change approach (no need to handle 0 case as is handled as NaN currently

* Update shadow styling and include icon

* Update docs/sources/panels-visualizations/visualizations/stat/index.md

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

* Stat: Add Percent Change Option (refactor and color exploration)  (#79504)

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>

* some missed cleanup :D

* update percent change to show to not be tied to text value; update docs accordingly

* initial start for fixing scaling of % change for no text mode

* Fix styling for case where textmode is none

* Tweak styling a bit for icon and minimum padding

* Apply flex wrap to container styles

* Update gdev for stat panel tests

* attempt at fixing horizontal percent change styling / placement

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-12-15 16:15:31 -08:00
Misi
9e5826f40f OAuth: Remove accessTokenExpirationCheck feature toggle (#79455)
* Remove accessTokenExpirationCheck from code and align docs

* Apply suggestions from code review

* lint

---------

Co-authored-by: lwandz13 <126723338+lwandz13@users.noreply.github.com>
2023-12-15 13:20:17 +01:00
Misi
ce1450d4d3 Chore: Configure SkipOrgRoleSync from OAuthInfo for OAuth connectors (#79443)
* Configure SkipOrgRoleSync from OAuthInfo

* Remove skipOrgRoleSync from socialbase and connectors

* Add test to socialimpl.ProvideService

* Deprecate AuthSettings' fields

* clean up misleading init of frontendsettings.Auth
2023-12-15 10:58:08 +01:00
Adela Almasan
d4b75928ca Tooltip: Improved Timeseries and Candlestick tooltips (#75841) 2023-12-13 16:34:56 -06:00
Joao Silva
147c1b8d8f Card: Revert grid template row size change (#79457) 2023-12-13 14:33:20 +00:00
Laura Fernández
d28284c8f1 TimeRangePicker: do not swap time ranges when to is before from (#78915) 2023-12-13 14:40:09 +01:00
Victor Marin
5aff3389f4 Table: Highlight row on shared crosshair (#78392)
* bidirectional shared crosshair table WIP

* add shared crosshair to table panel

* lower around point threshold

* add feature toggle

* add index based verification

* add adaptive threshold

* switch to debounceTime

* lower debounce to 100

* raise debounce back to 200

* revert azure dashboard

* re-render only rows list on data hover event

* further break down table component

* refactor

* raise debounce time

* fix build
2023-12-13 11:33:14 +02:00
Leon Sorokin
09cef892a5 OptionsPicker: Use fuzzy search and improve ranking of matches (#79286) 2023-12-12 16:41:50 -06:00
Torkel Ödegaard
eec4fd623d Stat: Fix inconsistent center padding (#79389) 2023-12-12 09:59:49 -08:00
Ashley Harrison
ffda25f4a3 Skeleton: Abstract out attach/animation logic (#79309)
* apply styles globally to skeleton

* use abstraction everywhere

* just use withSkeleton

* add comment

* update docs

* use it in News as well

* rename withSkeleton to attachSkeleton

* move to @grafana/ui/src/unstable

* rename skeletonProps to rootProps
2023-12-12 11:05:36 +00:00
Jo
3647ba7360 Anonymous: Add configurable device limit (#79265)
* Anonymous: Add device limiter

* break auth if limit reached

* fix typo

* refactored const to make it clearer with expiration

* anon device limit for config

---------

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-12-12 12:57:25 +02:00
Ben Sully
f040a8321b Plugins: Add Command Palette extension point (#78098)
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2023-12-12 08:52:09 +00:00
William Wernert
4c1bf86ae1 Add Loki alert state history annotations feature toggle (#78970)
* Add no-op Loki alert state history annotations feature toggle

* Better feature toggle description

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-12-11 14:17:01 -05:00
Esteban Beltran
46142da4db Chore: Migrate from aria-label to data-testid in plugin-related tests (#79272)
* Update basicsettings for datasource

* Change aria-label for data-testid

* Update more tests

* Update betterer

* Remove unnecessary data-testid

* Put back aria label for some datasource selectors

* Try to use data-testid with alerts

* Update betterer
2023-12-11 15:05:54 +01:00
Esteban Beltran
6ee2bd4d29 Docs: Improve comments for panel props for plugins (#78596)
* Docs: Improve comments for panel props for plugins

* Update packages/grafana-data/src/types/panel.ts

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

* Update packages/grafana-data/src/types/panel.ts

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

---------

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-12-08 15:23:55 +01:00
Ryan Perry
aa12c6c772 Flamegraph: Add table filtering for Flamegraph panel (#78962) 2023-12-07 18:52:46 +01:00
Josh Hunt
8ce4faf5ea Chore: Deprecate FieldConfigEditorProps in favor of StandardEditorProps (#78319)
* Deprecate FieldConfigEditorProps in favor of StandardEditorProps

* update editors to no longer use FieldOverrideEditorProps
2023-12-07 13:03:18 +02:00
Dan Cech
c4c9bfaf2e Storage: Unified Storage based on Entity API (#71977)
* first round of entityapi updates

- quote column names and clean up insert/update queries
- replace grn with guid
- streamline table structure

fixes

streamline entity history

move EntitySummary into proto

remove EntitySummary

add guid to json

fix tests

change DB_Uuid to DB_NVarchar

fix folder test

convert interface to any

more cleanup

start entity store under grafana-apiserver dskit target

CRUD working, kind of

rough cut of wiring entity api to kube-apiserver

fake grafana user in context

add key to entity

list working

revert unnecessary changes

move entity storage files to their own package, clean up

use accessor to read/write grafana annotations

implement separate Create and Update functions

* go mod tidy

* switch from Kind to resource

* basic grpc storage server

* basic support for grpc entity store

* don't connect to database unless it's needed, pass user identity over grpc

* support getting user from k8s context, fix some mysql issues

* assign owner to snowflake dependency

* switch from ulid to uuid for guids

* cleanup, rename Search to List

* remove entityListResult

* EntityAPI: remove extra user abstraction (#79033)

* remove extra user abstraction

* add test stub (but

* move grpc context setup into client wrapper, fix lint issue

* remove unused constants

* remove custom json stuff

* basic list filtering, add todo

* change target to storage-server, allow entityStore flag in prod mode

* fix issue with Update

* EntityAPI: make test work, need to resolve expected differences (#79123)

* make test work, need to resolve expected differences

* remove the fields not supported by legacy

* sanitize out the bits legacy does not support

* sanitize out the bits legacy does not support

---------

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

* update feature toggle generated files

* remove unused http headers

* update feature flag strategy

* devmode

* update readme

* spelling

* readme

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-12-06 15:21:21 -05:00
Ryan McKinley
439edebcd6 K8s: fix standalone command and add hack scripts (#79052)
Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
2023-12-05 14:31:49 -08:00
Ashley Harrison
7cdddb2790 PluginList: Add plugin list loading skeleton (#79012)
* add plugin skeleton

* lineHeight: 1 instead of 0
2023-12-05 16:39:23 +00:00
Alexander Zobnin
959ebf82da Folders: Show dashboards and folders with directly assigned permissions in "Shared" folder (#78465)
* Folders: Show folders user has access to at the root level

* Refactor

* Refactor

* Hide parent folders user has no access to

* Skip expensive computation if possible

* Fix tests

* Fix potential nil access

* Fix duplicated folders

* Fix linter error

* Fix querying folders if no managed permissions set

* Update benchmark

* Add special shared with me folder and fetch available non-root folders on demand

* Fix parents query

* Improve db query for folders

* Reset benchmark changes

* Fix permissions for shared with me folder

* Simplify dedup

* Add option to include shared folder permission to user's permissions

* Fix nil UID

* Remove duplicated folders from shared list

* Folders: Fix fetching empty folder

* Nested folders: Show dashboards with directly assigned permissions

* Fix slow dashboards fetch

* Refactor

* Fix cycle dependencies

* Move shared folder to models

* Fix shared folder links

* Refactor

* Use feature flag for permissions

* Use feature flag

* Review comments

* Expose shared folder UID through frontend settings

* Add frontend type for sharedWithMeFolderUID option

* Refactor: apply review suggestions

* Fix parent uid for shared folder

* Fix listing shared dashboards for users with access to all folders

* Prevent creating folder with "shared" UID

* Add tests for shared folders

* Add test for shared dashboards

* Fix linter

* Add metrics for shared with me folder

* Add metrics for shared with me dashboards

* Fix tests

* Tests: add metrics as a dependency

* Fix access control metadata for shared with me folder

* Use constant for shared with me

* Optimize parent folders access check, fetch all folders in one query.

* Use labels for metrics
2023-12-05 16:13:31 +01:00