From 15bb2637f4dbd76a90e0b19344f7647a89364190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Tue, 8 Apr 2025 13:51:16 +0200 Subject: [PATCH] Dashboard: Fixes and tweaks provisioning badge (#103522) * Dashboard: Fixes and tweaks provisioning badge * Update * Update * Update * Update --- .../grafana-ui/src/components/Badge/Badge.tsx | 2 +- .../scene/ManagedDashboardNavBarBadge.tsx | 2 +- .../dashboard-scene/scene/NavToolbarActions.tsx | 17 ----------------- .../scene/new-toolbar/LeftActions.tsx | 5 ++--- .../actions/ManagedDashboardBadge.tsx | 2 +- .../scene/new-toolbar/actions/SaveDashboard.tsx | 5 ++--- .../dashboard-scene/scene/new-toolbar/utils.tsx | 8 -------- public/locales/en-US/grafana.json | 1 - 8 files changed, 7 insertions(+), 35 deletions(-) diff --git a/packages/grafana-ui/src/components/Badge/Badge.tsx b/packages/grafana-ui/src/components/Badge/Badge.tsx index fbb2fecb085..b624944f7e3 100644 --- a/packages/grafana-ui/src/components/Badge/Badge.tsx +++ b/packages/grafana-ui/src/components/Badge/Badge.tsx @@ -16,7 +16,7 @@ import { Tooltip } from '../Tooltip/Tooltip'; export type BadgeColor = 'blue' | 'red' | 'green' | 'orange' | 'purple' | 'darkgrey'; export interface BadgeProps extends HTMLAttributes { - text: React.ReactNode; + text?: React.ReactNode; color: BadgeColor; icon?: IconName; tooltip?: PopoverContent; diff --git a/public/app/features/dashboard-scene/scene/ManagedDashboardNavBarBadge.tsx b/public/app/features/dashboard-scene/scene/ManagedDashboardNavBarBadge.tsx index 6b2303fef1b..3e6761dfed0 100644 --- a/public/app/features/dashboard-scene/scene/ManagedDashboardNavBarBadge.tsx +++ b/public/app/features/dashboard-scene/scene/ManagedDashboardNavBarBadge.tsx @@ -22,5 +22,5 @@ export default function ManagedDashboardNavBarBadge({ meta }: { meta: DashboardM text = `Plugin: ${id}`; break; } - return ; + return ; } diff --git a/public/app/features/dashboard-scene/scene/NavToolbarActions.tsx b/public/app/features/dashboard-scene/scene/NavToolbarActions.tsx index a2a80b4800f..003ea1b438b 100644 --- a/public/app/features/dashboard-scene/scene/NavToolbarActions.tsx +++ b/public/app/features/dashboard-scene/scene/NavToolbarActions.tsx @@ -145,23 +145,6 @@ export function ToolbarActions({ dashboard }: Props) { }); } - const isDevEnv = config.buildInfo.env === 'development'; - - toolbarActions.push({ - group: 'icon-actions', - condition: isDevEnv && uid && isShowingDashboard && !isEditing, - render: () => ( - { - locationService.partial({ scenes: false }); - }} - /> - ), - }); - toolbarActions.push({ group: 'icon-actions', condition: meta.isSnapshot && !isEditing, diff --git a/public/app/features/dashboard-scene/scene/new-toolbar/LeftActions.tsx b/public/app/features/dashboard-scene/scene/new-toolbar/LeftActions.tsx index 2318694ecd9..5c083673521 100644 --- a/public/app/features/dashboard-scene/scene/new-toolbar/LeftActions.tsx +++ b/public/app/features/dashboard-scene/scene/new-toolbar/LeftActions.tsx @@ -9,7 +9,7 @@ import { ManagedDashboardBadge } from './actions/ManagedDashboardBadge'; import { OpenSnapshotOriginButton } from './actions/OpenSnapshotOriginButton'; import { PublicDashboardBadge } from './actions/PublicDashboardBadge'; import { StarButton } from './actions/StarButton'; -import { getDynamicActions, renderActionElements, useIsManagedRepository } from './utils'; +import { getDynamicActions, renderActionElements } from './utils'; export const LeftActions = ({ dashboard }: { dashboard: DashboardScene }) => { const styles = useStyles2(getStyles); @@ -25,7 +25,6 @@ export const LeftActions = ({ dashboard }: { dashboard: DashboardScene }) => { const canStar = Boolean(meta.canStar); const isSnapshot = Boolean(meta.isSnapshot); const isShowingDashboard = !hasEditView && !isViewingPanel && !isEditingPanel; - const isManagedRepository = useIsManagedRepository(dashboard); const elements = renderActionElements( [ @@ -47,7 +46,7 @@ export const LeftActions = ({ dashboard }: { dashboard: DashboardScene }) => { key: 'managed-dashboard-badge', component: ManagedDashboardBadge, group: 'actions', - condition: isManagedRepository && canEdit, + condition: dashboard.isManaged() && canEdit, }, { key: 'open-snapshot-origin-button', diff --git a/public/app/features/dashboard-scene/scene/new-toolbar/actions/ManagedDashboardBadge.tsx b/public/app/features/dashboard-scene/scene/new-toolbar/actions/ManagedDashboardBadge.tsx index a795fa60a03..ddcafb6dca8 100644 --- a/public/app/features/dashboard-scene/scene/new-toolbar/actions/ManagedDashboardBadge.tsx +++ b/public/app/features/dashboard-scene/scene/new-toolbar/actions/ManagedDashboardBadge.tsx @@ -27,5 +27,5 @@ export const ManagedDashboardBadge = ({ dashboard }: ToolbarActionProps) => { break; } - return ; + return ; }; diff --git a/public/app/features/dashboard-scene/scene/new-toolbar/actions/SaveDashboard.tsx b/public/app/features/dashboard-scene/scene/new-toolbar/actions/SaveDashboard.tsx index 3600add803f..d4d7e69474c 100644 --- a/public/app/features/dashboard-scene/scene/new-toolbar/actions/SaveDashboard.tsx +++ b/public/app/features/dashboard-scene/scene/new-toolbar/actions/SaveDashboard.tsx @@ -4,13 +4,12 @@ import { t, Trans } from 'app/core/internationalization'; import { contextSrv } from 'app/core/services/context_srv'; import { ToolbarActionProps } from '../types'; -import { useIsManagedRepository } from '../utils'; export const SaveDashboard = ({ dashboard }: ToolbarActionProps) => { const { meta, isDirty, uid } = dashboard.state; const isNew = !Boolean(uid || dashboard.isManaged()); - const isManagedRepository = useIsManagedRepository(dashboard); + const isManaged = dashboard.isManaged(); // if we only can save if (isNew) { @@ -28,7 +27,7 @@ export const SaveDashboard = ({ dashboard }: ToolbarActionProps) => { } // If we only can save as copy - if (contextSrv.hasEditPermissionInFolders && !meta.canSave && !meta.canMakeEditable && !isManagedRepository) { + if (contextSrv.hasEditPermissionInFolders && !meta.canSave && !meta.canMakeEditable && !isManaged) { return (