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