From 758d1386cdac81c45f8c4b66143a808514be54d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Tue, 9 Feb 2021 20:41:07 +0100 Subject: [PATCH] DashboardSettings: Update to new form styles (#31022) * DashboardSettings: Update to new form styles * Improve header margin and fixing issue in permissions tab * Updated * Switch to radio * Remove unused import --- .../Collapse/CollapsableSection.tsx | 1 + .../grafana-ui/src/components/Forms/Field.tsx | 2 +- .../src/components/TagsInput/TagItem.tsx | 4 +- .../DashboardPermissions.tsx | 20 +++--- .../AutoRefreshIntervals.tsx | 25 ++++--- .../DashboardSettings/GeneralSettings.tsx | 72 +++++++++++-------- .../DashboardSettings/TimePickerSettings.tsx | 67 ++++++++--------- .../sass/components/_dashboard_settings.scss | 3 +- 8 files changed, 98 insertions(+), 96 deletions(-) diff --git a/packages/grafana-ui/src/components/Collapse/CollapsableSection.tsx b/packages/grafana-ui/src/components/Collapse/CollapsableSection.tsx index 07ceb023fe6..c19b92621ce 100644 --- a/packages/grafana-ui/src/components/Collapse/CollapsableSection.tsx +++ b/packages/grafana-ui/src/components/Collapse/CollapsableSection.tsx @@ -37,6 +37,7 @@ const collapsableSectionStyles = (theme: GrafanaTheme) => { display: flex; justify-content: space-between; font-size: ${theme.typography.size.lg}; + line-height: ${theme.spacing.base * 5}px; cursor: pointer; `, headerCollapsed: css` diff --git a/packages/grafana-ui/src/components/Forms/Field.tsx b/packages/grafana-ui/src/components/Forms/Field.tsx index 1bbb68a1b25..8b4fe85b0f7 100644 --- a/packages/grafana-ui/src/components/Forms/Field.tsx +++ b/packages/grafana-ui/src/components/Forms/Field.tsx @@ -21,7 +21,7 @@ export interface FieldProps extends HTMLAttributes { /** Indicates if field is required */ required?: boolean; /** Error message to display */ - error?: string; + error?: string | null; /** Indicates horizontal layout of the field */ horizontal?: boolean; className?: string; diff --git a/packages/grafana-ui/src/components/TagsInput/TagItem.tsx b/packages/grafana-ui/src/components/TagsInput/TagItem.tsx index b290d2550b3..59b8ca36178 100644 --- a/packages/grafana-ui/src/components/TagsInput/TagItem.tsx +++ b/packages/grafana-ui/src/components/TagsInput/TagItem.tsx @@ -25,7 +25,7 @@ const getStyles = stylesFactory(({ theme, name }: { theme: GrafanaTheme; name: s white-space: nowrap; text-shadow: none; font-weight: 500; - line-height: 14px; + font-size: ${theme.typography.size.sm}; display: flex; align-items: center; `, @@ -43,7 +43,7 @@ export const TagItem: FC = ({ name, onRemove }) => { return (
{name} - onRemove(name)} /> + onRemove(name)} />
); }; diff --git a/public/app/features/dashboard/components/DashboardPermissions/DashboardPermissions.tsx b/public/app/features/dashboard/components/DashboardPermissions/DashboardPermissions.tsx index 91419accac6..f0005e27bff 100644 --- a/public/app/features/dashboard/components/DashboardPermissions/DashboardPermissions.tsx +++ b/public/app/features/dashboard/components/DashboardPermissions/DashboardPermissions.tsx @@ -94,17 +94,15 @@ export class DashboardPermissionsUnconnected extends PureComponent
You have changed folder, please save to view permissions.
) : (
-
-
-

Permissions

- }> - - -
- -
+
+

Permissions

+ }> + + +
+
diff --git a/public/app/features/dashboard/components/DashboardSettings/AutoRefreshIntervals.tsx b/public/app/features/dashboard/components/DashboardSettings/AutoRefreshIntervals.tsx index 5e9f6e54561..352754219bb 100644 --- a/public/app/features/dashboard/components/DashboardSettings/AutoRefreshIntervals.tsx +++ b/public/app/features/dashboard/components/DashboardSettings/AutoRefreshIntervals.tsx @@ -1,5 +1,5 @@ import React, { FC, useCallback, useEffect, useMemo, useState } from 'react'; -import { Input, Tooltip, defaultIntervals } from '@grafana/ui'; +import { Input, defaultIntervals, Field } from '@grafana/ui'; import { getTimeSrv } from '../../services/TimeSrv'; @@ -56,16 +56,19 @@ export const AutoRefreshIntervals: FC = ({ ); return ( -
- - {invalidIntervalsMessage ? ( - - - - ) : ( - - )} -
+ + + ); }; diff --git a/public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx b/public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx index 90692636244..1a408e50943 100644 --- a/public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx +++ b/public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx @@ -1,6 +1,6 @@ import React, { useState } from 'react'; import { SelectableValue, TimeZone } from '@grafana/data'; -import { Select, InlineSwitch, TagsInput, InlineField, Input } from '@grafana/ui'; +import { Select, TagsInput, Input, Field, CollapsableSection, RadioButtonGroup } from '@grafana/ui'; import { selectors } from '@grafana/e2e-selectors'; import { FolderPicker } from 'app/core/components/Select/FolderPicker'; import { DashboardModel } from '../../state/DashboardModel'; @@ -57,41 +57,50 @@ export const GeneralSettings: React.FC = ({ dashboard }) => { dashboard.tags = tags; }; - const onEditableChange = (ev: React.FormEvent) => { - dashboard.editable = ev.currentTarget.checked; + const onEditableChange = (value: boolean) => { + dashboard.editable = value; setRenderCounter(renderCounter + 1); }; + const editableOptions = [ + { label: 'Editable', value: true }, + { label: 'Read-only', value: false }, + ]; + return ( - <> +

General

- - - - - - - + + + + + + + - - - + + + + + - - + +
+ = ({ dashboard }) => { timezone={dashboard.timezone} /> -
Panel Options
-
- + + - -
- -
- - - -
-
-
+ + + + + + + + + ); } } diff --git a/public/sass/components/_dashboard_settings.scss b/public/sass/components/_dashboard_settings.scss index 6d46a7c469f..1305d799b7a 100644 --- a/public/sass/components/_dashboard_settings.scss +++ b/public/sass/components/_dashboard_settings.scss @@ -52,8 +52,7 @@ .dashboard-settings__header { font-size: $font-size-h3; - margin-bottom: $space-xl; - line-height: 36px; + margin-bottom: $space-md; } .dashboard-settings__subheader {