diff --git a/public/app/features/dashboard-scene/scene/layout-tabs/TabItemRenderer.tsx b/public/app/features/dashboard-scene/scene/layout-tabs/TabItemRenderer.tsx index 68c8c33553f..5b2d1c8bfec 100644 --- a/public/app/features/dashboard-scene/scene/layout-tabs/TabItemRenderer.tsx +++ b/public/app/features/dashboard-scene/scene/layout-tabs/TabItemRenderer.tsx @@ -4,7 +4,7 @@ import { useLocation } from 'react-router'; import { locationUtil, textUtil } from '@grafana/data'; import { SceneComponentProps, sceneGraph } from '@grafana/scenes'; -import { Tab, useElementSelection, usePointerDistance, useStyles2 } from '@grafana/ui'; +import { Box, Icon, Tab, Tooltip, useElementSelection, usePointerDistance, useStyles2 } from '@grafana/ui'; import { t } from 'app/core/internationalization'; import { useIsConditionallyHidden } from '../../conditional-rendering/useIsConditionallyHidden'; @@ -66,6 +66,7 @@ export function TabItemRenderer({ model }: SceneComponentProps) { )} active={isActive} title={titleInterpolated} + suffix={isConditionallyHidden ? IsHiddenSuffix : undefined} href={href} aria-selected={isActive} onPointerDown={(evt) => { @@ -91,6 +92,21 @@ export function TabItemRenderer({ model }: SceneComponentProps) { ); } +function IsHiddenSuffix() { + return ( + + + + ); +} + const getStyles = () => ({ dragging: css({ cursor: 'move', diff --git a/public/app/features/dashboard-scene/scene/layout-tabs/TabsLayoutManagerRenderer.tsx b/public/app/features/dashboard-scene/scene/layout-tabs/TabsLayoutManagerRenderer.tsx index 291fa71d981..88ab745a2f8 100644 --- a/public/app/features/dashboard-scene/scene/layout-tabs/TabsLayoutManagerRenderer.tsx +++ b/public/app/features/dashboard-scene/scene/layout-tabs/TabsLayoutManagerRenderer.tsx @@ -1,4 +1,4 @@ -import { css } from '@emotion/css'; +import { css, cx } from '@emotion/css'; import { DragDropContext, Droppable } from '@hello-pangea/dnd'; import { GrafanaTheme2 } from '@grafana/data'; @@ -68,12 +68,10 @@ export function TabsLayoutManagerRenderer({ model }: SceneComponentProps {isEditing && ( -
- - {currentTab && } - + + {currentTab && } {conditionalRenderingOverlay} -
+ )} {!isEditing && ( @@ -115,6 +113,7 @@ const getStyles = (theme: GrafanaTheme2) => ({ }), tabContentContainer: css({ backgroundColor: 'transparent', + position: 'relative', display: 'flex', flexDirection: 'column', flex: 1,