diff --git a/public/app/features/dashboard-scene/scene/LibraryVizPanel.tsx b/public/app/features/dashboard-scene/scene/LibraryVizPanel.tsx index 266eae58326..2756a632cfb 100644 --- a/public/app/features/dashboard-scene/scene/LibraryVizPanel.tsx +++ b/public/app/features/dashboard-scene/scene/LibraryVizPanel.tsx @@ -65,6 +65,9 @@ export class LibraryVizPanel extends SceneObjectBase { pluginVersion: libPanelModel.pluginVersion, displayMode: libPanelModel.transparent ? 'transparent' : undefined, description: libPanelModel.description, + // To be replaced with it's own option persisted option instead derived + hoverHeader: !libPanelModel.title && !libPanelModel.timeFrom && !libPanelModel.timeShift, + hoverHeaderOffset: 0, $data: createPanelDataProvider(libPanelModel), menu: new VizPanelMenu({ $behaviors: [panelMenuBehavior] }), titleItems: [ diff --git a/public/app/features/dashboard-scene/scene/hoverHeaderOffsetBehavior.ts b/public/app/features/dashboard-scene/scene/hoverHeaderOffsetBehavior.ts deleted file mode 100644 index 9a8df0480ea..00000000000 --- a/public/app/features/dashboard-scene/scene/hoverHeaderOffsetBehavior.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { VizPanel } from '@grafana/scenes'; - -import { DashboardGridItem } from './DashboardGridItem'; - -export const hoverHeaderOffsetBehavior = (grid: DashboardGridItem) => { - const sub = grid.subscribeToState((newState, prevState) => { - if ([newState.y, prevState.y].includes(0) && newState.y !== prevState.y) { - grid.forEachChild((child) => { - if (child instanceof VizPanel && child.state.hoverHeader) { - child.setState({ hoverHeaderOffset: grid.state.y === 0 ? 0 : undefined }); - } - }); - } - }); - return () => { - sub.unsubscribe(); - }; -}; diff --git a/public/app/features/dashboard-scene/serialization/transformSaveModelToScene.ts b/public/app/features/dashboard-scene/serialization/transformSaveModelToScene.ts index ad33a4299dd..d460614330d 100644 --- a/public/app/features/dashboard-scene/serialization/transformSaveModelToScene.ts +++ b/public/app/features/dashboard-scene/serialization/transformSaveModelToScene.ts @@ -45,7 +45,6 @@ import { panelLinksBehavior, panelMenuBehavior } from '../scene/PanelMenuBehavio import { PanelNotices } from '../scene/PanelNotices'; import { PanelTimeRange } from '../scene/PanelTimeRange'; import { RowRepeaterBehavior } from '../scene/RowRepeaterBehavior'; -import { hoverHeaderOffsetBehavior } from '../scene/hoverHeaderOffsetBehavior'; import { RowActions } from '../scene/row-actions/RowActions'; import { setDashboardPanelContext } from '../scene/setDashboardPanelContext'; import { createPanelDataProvider } from '../utils/createPanelDataProvider'; @@ -472,7 +471,7 @@ export function buildGridItemForPanel(panel: PanelModel): DashboardGridItem { displayMode: panel.transparent ? 'transparent' : undefined, // To be replaced with it's own option persited option instead derived hoverHeader: !panel.title && !panel.timeFrom && !panel.timeShift, - hoverHeaderOffset: (panel.gridPos?.y ?? 0) === 0 ? 0 : undefined, + hoverHeaderOffset: 0, $data: createPanelDataProvider(panel), titleItems, @@ -506,7 +505,6 @@ export function buildGridItemForPanel(panel: PanelModel): DashboardGridItem { body, maxPerRow: panel.maxPerRow, ...repeatOptions, - $behaviors: [hoverHeaderOffsetBehavior], }); } diff --git a/public/app/features/dashboard-scene/utils/utils.ts b/public/app/features/dashboard-scene/utils/utils.ts index 16f6eac8b90..105a0844e6d 100644 --- a/public/app/features/dashboard-scene/utils/utils.ts +++ b/public/app/features/dashboard-scene/utils/utils.ts @@ -229,6 +229,7 @@ export function getDefaultVizPanel(dashboard: DashboardScene): VizPanel { key: getVizPanelKeyForPanelId(panelId), pluginId: 'timeseries', titleItems: [new VizPanelLinks({ menu: new VizPanelLinksMenu({}) })], + hoverHeaderOffset: 0, menu: new VizPanelMenu({ $behaviors: [panelMenuBehavior], }),