import React, { FC } from 'react'; import { Icon, ModalsController } from '@grafana/ui'; import { RowOptionsModal } from './RowOptionsModal'; import { OnRowOptionsUpdate } from './RowOptionsForm'; export interface RowOptionsButtonProps { title: string | null; repeat: string | null | undefined; onUpdate: OnRowOptionsUpdate; } export const RowOptionsButton: FC = ({ repeat, title, onUpdate }) => { const onUpdateChange = (hideModal: () => void) => (title: string | null, repeat: string | null) => { onUpdate(title, repeat); hideModal(); }; return ( {({ showModal, hideModal }) => { return ( { showModal(RowOptionsModal, { title, repeat, onDismiss: hideModal, onUpdate: onUpdateChange(hideModal) }); }} > ); }} ); }; RowOptionsButton.displayName = 'RowOptionsButton';