Files
grafana/public/app/features/browse-dashboards/components/RestoreModal.tsx
Ashley Harrison 47f8717149 React: Use new JSX transform (#88802)
* update eslint, tsconfig + esbuild to handle new jsx transform

* remove thing that breaks the new jsx transform

* remove react imports

* adjust grafana-icons build

* is this the correct syntax?

* try this

* well this was much easier than expected...

* change grafana-plugin-configs webpack config

* fixes

* fix lockfile

* fix 2 more violations

* use path.resolve instead of require.resolve

* remove react import

* fix react imports

* more fixes

* remove React import

* remove import React from docs

* remove another react import
2024-06-25 12:43:47 +01:00

44 lines
1.3 KiB
TypeScript

import { ConfirmModal, Text } from '@grafana/ui';
import { Trans, t } from '../../../core/internationalization';
export interface Props {
isOpen: boolean;
onConfirm: () => Promise<void>;
onDismiss: () => void;
selectedDashboards: string[];
isLoading: boolean;
}
export const RestoreModal = ({ onConfirm, onDismiss, selectedDashboards, isLoading, ...props }: Props) => {
const numberOfDashboards = selectedDashboards.length;
const onRestore = async () => {
await onConfirm();
onDismiss();
};
return (
<ConfirmModal
body={
<Text element="p">
<Trans i18nKey="recently-deleted.restore-modal.text" count={numberOfDashboards}>
This action will restore {{ numberOfDashboards }} dashboards.
</Trans>
</Text>
// TODO: replace by list of dashboards (list up to 5 dashboards) or number (from 6 dashboards)?
}
confirmText={
isLoading
? t('recently-deleted.restore-modal.restore-loading', 'Restoring...')
: t('recently-deleted.restore-modal.restore-button', 'Restore')
}
confirmButtonVariant="primary"
onDismiss={onDismiss}
onConfirm={onRestore}
title={t('recently-deleted.restore-modal.title', 'Restore Dashboards')}
{...props}
/>
);
};