mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 10:03:33 -06:00
31 lines
942 B
TypeScript
31 lines
942 B
TypeScript
import React from 'react';
|
|
import { ConfirmModal } from '@grafana/ui';
|
|
|
|
import { PanelModel } from '../../../dashboard/state';
|
|
import { isPanelModelLibraryPanel } from '../../guard';
|
|
|
|
export interface ChangeLibraryPanelModalProps {
|
|
panel: PanelModel;
|
|
onConfirm: () => void;
|
|
onDismiss: () => void;
|
|
}
|
|
|
|
export const ChangeLibraryPanelModal = ({ onConfirm, onDismiss, panel }: ChangeLibraryPanelModalProps): JSX.Element => {
|
|
const isLibraryPanel = isPanelModelLibraryPanel(panel);
|
|
const title = `${isLibraryPanel ? 'Changing' : 'Replace with'} library panel`;
|
|
const body = `${
|
|
isLibraryPanel ? 'Changing' : 'Replacing with a'
|
|
} library panel will remove any changes since last save.`;
|
|
return (
|
|
<ConfirmModal
|
|
onConfirm={onConfirm}
|
|
onDismiss={onDismiss}
|
|
confirmText={isLibraryPanel ? 'Change' : 'Replace'}
|
|
title={title}
|
|
body={body}
|
|
dismissText="Cancel"
|
|
isOpen={true}
|
|
/>
|
|
);
|
|
};
|