2023-01-12 03:10:09 -06:00
|
|
|
import React from 'react';
|
|
|
|
|
|
|
|
import { LoadingState } from '@grafana/data';
|
2022-04-22 08:33:13 -05:00
|
|
|
|
2021-02-08 23:05:34 -06:00
|
|
|
import { DashboardModel, PanelModel } from '../../state';
|
|
|
|
|
2023-02-23 22:23:56 -06:00
|
|
|
import { PanelHeaderMenu, PanelHeaderMenuNew } from './PanelHeaderMenu';
|
2022-04-22 08:33:13 -05:00
|
|
|
import { PanelHeaderMenuProvider } from './PanelHeaderMenuProvider';
|
|
|
|
|
2021-02-08 23:05:34 -06:00
|
|
|
interface Props {
|
|
|
|
panel: PanelModel;
|
|
|
|
dashboard: DashboardModel;
|
2023-01-12 03:10:09 -06:00
|
|
|
loadingState?: LoadingState;
|
|
|
|
style?: React.CSSProperties;
|
2023-02-02 11:53:18 -06:00
|
|
|
menuItemsClassName?: string;
|
|
|
|
menuWrapperClassName?: string;
|
2021-02-08 23:05:34 -06:00
|
|
|
}
|
|
|
|
|
2023-02-02 11:53:18 -06:00
|
|
|
export function PanelHeaderMenuWrapper({
|
|
|
|
panel,
|
|
|
|
dashboard,
|
|
|
|
loadingState,
|
2023-02-23 22:23:56 -06:00
|
|
|
style,
|
2023-02-02 11:53:18 -06:00
|
|
|
menuItemsClassName,
|
|
|
|
menuWrapperClassName,
|
|
|
|
}: Props) {
|
2021-02-08 23:05:34 -06:00
|
|
|
return (
|
2023-01-12 03:10:09 -06:00
|
|
|
<PanelHeaderMenuProvider panel={panel} dashboard={dashboard} loadingState={loadingState}>
|
2023-02-02 11:53:18 -06:00
|
|
|
{({ items }) => (
|
|
|
|
<PanelHeaderMenu
|
|
|
|
className={menuWrapperClassName}
|
|
|
|
itemsClassName={menuItemsClassName}
|
|
|
|
style={style}
|
|
|
|
items={items}
|
|
|
|
/>
|
|
|
|
)}
|
2022-07-06 02:33:25 -05:00
|
|
|
</PanelHeaderMenuProvider>
|
2021-02-08 23:05:34 -06:00
|
|
|
);
|
2023-01-12 03:10:09 -06:00
|
|
|
}
|
2023-02-23 22:23:56 -06:00
|
|
|
|
|
|
|
export function PanelHeaderMenuWrapperNew({ style, panel, dashboard, loadingState }: Props) {
|
|
|
|
return (
|
|
|
|
<PanelHeaderMenuProvider panel={panel} dashboard={dashboard} loadingState={loadingState}>
|
|
|
|
{({ items }) => <PanelHeaderMenuNew style={style} items={items} />}
|
|
|
|
</PanelHeaderMenuProvider>
|
|
|
|
);
|
|
|
|
}
|