mirror of
https://github.com/grafana/grafana.git
synced 2025-08-01 00:02:33 +08:00

* i18n: removes useTranslate hook * chore: fix duplicate imports * chore: fix import sorting and hook dependencies
39 lines
983 B
TypeScript
39 lines
983 B
TypeScript
import { css } from '@emotion/css';
|
|
import * as React from 'react';
|
|
|
|
import { t } from '@grafana/i18n';
|
|
import { Modal, useStyles2 } from '@grafana/ui';
|
|
|
|
import { OnRowOptionsUpdate, RowOptionsForm } from './RowOptionsForm';
|
|
|
|
export interface RowOptionsModalProps {
|
|
title: string;
|
|
repeat?: string;
|
|
warning?: React.ReactNode;
|
|
onDismiss: () => void;
|
|
onUpdate: OnRowOptionsUpdate;
|
|
}
|
|
|
|
export const RowOptionsModal = ({ repeat, title, onDismiss, onUpdate, warning }: RowOptionsModalProps) => {
|
|
const styles = useStyles2(getStyles);
|
|
|
|
return (
|
|
<Modal
|
|
isOpen={true}
|
|
title={t('dashboard.row-options-modal.title-row-options', 'Row options')}
|
|
icon="copy"
|
|
onDismiss={onDismiss}
|
|
className={styles.modal}
|
|
>
|
|
<RowOptionsForm repeat={repeat} title={title} onCancel={onDismiss} onUpdate={onUpdate} warning={warning} />
|
|
</Modal>
|
|
);
|
|
};
|
|
|
|
const getStyles = () => ({
|
|
modal: css({
|
|
label: 'RowOptionsModal',
|
|
width: '500px',
|
|
}),
|
|
});
|