[v11.0.x] DashboardScene: Default hoverHeaderOffset to 0 (#87838)
DashboardScene: Default `hoverHeaderOffset` to 0 (#87561)
* remove hoverHeaderOffsetBehavior and force offset to 0
* force headerHoverOffset in addPanel flow
(cherry picked from commit 5f147644d4)
Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
This commit is contained in:
co-authored by
Sergej-Vlasov
parent
e5237e5ac2
commit
e730ea618b
@@ -66,6 +66,9 @@ export class LibraryVizPanel extends SceneObjectBase<LibraryVizPanelState> {
|
||||
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: [
|
||||
|
||||
@@ -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();
|
||||
};
|
||||
};
|
||||
@@ -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';
|
||||
@@ -471,7 +470,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,
|
||||
|
||||
@@ -505,7 +504,6 @@ export function buildGridItemForPanel(panel: PanelModel): DashboardGridItem {
|
||||
body,
|
||||
maxPerRow: panel.maxPerRow,
|
||||
...repeatOptions,
|
||||
$behaviors: [hoverHeaderOffsetBehavior],
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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],
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user