import React, { Suspense } from 'react';
import { Icon, Tooltip } from '@grafana/ui';
import { FuncInstance } from '../gfunc';
export interface FunctionEditorControlsProps {
onMoveLeft: (func: FuncInstance) => void;
onMoveRight: (func: FuncInstance) => void;
onRemove: (func: FuncInstance) => void;
}
const FunctionDescription = React.lazy(async () => {
return {
default(props: { description?: string }) {
return
{props.description}
;
},
};
});
const FunctionHelpButton = (props: { description?: string; name: string }) => {
if (props.description) {
let tooltip = (
Loading description...}>
);
return (
);
}
return (
{
window.open(
'http://graphite.readthedocs.org/en/latest/functions.html#graphite.render.functions.' + props.name,
'_blank'
);
}}
/>
);
};
export const FunctionEditorControls = (
props: FunctionEditorControlsProps & {
func: FuncInstance;
}
) => {
const { func, onMoveLeft, onMoveRight, onRemove } = props;
return (
onMoveLeft(func)} />
onRemove(func)} />
onMoveRight(func)} />
);
};