Files
grafana/public/app/features/dashboard-scene/scene/row-actions/RowOptionsModal.tsx
Victor Marin 9c22a6144e Scenes: Row controls (#83607)
* wip row controls

* wip row repeats

* wip

* wip

* row repeat functional

* refactor

* refactor to reuse RepeatRowSelect2

* refactor + tests

* remove comment

* refactor
2024-03-11 12:34:40 +02:00

41 lines
990 B
TypeScript

import { css } from '@emotion/css';
import React from 'react';
import { SceneObject } from '@grafana/scenes';
import { Modal, useStyles2 } from '@grafana/ui';
import { OnRowOptionsUpdate, RowOptionsForm } from './RowOptionsForm';
export interface RowOptionsModalProps {
title: string;
repeat?: string;
parent: SceneObject;
warning?: React.ReactNode;
onDismiss: () => void;
onUpdate: OnRowOptionsUpdate;
}
export const RowOptionsModal = ({ repeat, title, parent, onDismiss, onUpdate, warning }: RowOptionsModalProps) => {
const styles = useStyles2(getStyles);
return (
<Modal isOpen={true} title="Row options" onDismiss={onDismiss} className={styles.modal}>
<RowOptionsForm
parent={parent}
repeat={repeat}
title={title}
onCancel={onDismiss}
onUpdate={onUpdate}
warning={warning}
/>
</Modal>
);
};
const getStyles = () => ({
modal: css({
label: 'RowOptionsModal',
width: '500px',
}),
});