From f5beba103649795323042402ff0a9cc97e08d1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 3 Apr 2025 16:21:26 +0200 Subject: [PATCH] PanelEdit: Options pane design tweaks (#103331) * PanelEdit: Options pane design tweaks * Added translations * Fixed * Update --- .../edit-pane/DashboardEditPane.tsx | 1 + .../panel-edit/PanelEditorRenderer.tsx | 3 + .../panel-edit/PanelOptionsPane.tsx | 105 ++++++++++-------- public/locales/en-US/grafana.json | 8 +- 4 files changed, 69 insertions(+), 48 deletions(-) diff --git a/public/app/features/dashboard-scene/edit-pane/DashboardEditPane.tsx b/public/app/features/dashboard-scene/edit-pane/DashboardEditPane.tsx index cb470c80b47..e2b7da6b4a2 100644 --- a/public/app/features/dashboard-scene/edit-pane/DashboardEditPane.tsx +++ b/public/app/features/dashboard-scene/edit-pane/DashboardEditPane.tsx @@ -311,6 +311,7 @@ function getStyles(theme: GrafanaTheme2) { borderLeft: `1px solid ${theme.colors.border.weak}`, borderTop: `1px solid ${theme.colors.border.weak}`, background: theme.colors.background.primary, + borderTopLeftRadius: theme.shape.radius.default, }), overlayWrapper: css({ right: 0, diff --git a/public/app/features/dashboard-scene/panel-edit/PanelEditorRenderer.tsx b/public/app/features/dashboard-scene/panel-edit/PanelEditorRenderer.tsx index f1876b96671..3bab0bc8abe 100644 --- a/public/app/features/dashboard-scene/panel-edit/PanelEditorRenderer.tsx +++ b/public/app/features/dashboard-scene/panel-edit/PanelEditorRenderer.tsx @@ -207,6 +207,9 @@ function getStyles(theme: GrafanaTheme2) { flexDirection: 'column', borderLeft: `1px solid ${theme.colors.border.weak}`, background: theme.colors.background.primary, + marginTop: theme.spacing(2), + borderTop: `1px solid ${theme.colors.border.weak}`, + borderTopLeftRadius: theme.shape.radius.default, }), expandOptionsWrapper: css({ display: 'flex', diff --git a/public/app/features/dashboard-scene/panel-edit/PanelOptionsPane.tsx b/public/app/features/dashboard-scene/panel-edit/PanelOptionsPane.tsx index cd5e2d4d8d2..e645ec5ca05 100644 --- a/public/app/features/dashboard-scene/panel-edit/PanelOptionsPane.tsx +++ b/public/app/features/dashboard-scene/panel-edit/PanelOptionsPane.tsx @@ -1,5 +1,6 @@ import { css } from '@emotion/css'; import { useMemo } from 'react'; +import { useToggle } from 'react-use'; import { FieldConfigSource, @@ -22,16 +23,7 @@ import { VizPanel, sceneGraph, } from '@grafana/scenes'; -import { - Button, - Card, - FilterInput, - RadioButtonGroup, - ScrollContainer, - Stack, - ToolbarButton, - useStyles2, -} from '@grafana/ui'; +import { Button, Card, FilterInput, ScrollContainer, Stack, ToolbarButton, useStyles2, Field } from '@grafana/ui'; import { Trans, t } from 'app/core/internationalization'; import { OptionFilter } from 'app/features/dashboard/components/PanelEditor/OptionsPaneOptions'; import { getPanelPluginNotFound } from 'app/features/panel/components/PanelPluginError'; @@ -139,25 +131,52 @@ export class PanelOptionsPane extends SceneObjectBase { const styles = useStyles2(getStyles); const isAngularPanel = isUsingAngularPanelPlugin(panel); const isSearching = searchQuery.length > 0; - const showSearchRadioButtons = !isSearching && !panel.getPlugin()?.fieldConfigRegistry.isEmpty(); + const hasFieldConfig = !isSearching && !panel.getPlugin()?.fieldConfigRegistry.isEmpty(); + const [isSearchingOptions, setIsSearchingOptions] = useToggle(false); + const onlyOverrides = listMode === OptionFilter.Overrides; + return ( <> {!isVizPickerOpen && ( <>
- - - {showSearchRadioButtons && ( - + + +
@@ -217,7 +236,7 @@ function getStyles(theme: GrafanaTheme2) { top: css({ display: 'flex', flexDirection: 'column', - padding: theme.spacing(2, 1), + padding: theme.spacing(1, 2, 2, 2), gap: theme.spacing(2), }), searchOptions: css({ @@ -227,7 +246,7 @@ function getStyles(theme: GrafanaTheme2) { padding: theme.spacing(2, 2, 2, 0), }), vizField: css({ - marginBottom: theme.spacing(1), + marginBottom: theme.spacing(0), }), rotateIcon: css({ rotate: '180deg', @@ -260,24 +279,22 @@ export function VisualizationButton({ pluginId, onOpen }: VisualizationButtonPro } return ( - - - {pluginMeta.name} - - + + {pluginMeta.name} + ); } diff --git a/public/locales/en-US/grafana.json b/public/locales/en-US/grafana.json index beb46edc937..e7a50db4398 100644 --- a/public/locales/en-US/grafana.json +++ b/public/locales/en-US/grafana.json @@ -1807,7 +1807,10 @@ "alerting-tab": { "dashboard-not-saved": "Dashboard must be saved before alerts can be added.", "no-rules": "There are no alert rules linked to this panel." - } + }, + "only-overrides-button-tooltip": "Show only overrides", + "placeholder-search-options": "Search options", + "visualization-button-label": "Visualization" }, "panel-editor-table-view": { "title-raw-data": "Raw data" @@ -2340,9 +2343,6 @@ "panel-inspect-renderer": { "title-panel-plugin-not-loaded": "Panel plugin not loaded" }, - "panel-options-pane": { - "placeholder-search-options": "Search options" - }, "panel-viz-type-picker": { "placeholder-search-for": "Search for...", "title-close": "Close"