Commit Graph

1934 Commits

Author SHA1 Message Date
kay delaney
2827d89ccf
Table: Fixes so links work for image cells (#32370)
* Panel/Table: Adjust data links logic
Closes #31576
2021-03-29 10:42:48 +01:00
Dominik Prokop
95c65a1f4a
GraphNG: Fix tooltip displaying wrong or no data (#32312) 2021-03-26 09:56:40 +01:00
Uchechukwu Obasi
4aff0cee0d
GraphNG: updates story from knobs to controls (#32294) 2021-03-25 15:32:19 +01:00
Zoltán Bedi
8232b6ebbc
Chore: eslint react hook fix for public folder (#31174)
* Fixes under public/app/plugins

* Fixes under public/app/plugins/datasource

* Fixes under public/app/features

* Fixes under public/app/features

* Fixes under public/app/features

* Fixes under public/app/components

* Fix PanelNotSupported test

* Fix one more warning

* Fix warning in usePanelSave

* Fix traceview empty response

* Azure monitor fixes

* More fixes

* Fix tests for azure monitor

* Fixes after merging master

* Add comment for disabled rules

* Fixes after merging master

* Fixes after merging master

* Adress review comments

* Fix azure tests

* Address review feedbacks
2021-03-25 12:42:14 +01:00
Jack Westbrook
405f54565a
chore(deps): bump visx/tooltip to 1.7.2 (#32248)
* chore(deps): prefer react-use-measure 2.0.4 over forked fix

* chore(grafana-ui): bump visx/tooltip@1.7.2 instead of react-use-measure resolution
2021-03-25 10:28:26 +01:00
Torkel Ödegaard
9d6c8f8512
PanelEdit: v8 Panel Edit UX (#32124)
* Initial commit

* Progress

* Update

* Progress

* updates

* Minor fix

* fixed ts issue

* fixed e2e tests

* More explorations

* Making progress

* Panel options and field options unified

* With nested categories

* Starting to find something

* fix paddings

* Progress

* Breakthrough ux layout

* Progress

* Updates

* New way of composing options with search

* added regex search

* Refactoring to react note tree

* Show overrides

* Adding overrides radio button support

* Added popular view

* Separate stat/gauge/bargauge options into value options and display options

* Initial work on getting library panels into viz picker flow

* Fixed issues switching to panel library panel

* Move search input put of LibraryPanelsView

* Changing design again to have content inside boxes

* Style updates

* Refactoring to fix scroll issue

* Option category naming

* Fixed FilterInput issue

* Updated snapshots

* Fix padding

* Updated viz picker design

* Unify library panel an viz picker card

* Updated card with delete action

* Major refactoring back to an object model instead of searching and filtering react node tree

* More refactoring

* Show option category in label when searching

* Nice logic for categories rendering when searching or when only child

* Make getSuggestions more lazy for DataLinksEditor

* Add missing repeat options and handle conditional options

* Prepping options category to be more flexibly and control state from outside

* Added option count to search result

* Minor style tweak

* Added button to close viz picker

* Rewrote overrides to enable searching overrides

* New search engine and tests

* Searching overrides works

* Hide radio buttons while searching

* Added angular options back

* Added memoize for all options so they are not rebuilt for every search key stroke

* Added back support for category counters

* Started unit test work

* Refactoring and base popular options list

* Initial update to e2e test, more coming to add e2e test for search features

* Minor fix

* Review updates

* Fixing category open states

* Unit test progress

* Do not show visualization list mode radio button if library panels is not enabled

* Use boolean

* More unit tests

* Increase library panels per page count and give search focus when switching list mode

* field config change test and search test

* Feedback updates

* Minor tweaks

* Minor refactorings

* More minimal override collapse state
2021-03-25 08:33:13 +01:00
Uchechukwu Obasi
c9c5e55c15
Graph: updates story from knobs to controls (#32264)
* Graph: updates story from knobs to controls

* added type to story
2021-03-24 18:12:54 +01:00
Uchechukwu Obasi
1ab32ebc9d
GraphLegend: updates story from knobs to controls (#32285)
* GraphLegend: updates story from knobs to controls

* changed the rightAxisSeries control to use text instead
2021-03-24 15:56:33 +01:00
Uchechukwu Obasi
26823ee438
RadioButton: updates story from knobs to controls (#32251) 2021-03-24 08:50:27 +01:00
Torkel Ödegaard
ca8295e298
PanelEditorTabs: Fixes theme and update issues when queries change from outside (#32204)
* PanelEditorTabs: Fixes theme and update issues when queries change from outside

* Remove unnessary arrow function

* Removed setState
2021-03-23 13:08:06 +01:00
Uchechukwu Obasi
49a5b9f0cb
Legacy Switch: updates story from knobs to controls (#32249)
* Legacy Switch: updates story from knobs to controls

* destructure arguments appropriately
2021-03-23 12:33:27 +01:00
Uchechukwu Obasi
814f194d07
Form Legend: updates story from knobs to controls (#32250) 2021-03-23 12:30:13 +01:00
Uchechukwu Obasi
59d6f26708
Legacy Select: updates story from Knobs to Controls (#32225)
* Legacy Story: updates story from Knobs to Controls

* removed type in story

* adds type back to the story
2021-03-23 10:44:39 +01:00
Uchechukwu Obasi
61ea7b5290
ButtonSelect: updates story from knobs to controls (#32229)
* ButtonStory: updates story from knobs to controls

* removed type in story

* changed to a much descriptive variable name

* adds type back to the story
2021-03-23 09:52:48 +01:00
Leon Sorokin
066c9c8ff4
GraphNG: accept number for spanNulls to indicate max threshold below which nulls are connected (#32146) 2021-03-22 23:00:34 -07:00
Josh Hunt
7389b2ecac
Grafana-UI: Allow <Select /> value to be unset (#32136)
* Fix: Allow <Select /> value to be unset

* clean up

* fix null object in select onChange

* Revert "fix null object in select onChange"

This reverts commit 4b157073884938e5e6a1fac1bbafa7c6017cb361.

* undo onChange arg type change

* fix tests
2021-03-22 14:45:27 +00:00
Dominik Prokop
fb337e5c1d
GraphNG: Ignore string fields when building data for uPlot in GraphNG (#32150) 2021-03-19 10:43:55 +01:00
Ivana Huckova
664b13d83e
Explore: Support full inspect drawer (#32005)
* Move InspectSubtitle to grafana/ui

* Move inspect elements to features/inspector

* Move InspectJSON and use it also in Explore

* Move and use QueryInspector

* Move all to features/inspector

* WIP Data tab implementation

* Process dataframes for explores inspector

* Clean up

* Update test

* Clean up

* Fix Explore Inspector button name
2021-03-18 17:38:09 +01:00
Dominik Prokop
a6cb9fb295
GraphNG: make sure dataset and config are in sync when initializing and re-initializing uPlot (#32106)
* Make sure dataset and uPlot config are in sync when rendering uPlot

* Tests

* Fix TS
2021-03-18 17:26:57 +01:00
Torkel Ödegaard
1454c3723d
PanelChrome: new logic-less emotion based component with no dependency on PanelModel or DashboardModel (#29456)
* WIP: Started work on a new panel chrome component

* Minor progress

* Next icons & state

* adding support for leftItems.

* fixing duplicated exports of PanelChrome.

* adding examples on loading indicator in storybook.

* adding API stability docs.

* removed dependency on stylesFactory.

* fixed docs errors.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2021-03-18 13:22:19 +01:00
Dominik Prokop
b0d7e3dbee
GraphNG: Fix tooltip series color for multi data frame scenario (#32098) 2021-03-18 13:16:36 +01:00
Uchechukwu Obasi
52c1d7301f
ContextMenu: changed menu item rendering to render prop pattern (#31993)
* ContextMenu: changed menu item rendering to render prop pattern to enable manual composition of menu items

* fixes affected components

* fixes small nits

* added some changes

* used a more descriptive variable name
2021-03-18 12:58:07 +01:00
Hugo Häggmark
f508a16a43
LibraryPanels: Improves the Get All experience (#32028)
* LibraryPanels: Improves Get All Api

* Refactor: using useReducer instead of useState

* Refactor: adds Pagination to UI

* Tests: adds reducer tests

* Refactor: using Observable instead to avoid flickering

* Refactor: moves exclusion to backend instead

* Chore: changing back the perPage default value
2021-03-18 11:19:41 +01:00
Marcus Andersson
69201bbf8c
Plugins: moving the DataSourcePicker to grafana/runtime so it can be reused in plugins (#31628)
* moved the datasource picker to grafana-runtime.

* fixed imports.

* added e2e selectors as an external package.

* adding react as external package.

* exposing dependent types for DataSourcePicker.

* added docs for ui components.

* moving component to components.
2021-03-18 10:44:26 +01:00
Uchechukwu Obasi
f93166e7b2
Legacy Input: updates story from knobs to control (#32059) 2021-03-17 14:43:31 +01:00
Dominik Prokop
48f46a597f
GraphNG: Fix PlotLegend field display name being outdated (#32064) 2021-03-17 14:40:30 +01:00
Uchechukwu Obasi
ee8a864615
Form: update story from knobs to controls (#32022)
* Form: update story from knobs to controls

* some code cleanup
2021-03-17 11:14:39 +01:00
Vicky Lee
e5ca13deb6
Grafana/ui: display all selected levels for selected value when searching (#32030)
* display all levels for selected values when searching if needed

* add test
2021-03-16 15:10:05 +00:00
Uchechukwu Obasi
ec95049a95
FormField: update story from knobs to controls (#32018) 2021-03-16 12:49:46 +01:00
Uchechukwu Obasi
cc29bc3c5d
FieldValidationMessage: update story from knobs to controls (#32020) 2021-03-16 12:49:25 +01:00
Dominik Prokop
e9402a56ba
Make master green (#32011) 2021-03-16 09:55:02 +01:00
Dominik Prokop
b0b2ba0157
TooltipContainer - use resize observer instead of getClientBoundingRect (#31937)
* TooltipContainer - use resize observer instead of getClientBoundingRect

* Well, let's screw Safari, shall we?

* Memoize resize observer

* Make ts happy happy happy
2021-03-15 18:08:43 +01:00
Piotr Jamróz
d0fa7b81f0
Prevent submitting the datasource form in Loki's datasource configuration page (#31823) 2021-03-12 09:25:41 +01:00
Torkel Ödegaard
82e9d59121
GraphContextMenu: Fixes add annotation action & data links that cause full page reload (#31915)
* GraphContextMenu: Fixes add annotation action

* Fixed issue with data links causing full page reload

* A better solution to closing context menu
2021-03-12 07:25:14 +01:00
Leon Sorokin
4c2ab6752e
uPlot 1.6.7 (#31913) 2021-03-11 11:15:19 -06:00
Vicky Lee
6fe2baf168
Grafana/ui: fix searchable options for Cascader with options update (#31906)
* update searchableOptions when this.props.options has been updated

* add tests for using state to update options for cascader component

* update story for cascader

* use memoizeOne
2021-03-11 16:41:08 +00:00
kay delaney
48d2dff987
Migration/AlertList: Migrates AlertList from AngularJS to React (#31872)
* Migration/AlertList: Migrates AlertList from AngularJS to React
2021-03-11 14:53:13 +00:00
Uchechukwu Obasi
f51653647d
Menu: refactor MenuItem and MenuGroup to be standalone component (#31639)
* Menu: refactor MenuItem and MenuGroup to be standalone component

* fixes small nits

* Chore: Refactored other components to correspond with the new Menu system (#31676)

* fixes affected components using Menu

* fixes affected components using Menu components

* fixes frontend test- I hope

* fixes frontend docs test- I hope

* fixes frontend docs test- I hope

* fixes frontend docs test- I hope

* fixes frontend docs test- I hope

* fixes frontend docs test- I hope

* added support for accessibility

* fixes frontend test- I hope

* Improve storybook story and simplify ButtonSelect

* Fixed broken graph context menu

* fixes frontend test- I hope

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-03-11 15:35:17 +01:00
Oscar Kilhed
e7757b0175
Add datalinks support to PieChart v2 (#31642)
* Remove default value for multiSelect

* Add data links support for PieChart v2

* Temporarily fix story

* Refactor PieSlice, deduplicate colors

* Add field config to context menu of pie chart

* Add custom key to legend

This is a bit hacky. When there are multiple DisplayValues with the same
title the react keys collide and LegendListItems are not cleared
correctly.

* Forgot to add the interface

* Fix missing tooltip in edit mode
2021-03-10 23:02:04 +01:00
Dominik Prokop
a55a272276
Routing NG: Replace Angular routing with react-router (#31463)
* Add router packages

* Get react app root work instead of Angular one

* Logger util

* Patch Angular routing ($routeProvider, $routeParamsProvider)

* Use react-router-dom history instead of separate dependency

* Add test routes

* Sidemenu - use Link instead of anchors

* Patch Angular $location service (stub)

* WIP: geting rid of $location provider from TimeSrv

* Intercept anchor clicks to use history under the hood

* Sync Redux location slice with history state

* Make login/logout work

* Debug routes for testing

* Make force login work

* Make sure query param change does not recreate page components

* Hide side menu in specified locations

* Make the dashboar route query parameters work, make panel edit menu work

* Enable more routes

* Fix side menu

* Handle view modes

* Disable playlist routes

* Make SafeDynamicImport work again

* Bring back router-debug

* Separate redux location sync from route rendering

* Refactor updateLocation to thunk and move force refresh(login) to it

* Fixing init dashboard issue

* Support switching between dashboards without an unmount of DashboardPage

* More fixes for init dashboard and panel edit

* More type fixes

* Moving angular location wrapper out of main LocationService, and fixing typescript issues

* Fixed last typescript errors

* LocationService: Move to runtime and  remove getLocationService and export singleston const instead (#31523)

* Moving location service implementation to runtime and removing get function and making it a package const singleton

* Added test that used locationService directly

* removed unused import

* AngularApp: Moving angular dependencies and the app boot out of the main app into it's own file  (#31525)

* Fixes angular panels by calling the monkey patch

* Moving angular stuff to to it's own files

* udpated

* Fixing clicking on divs and spans inside anchor

* Moving app notifications out of angular app and removing angular directive wrapper

* Moving search from angular to react and removing angular search wrapper

* Clean up, tried to remove the redux location wrapper but requires a big update for DashboardPage, so adding it back

* Moving AppWrapper to root to limit circular dependencies (app/core -> app/routing and back)

* Open and close search now works

* Hide sidemenu when in kiosk mode

* Restoring some keybindings like ESC key

* Removed kiosk events and simplified it, just handled through updating URL

* Fixing typescript errors

* Simplified GrafanaRouteComponentProps and renamed to ContainerProps

* renamed back

* Changed AlertRuleList to use GrafanaRouteComponentProps and location.search passed to it

* Removing the reloadOnSearch property, this is not needed now for react as react by default does not unmount components when only url match or query parmas change

* SafeDynamicImport causing unmount un every search update, not sure how to fix yet

* Fix signature for SafeDynamicImport so we do not create new route components on every route render

* Removing the redux location wrapper as it was causing errors, and making dashboard page work with RouteProps (location, match) etc

* Updating DashboardPage and SoloPanelPage to use match params and history location

* Fixed DashboardPage tests

* Fixing solo route tests

* LocationService: Rename getCurrentLocation to just getLocation

* do not intercept link clicks with target blank or self

* Experimental useUrlParams hook

* Update DataSourceSettingsPage to use router match params

* fix links with urls that have no starting / to work like before

* Fix forceLogin

* Add queryParams to GrafanaRouteComponentProps

* PanelEditor get rid of updateLocation and location state

* Improve grafana route query params typing

* Add getSearchObject to LocationService

* Use DashboardPAge queryParams instead of location.search parsing

* Fix DashboardPage typing

* Fix some tests weirdness

* Bring back KeyboardSrv

* Fixes typescript issues

* Team pages now use router match params

* Get rid of  from GrafanaRouteComponent props

* Removed unnessary calls to getSearchObject when calling locationService.partial

* Updated DashboardPage tests after queryParams was added

* Fixing dashboard settings back

* GrafanaRoute: Adding tests and remove use of global locationService

* Fixing tests and typescript errors

* Bring back kiosk modes and add tests

* Fix TimeSrv tests

* Fix typecheck errors

* Fixing tests

* Updated SideMenu test to react-testing and wrapped component in Router, and fixed issue importing createMemoryHistory

* Get rid of routeChange event from TimeSrv from

* Fixed TopSectionItem test

* Trying to make basename work but failing

* Update TopSectionItem snapshot

* Fix TopSectionItem snapshot test

* Fix API keys creation

* Remove Angular dependencies from KeybindingSrv (#31617)

* Remove Angular dependency from KeybindingsSrv

* Fix tests and typecheck issues

* basename is starting to work

* Make dashboard save work

* KeybindingSrv: Remove as angular service and no usage angular scope

* So long bridge_srv, we won't miss you

* Update snapshots

* Dashboard: Refactoring ChangeTracker to use History api and no angular (#31653)

* Dashboard: Refactoring ChangeTracker to use History api and no angular

* Updated

* Removed logging

* fixed unit tests

* updated snapshots

* Mechanism for force reloading routes (#31683)

* e2e: Fixes various things in e2e scenarios after router migration (#31685)

* Explore: Update reading query params from router props and updating location via locationService (ReactRouter)  (#31688)

* RoutingNG: Initial explore redux location to router location migration

* Updated explore Wrapper tests

* Fixing more tests

* remove loggin

* rename back to make naming consistent

* Fixing return to dashboard button

* fixing navigation to explore from dashboard

* updated routeProps

* Updated tests

* Make DashboardListPage work

* Fixing navigation after add new data source, and fixes explore e2e

* Fixing solo panel page

* PluginsPage now works

* RoutingNG: When parsing and rendering url search/query params preseve old logic of handling booleans and arrays (#31725)

* RoutingNG: When parsing and rendering url search/query params preserve old logic of handling booleans and arrays

* Fixed test

* Make snapshots list work

* fixed alert notification channel edit page

* Simplify LocationService, did not need special handling for login or forceLogin as target _self on link already handles that

* fixed UserAdminPage

* fixed edit orgs page

* Fixing LdapPage

* fixing dashboard import

* Fixed new folder page

* Fixed data source dashboards page

* fixing Folder permissions and folder settings page

* fixing snapshot list page nav model

* remove unused file

* Added placeholder page for playlist

* Moved browser compatability to index-template

* Restored 404/default page

* Fixed reset password page

* Fixed SignUpInvited page

* Fixing CreateTeam, Create user page, add panel widget

* Restore browwser file to make tests happy

* Fixed unit tests

* Removed unused import

* Replacing usage of updateLocation

* Fixed test

* Updating search filters to use history / location service for filters

* remove unused file

* AppRootPage fixed

* Fixing test and search issue

* Changes to support enterprise extensions

* remove console.log

* Removing more use of redux location

* Fixed signup page

* removed unused old angular controllers

* Fixing bugs

* one final bugfix

* Removed location from redux state

* Fixing ts issues and tests

* Fixing test issue

* fixing tests

* Fixing tests

* removed unused stuff

* Fixed search test

* Adding some doc comments

* Routing NG: Angular location provider patch (#31773)

* Patch Angulars $location provider

* Update public/app/angular/bridgeReactAngularRouting.ts

* Remove only test

* Update tests, disable loggers in test env

* Routing NG: remove $location provider usage (#31816)

* Remove dashboard_loaders

* Remove $location from Analytics service, track page views form GrafanaRoute

* Remove NotificationsEditCtrl

* Remove Angular dependencies from uploadDashboardDirective

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

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

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

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

* Remove unused test helpers (#31831)

* Playlist react (#31829)

* playlist list in react

* Playlist start

* Things started to work

* Updated

* Handle empty list

* Fix ts

* Fixes and kiosk mode stuff

* Removed unused events

* fixing ts issue

* Another ts issue

* Fixing tests

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* fixed test

* Update public/app/AppWrapper.tsx

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

* Update public/app/AppWrapper.tsx

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

* Remove Angular dependency from DashboardLoaderSrv (#31863)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2021-03-10 18:03:36 +01:00
Leon Sorokin
04e46e3853
Tooltip: partial perf improvement (#31774) (#31837) 2021-03-09 14:25:40 -06:00
Uchechukwu Obasi
aee78f7527
Drawer: updates story from knobs to controls (#31821)
* Drawer: updates story from knobs to controls

* fixes small nit
2021-03-09 17:15:37 +01:00
Leon Sorokin
1fcf2c30c6
GraphNG: uPlot 1.6.6 (#31795) 2021-03-09 00:14:14 -06:00
Uchechukwu Obasi
2e25dfc969
ConfirmModal: updates story from knobs to control (#31781) 2021-03-08 16:50:09 +01:00
Ivana Huckova
445132a904
Fix escaping in ANSI and dynamic button removal (#31731) 2021-03-08 12:24:44 +01:00
Ryan McKinley
a61e636bcd
DataFrameJSON: introduce a json format that supports same semantics as arrow (#31010) 2021-03-05 12:24:43 -08:00
Vicky Lee
6819a25add
Grafana/ui: display all selected levels for Cascader (#31729)
* add support for displaying all selected levels for cascader

* add story for Cascader with display all selected levels

* add tests for Cascader with displayAllSelectedLevels prop

* replace enzyme test with RTL for cascader
2021-03-05 18:26:31 +00:00
Dominik Prokop
fdc6f2cc6f
DataLinks: Bring back single click links for Stat, Gauge and BarGauge panel (#31692)
* Bring back clickable Stat, Gauge and BarGauge panels

* Demo dashboard

* Add DataLinksContextMenu tests

* Only use new UI for data links, revert panel links logic
2021-03-05 10:29:19 +01:00
Leon Sorokin
a5f3889b93
GraphNG: cache ianaName & reduce calls to getTimeZoneInfo() (#31712) 2021-03-05 00:17:43 -06:00
Alec Posney
56ce068a91
GraphNG: Fixes Tooltip mode 'All' for XYChart (#30921) (#31260) 2021-03-04 20:59:48 -08:00