@@ -7,6 +7,7 @@ import { Icon, useStyles2, ClickOutsideWrapper } from '@grafana/ui';
7
7
import { DashboardModel } from 'app/features/dashboard/state/DashboardModel' ;
8
8
import { PanelModel } from 'app/features/dashboard/state/PanelModel' ;
9
9
import { getPanelLinksSupplier } from 'app/features/panel/panellinks/linkSuppliers' ;
10
+ import { StoreState , useSelector } from 'app/types' ;
10
11
11
12
import PanelHeaderCorner from './PanelHeaderCorner' ;
12
13
import { PanelHeaderLoadingIndicator } from './PanelHeaderLoadingIndicator' ;
@@ -28,6 +29,15 @@ export interface Props {
28
29
}
29
30
30
31
export const PanelHeader : FC < Props > = ( { panel, error, isViewing, isEditing, data, alertState, dashboard } ) => {
32
+
33
+ const isFnDashboard = useSelector ( ( state : StoreState ) => {
34
+ const {
35
+ fnGlobalState : { FNDashboard } ,
36
+ } = state ;
37
+
38
+ return FNDashboard ;
39
+ } ) ;
40
+
31
41
const onCancelQuery = ( ) => panel . getQueryRunner ( ) . cancelQuery ( ) ;
32
42
const title = panel . getDisplayTitle ( ) ;
33
43
const className = cx ( 'panel-header' , ! ( isViewing || isEditing ) ? 'grid-drag-handle' : '' ) ;
@@ -44,7 +54,7 @@ export const PanelHeader: FC<Props> = ({ panel, error, isViewing, isEditing, dat
44
54
links = { getPanelLinksSupplier ( panel ) }
45
55
error = { error }
46
56
/>
47
- < div className = { className } >
57
+ < div className = { [ className , isFnDashboard ? styles . fnPanelHeader : "" ] . filter ( Boolean ) . join ( " " ) } >
48
58
< PanelHeaderMenuTrigger data-testid = { selectors . components . Panels . Panel . title ( title ) } >
49
59
{ ( { closeMenu, panelMenuOpen } ) => {
50
60
return (
@@ -60,14 +70,16 @@ export const PanelHeader: FC<Props> = ({ panel, error, isViewing, isEditing, dat
60
70
/>
61
71
) : null }
62
72
< h2 className = { styles . titleText } > { title } </ h2 >
63
- { ! dashboard . meta . publicDashboardAccessToken && (
64
- < div data-testid = "panel-dropdown" >
65
- < Icon name = "angle-down" className = "panel-menu-toggle" />
66
- { panelMenuOpen ? (
67
- < PanelHeaderMenuWrapper panel = { panel } dashboard = { dashboard } onClose = { closeMenu } />
68
- ) : null }
69
- </ div >
70
- ) }
73
+ { isFnDashboard
74
+ ? null
75
+ : ! dashboard . meta . publicDashboardAccessToken && (
76
+ < div data-testid = "panel-dropdown" >
77
+ < Icon name = "angle-down" className = "panel-menu-toggle" />
78
+ { panelMenuOpen ? (
79
+ < PanelHeaderMenuWrapper panel = { panel } dashboard = { dashboard } onClose = { closeMenu } />
80
+ ) : null }
81
+ </ div >
82
+ ) }
71
83
{ data . request && data . request . timeInfo && (
72
84
< span className = "panel-time-info" >
73
85
< Icon name = "clock-nine" size = "sm" /> { data . request . timeInfo }
@@ -85,6 +97,12 @@ export const PanelHeader: FC<Props> = ({ panel, error, isViewing, isEditing, dat
85
97
86
98
const panelStyles = ( theme : GrafanaTheme2 ) => {
87
99
return {
100
+ fnPanelHeader : css `
101
+ & : hover {
102
+ background-color : initial!important ;
103
+ cursor : default!important ;
104
+ }
105
+ ` ,
88
106
titleText : css `
89
107
text-overflow : ellipsis;
90
108
overflow : hidden;
0 commit comments