Commit Graph
51 Commits
Author SHA1 Message Date
Jack Westbrook 907d7b71dc docs(piechart): refactor story to use controls (#33696) 2021-05-04 17:01:47 +02:00
Jack Westbrook 8f62e42554 Plugins: add level and signature badges to plugin details page (#33553)
* feat(grafana-ui): badge can accept react node for text, add shield-exclamation to icons

* feat(plugins): add PluginSignatureType type

* feat(pluginpage): introduce PluginSignatureDetailsBadge. Fix sidebar icon margin

* feat(pluginlistpage): update filterinput placeholder, introduce filter by plugin type
2021-04-30 11:00:41 +02:00
Jack Westbrook 0836e7bde8 IconButton: introduce variant for red and blue icon buttons (#33479)
* feat(iconbutton): introduce variant for red and blue icon buttons

* refactor(iconbutton): give variants breathing space in story

* docs(iconbutton): add docblock comment for variant prop

* refactor(iconbutton): prefer secondary to undefined variant prop and add default

* refactor(iconbutton): use icon color for hover
2021-04-29 10:47:06 +02:00
Jack Westbrook 249004ebef Pages: update react components to use v2 theme (#33413)
* chore: expose theme types / functions

* fix(grafana-ui): withTheme2 extends themeable2

* feat: migrate page components to use new theme

* refactor(pages): replace legacy form components with latest form components

* refactor(dashboardimport): update page component to use theme spacing

* refactor(alerting-ng): update page component to use v2 theme

* test(dashboardpage): update test for v2 theme

* test(apikeyspage): update test to select InlineSwitch component

* test(createteam): update snapshot

* refactor(playlist): update page components to use v2 theme

* refactor(page): put back classes on page-container and background colors
2021-04-28 16:05:00 +02:00
Jack WestbrookandTorkel Ödegaard 45fa5fdf48 Buttons: introduce buttonStyle prop (#33384)
* Wip

* Updates to colors to make secondary outline work

* refactor: prefer buttonStyle="text" over variant="link" for text buttons

* revert(button): put back mdx story page

* fix(button): variant link disabled as text disabled

* docs(button): remove link variant from stories

* feat(grafana-ui): introduce basic deprecation notice for button and linkbutton components

* docs(button): update usage of href with button and buttonlink

* feat(button): add grafana/ui to deprecation warning

* refactor(buttons): use a more descriptive name for prop warning function

* test(buttonrow): update snapshots

* refactor(buttons): change prop name from buttonStyle to fill

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-27 12:03:06 +02:00
Jack WestbrookandTorkel Ödegaard c809d63065 Buttons: replace usage of .btn classnames (#33226)
* refactor(loginpage): migrate custom button styles to use Button component

* refactor(certificationkey): prefer grafana-ui form elements over html elements and classnames

* refactor(axisselector): prefer grafana-ui Button component over html button element

* refactor(input-datasource): replace use of btn class with grafana-ui components

* chore(grafana-ui): delete deprecated ToggleButtonGroup component

* refactor: replace btn and cta-form__close class usage with IconButton

* chore(closebutton): post master merge use v2 theme

* refactor(permissionlist): remove usage of .btn classname

* Wip

* docs(styling): update styling and theme docs import paths

* refactor(alerting): remote btn classnames from TestRuleResult

* refactor(apikeys): prefer grafana-ui Button components over btn classNames

* refactor(folders): prefer grafana-ui Button components over btn classNames

* refactor(teams): prefer grafana-ui Button components over btn classNames

* refactor(datasources): prefer grafana-ui Button components over btn classNames

* refactor: prefer grafana-ui Button components over btn classNames

* Minor style tweak to service buttons

* test: update snapshots related to button changes

* chore(input-datasource): remove unused import declaration

* refactor(loginservicebuttons): rename theme.palette to theme.colors

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-23 10:06:42 +02:00
Jack Westbrook c2953f3a06 PieChart: Unify tooltip to look the way it looks in TimeSeries (#33032)
* feat(piechart): align styles between piechart and graph

* feat(piechart): introduce tooltip options to panel and visualisation

* feat(piechart): get tooltip options working

* feat(piechart): add SeriesTable to visx TooltipInPortal

* refactor(piechart): move getTooltipData out of PieSlice

* docs(piechart): fix storybook story errors

* feat(viztooltip): initial commit of common tooltip types and components

* refactor(viztooltip): rename type as enum and update usage

* refactor(viztooltip): move chart.tooltip into viztooltip and fix imports and typings

* refactor(viztooltip): update import paths and names where used

* docs(infotooltip): fix story import paths

* docs(piechart): fix typings in story

* docs(viztooltip): add public annotations to exported components and types
2021-04-20 09:45:41 +02:00
Jack Westbrook b0470c84a5 fix(datasource_srv): prevent infinite loop where default datasource is named default (#32949) 2021-04-14 09:38:53 +02:00
Jack WestbrookandHugo Häggmark bd74953f0d Plugins: Allow a non-dashboard page to be the default home page (#32926)
* feat: introduce home page redirect if default dashboard

* style: clean up

* Apply suggestions from code review

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

* chore(dashboard): remove obsolete setting import

* docs(config): add home_page description

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-04-13 15:27:51 +02:00
Jack WestbrookandTorkel Ödegaard 4178ebc0a1 Annotations: Fixes issues loading angular annotation query editors and updating annotation query model (#32903)
* style(dashboardsettings): disable eslint react hooks exhaustive deps warning

* Unrelated fix

* Fix annotation angular loading issues

* Fixing update issue

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-13 13:16:56 +02:00
Jack Westbrook 5efffba234 Grafana-UI: Fix Storybook Docs prop tables reporting "Args unsupported" in custom MDX (#32889)
* fix(grafana-ui): pass params so storybook mdx has access to component args

* chore(grafana-ui): bump storybook to 6.2.7
2021-04-12 13:08:59 +02:00
Jack Westbrook 8b38b70e00 FolderPicker: Prevent dropdown menu from disappearing off screen (#32603)
* fix(folderpicker): remove position fixed so menu works in panel editor for dashlist & alertlist

* test(folderpicker): update snapshot
2021-04-07 10:18:30 +02:00
Jack Westbrook 7374f380bd chore: Bump storybook to 6.2 (#32638)
* chore(grafanaui): bump storybook to 6.2, remove nohoist babel conflict hack

* chore(grafanaui): update storybook react doc gen defaults

* feat(grafanaui): map public/img as storybook static path for images/icons

* refactor(grafanaui): remove storybook noopControl in favour of parameters.controls.exclude

* feat(grafanaui): add component for storybook docs theming

* chore(grafanaui): silence button docs react warnings

* chore(grafanaui): bump storybook to v6.2.3

* revert(grafanaui): remove test description param from legacy switch story
2021-04-06 14:47:17 +02:00
Jack Westbrook 9caf2f8b3a Configuration: Prevent browser hanging / crashing with large number of org users (#32546)
* fix(userslist): introduce pagination to prevent browser crash with large number of users

* test(userlist): fix failing tests

* refactor(userlist): use layout components for spacing

* test(userslist): update snapshots
2021-04-01 14:46:55 +02:00
Jack Westbrook b714cdf395 chore: bump execa to v2.1.0 (#32543)
* chore(toolkit): bump execa to v2 to fix vulnerability issue

* chore(toolkit): update usage of execa
2021-04-01 12:38:53 +02:00
Jack WestbrookandTorkel Ödegaard c9eff1892e DashboardSettings: Migrates history diff view from angular to react (#31997)
* chore(dashboardsettings): introduce deep-diff for diffing dashboard models

* feat(dashboardsettings): initial commit of diff comparision react migration

* feat(dashboardsettings): wip - use json-source-map and monaco editor

* chore(deps): add react-diff-viewer to package.json

* feat(dashboardsettings): take the simplistic road for diff view

* refactor(dashboardsettings): clean up Version Settings components

* chore: delete angular historyListCtrl code

* refactor(dashboardsettings): styling fixes

* Small color tweaks

* refactor(versionhistory): fix issues around summary text. write tests

* test(versionhistory): add test for jsonDiff

* refactor(versionhistory): cleanup utils and reduce dom elements

* test(versionsettings): add tests for comparision view

* test(versionsettings): finialise tests for version history comparison view

* test(versionsettings): remove debug

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-03-25 11:51:09 +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
Jack Westbrook 7317daf80e chore(deps): remove load-grunt-tasks dependency (#32070) 2021-03-23 10:50:44 +01:00
Jack Westbrook e13a48166b chore: bump lodash to 4.17.21 (#31549) 2021-03-02 10:13:27 +01:00
Jack Westbrook 5dc000d6b0 Grafana-data: bump markedjs to v2.x to resolve vulnerability (#31036)
* chore(grafana-data): bump marked to v2.x to resolve vulnerability

* chore(grafana-data): bump marked to v2.0.1
2021-03-01 11:35:51 +01:00
Jack WestbrookandTorkel Ödegaard ad68f3c5e6 DashboardSettings: Migrate Link Settings to React (#31150)
* feat(dashboardsettings): migrate dashboard links EmptyListCTA to react

* feat(dashboardsettings): initial commit of links settings migration to react

* feat(dashboardsettings): add links form functionality

* refactor(dashboardsettings): separate out linksettings components and concerns

* Updates to links list

* Form improvements

* test(dashboardlinks): update links so tests run

* refactor: move _.move to arrayMove for testing purposes

* test(dashboardsettings): initial commit of link settings tests

* refactor(app): put back lodash move method for backwards compatibility

* test(dashboardsettings): add links settings tests

* style(dashboardsettings): camelcase constants

* chore(dashboardsettings): delete old angular links settings view

* fix(dashboardsettings): forceupdate links on submenuVisibilityChanged and correct imports

* chore: remove reference to old angular link settings components

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-02-25 11:50:10 +01:00
Jack Westbrook 4b25310941 Chore: grafana-toolkit uses grafana-ui and grafana-data workspaces (#30701)
* chore(grafana-toolkit): use workspace versions of grafana/ui and grafana/data

* chore: replace references to popperjs 1 typings with popperjs 2 typings
2021-02-16 19:33:50 +01:00
Jack WestbrookandAlex Khomenko ef8a5b760f Dashboard: Migrate general settings to react (#30914)
* feat(dashboard): initial commit of general settings migration to react

* fix(dashboardsettings): force update of general settings when selects change

* feat(dashboardsettings): initial commit of delete dashboard button and modal

* feat(dashboardsettings): introduce useDashboardDelete hook

* feat(dashboardsettings): add tags and editable inputs

* refactor(dashboardsettings): fix typescript error in general settings

* refactor(dashboardsettings): use grafana-ui form components for general settings

* refactor(dashboardsettings): use ConfirmModal and move provisioned modal to own component

* refactor(dashboardsettings): revertDashboardModal uses ConfirmModal

* test(autorefreshintervals): remove renderCount prop to fix test

* test(dashboardsettings): put back aria-label for e2e tests

* chore(dashboardsettings): remove redundant generl settings angular code

* test: change references to now deleted SettingsCtrl to GeneralSettings

* refactor(dashboardsettings): swap out switch for inlineswitch component

* chore(timepickersettings): remove timePickerSettings angular directive definition

* feat(dashboardsettings): add tooltips, fix description field name

* refactor(dashboardsettings): remove redundant await

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

* refactor(usedashboarddelete): clean up

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2021-02-09 12:04:03 +01:00
Jack WestbrookandAlex Khomenko 3066b38c5e Grafana-ui: fixes closing modals with escape key (#30745)
* feat(grafana-ui): add an escape key listener to Modal

* Update packages/grafana-ui/src/components/Modal/Modal.tsx

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

* feat(grafana-ui): add closeOnEscape prop to control Modal behaviour

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2021-02-03 17:01:29 +01:00
Jack Westbrook 4f684cc498 Grafana-ui: fixes no data message in Table component (#30821)
* Wip

* fix(grafana-ui): add no data message to Table component
2021-02-03 10:09:07 +01:00
Jack Westbrook 54b1ce2cdb ci(npm-publish): add missing github package token to env vars (#30665) 2021-01-27 15:13:08 +01:00
Jack Westbrook d2c88034e9 chore(grafana-ui): bump storybook to 6.1.15 (#30642) 2021-01-26 15:48:13 +01:00
Jack Westbrook aaa6ebb231 DashboardSettings: fixes vertical scrolling (#30640)
* fix(dashboardsettings): allow view to scroll vertically

* refactor(dashboardsettings): use theme bg colour instead of palette colour
2021-01-26 15:35:30 +01:00
Jack Westbrook 10aabe8ce3 chore: bump redux toolkit to 1.5.0 for immer 8.0.1 vulnerability fix (#30605) 2021-01-26 10:18:42 +01:00
Jack Westbrook e4d8cdfcdf chore: update packages dependent on dot-prop to fix security vulnerability (#30432) 2021-01-21 11:20:30 +01:00
Jack Westbrook 930c19eb09 Chore: upgrade NPM security vulnerabilities (#30397)
* chore: bump serialize-javascript dependents to use 3.1.0+

* chore: manually bump is-my-json-valid to 2.20.5

* chore: resolve kind-of@6 to 6.0.3

* chore: bump webpack-dev-server to solve faye-websocket vulnerability
2021-01-20 13:32:24 +01:00
c0dd1b6d11 Dashboard: migrate version history list (#29970)
* refactor(dashboard): remove redundant directive code from SaveDashboardAsButton

* feat(dashboard): initial commit of rendering version history with react

* feat(dashboard): append versions, use historySrv, UI as functional components

* feat(dashboard): initial commit of versions settings diff view

* refactor(historylist): remove code related to listing versions

* refactor(dashboard): use angular directive to render version comparison

* refactor(dashboard): clean up versions settings

* refactor(dashboard): move version history UI components into own files

* refactor(dashboard): update typings for version history react components

* feat(dashboard): initial commit of react revert dashboard modal

* test(dashboardsettings): clean up historylistctrl tests

* chore(dashboardsettings): remove unused state variable

* test(dashboardsettings): initial commit of VersionSettings component tests

* feat(grafana-ui): add className concatenation on Checkbox label

* Apply suggestions from code review

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

* test(dashboardsettings): add more tests for Versions Settings react component

* test(dashboardsettings): add test to assert latest badge in Version history table

* fix(dashboardsettings): pass string to getDiff instead of react event object

* test(dashboardsettings): remove failing test from versions settings

* Moved scroll area to content, and fixed colors

* Update public/app/features/dashboard/components/DashboardSettings/VersionsSettings.test.tsx

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

* style(dashboardsettings): add new lines to versions settings tests

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-01-19 13:19:01 +01:00
Jack Westbrook 3279a032c6 chore: bump lodash to 4.17.20 (#30359) 2021-01-18 17:22:25 +01:00
Jack Westbrook c14c7b6874 Table: migrate old-table config to new table config (#30142)
* feat(tablepanel): add migration button to old table panel config

* feat(tablepanel): migrate old table transformations

* feat(tablepanel): migrate old styles to config overrides

* feat(tablepanel): migrate catch all style override to panel defaults

* refactor(tablepanel): clean up typings

* refactor(tablepanel): base threshold as -Infinity

* feat(tablepanel): migrate align to new table config overrides

* feat(tablepanel): migrate links to new table overrides

* refactor(tabelpanel): clean up threshold migrations

* feat(tablepanel): introduce table transform to merge

* feat(tablepanel): add note informing user to manually update links with cell values
2021-01-15 13:06:40 +01:00
Jack Westbrook 24cfab6c7f Chore: bump rollup across all packages (#29486)
* chore(packages): bump all rollup dependencies

* chore: refresh yarn.lock

* build(rollup): remove namedExports from config

* chore(packages): downgrade rollup so grafana-ui builds
2021-01-12 16:51:09 +01:00
Jack Westbrook a4e49e4a9b docs(badge): migrate story to use controls (#30180) 2021-01-11 16:32:10 +01:00
Jack Westbrook 51e3d65f9f Chore(toolkit): disable react/prop-types for eslint config (#29888) 2020-12-17 09:39:07 +01:00
c2e81ab166 Build: Publish next and latest npm channels to Github (#29615)
* build(npm): publish next and latest packages to github registry

* ci(release): remove redundant commands from release-npm-packages step

* Update scripts/release.star

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

* Update scripts/release.star

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-04 16:34:03 +01:00
Jack Westbrook 55d536c6bc Grafana/ui: Storybook controls understand component types (#29574)
* feat(grafana-ui): use storybook docgen over webpack config

* chore(grafana-ui): bump storybook to latest (6.1.9)
2020-12-04 10:10:47 +01:00
Jack WestbrookandDominik Prokop 73af91192d Build: move canary packages to github (#29411)
* ci: wip - add release next npm package step to pr for testing

* ci: remove unpublish logic and use github for package registry

* chore: refresh drone.yml config

* ci: remove redundant variable

* ci: add missing double quote

* chore: move registry arg to npm script

* chore: refresh drone config

* ci: attempt github registry auth

* build: force lerna registry

* build: remote trailing slash

* build: remove obsolete lerna bootstrap, rename next publish files to canary

* chore: remove release_canary_packages step from pr pipeline

* docs(packages): introduce steps for authenticating with github packages

* refactor: move github registry related commands to shell script

* ci(drone): remove echo commands from canary release step

* docs: add missing backtick

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

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-12-03 11:31:14 +01:00
Jack Westbrook aa70a38391 Dashboards: hide playlist edit functionality from viewers and snapshots link from unauthenticated users (#28992)
* feat: hide snapshots menu item from viewers

* feat(playlists): prevent viewers from creating/editing playlists

* feat: prevent viewers seeing playlist nav link if no playlists

* refactor(playlist): rename isViewer property to canEditPlaylists

* revert(playlists): put back note if viewer and no playlists

* refactor(snapshots): consider admin/editor permission in folders/dashboards for displaying menu item

* feat(snapshots): only show snapshot nav item if user is signed in

* fix(snapshots): revert snapshots to previous state if delete snapshot api error
2020-12-02 15:51:22 +01:00
3f6a2c29c9 Chore: bump grafana-ui rollup dependencies (#29315)
* chore(grafana-ui): bump rollup dependencies

* update yarn lock

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Drone <drone@grafana.com>
2020-11-29 08:05:23 +01:00
0fc8426bf1 Chore: Bump storybook to v6 (#28926)
* Wip

* feat: get storybook and app building locally

* docs: comment webpack react alias

* build(grafana-ui): put back ts-loader

* build: prefer storybook essentials over actions and docs. bump dark-mode

* chore(storybook): migrate to latest config

* build: prevent test env throwing Invalid hook call errors

* chore: lodash resolves to package dependency rather than project

* use decorators as variable instead of function

* perf(storybook): reduce bundling time by splitting type check and compilation

* refactor(storybook): use sortOrder.order param to sort intro story first

* build: use yarn workspace command

* refactor(storybook): use previous knobs addon registration

* migrate button story to controls

* build(storybook): silence warnings in console

* build: bump storybook related ts packages

* style: remove trailing whitespace

* refactor(graphng): export interface for storybook

* controls migration guide

* fix typo

* docs(storybook): default docs to use dark theme as per current implementation

* revert(grafana-ui): put back react-is namedExport

this was changed for react 17 bump but causes rollup to fail during bundling

* chore: bump storybook to 6.1, enable fastRefresh, silence eslint prop-types

* docs(grafana-ui): move knobs -> controls migration guide to storybook style-guide

* chore(storybook): silence terminal warning about order of docs addon

* Update contribute/style-guides/storybook.md

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

* Apply documentation suggestions

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

* chore(storybook): bump to 6.1.2

Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2020-11-24 10:38:41 +01:00
Jack Westbrook 6d40206431 Dashboard: remove usage of Legacyforms (#28707)
* refactor(dashboard): remove usage of legacyform components in sharemodal

* refactor(dashboard): replace legacyform components

* refactor(dashboard): remove ng-if and correct typo in content of sharesnapshot

* feat(grafana-ui): set displayName prop for Switch component

* refactor(dashboard): migrate TimePickerSettings legacyform components

* refactor(queryoptions): migrate switch and input to nextgen components

* refactor(sharesnapshot): prefer InlineFieldRow over gf-form-group

* refactor(shareembed): styling fixes

* refactor(timepickersettings): prefer double bang over nullish coalescing operator

* fix(grafana-ui): switch uses id prop if passed in

* feat: connect labels and switches with ids
2020-11-11 14:52:22 +01:00
Jack Westbrook f7a5150d54 Docs: Troubleshoot starting docker containers on Mac (#28754)
* docs(devenv): introduce troubleshooting section about mac osx and logs

* docs(devenv): tidy troubleshooting

* docs(devenv): move troubleshooting  headers up a level and expand on error messge
2020-11-11 14:49:26 +01:00
Jack Westbrook 87ba1b67b7 Dashboard: fix view panel mode for Safari / iOS (#28702)
* fix(dashboard): flex-basis so child height percentages are respected

* fix(dashboard): reset scrollTop when entering view panel mode
2020-11-02 16:52:41 +01:00
Jack Westbrook f519f89103 Migration: Remove LegacyForms from dashboard folder permissions (#28564)
* refactor(permissionlist): replace legacyform components with next-gen equivalents

* refactor(permissionlist): replace legacyform components

* refactor(permissionlist): clean up PermissionsInfo

* feat(grafana-ui): define line-height for Select option descriptions

* refactor(permissionlist): remove debug code

* refactor(permissionlist): simplify component tree with horizontalgroup. Add label

* refactor(permissionlist): remove redundant classname from Select
2020-11-02 12:55:34 +01:00
Jack Westbrook a8a3686785 Grafana/ui: auto focus threshold editor input (#28360)
* feat(grafana-ui): autofocus threshold editor input

* refactor(grafana-ui): remove commented out css

* feat(grafana-ui): use ref for autofocus new thresholds editor input

* refactor(grafana-ui): conditionally set input ref for latest threshold

* refactor(grafana-ui): put back createRef for input ref
2020-10-26 12:21:41 +01:00
Jack Westbrook 04c06f2286 Grafana/ui: pass html attributes to segment (#28316)
* feat(grafana-ui): introduce rest props to segment components

* docs(grafana-ui): add segment stories for html attributes
2020-10-20 14:18:05 +02:00
Jack Westbrook 448114f649 fix: for graph size not taking up full height or width 2020-10-16 12:13:07 +02:00
Jack Westbrook df28cc69b4 fix: prevent graph-panel legend overflowing container (#28254) 2020-10-14 15:39:39 +02:00