mirror of
https://github.com/grafana/grafana.git
synced 2025-08-02 03:12:13 +08:00

* mark up and add confirmText to lint rule * mark up and add ariaLabel to lint rule * add confirmText to propertiesToCheck * mark up and add body to propsToCheck * mark up latest * mark up 'Dashboard saved' * mark up filterbyvalue options * mark up tooltip options * mark up and add lint rules for noOptionsMessage/loadingMessage * mark up 'Convert field type' * mark up placeholderText/noOptionsMessage * mark up run query * mark up variable editor fields * mark up week start options * mark up dashboard link options * mark up prom options * mark up builder/code toggles * make CI happy * kick CI
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
import { useEffect } from 'react';
|
|
|
|
import { Trans, t } from '@grafana/i18n';
|
|
import { ConfirmModal } from '@grafana/ui';
|
|
|
|
import { useDashboardRestore } from './useDashboardRestore';
|
|
export interface RevertDashboardModalProps {
|
|
hideModal: () => void;
|
|
id: number;
|
|
version: number;
|
|
}
|
|
|
|
export const RevertDashboardModal = ({ hideModal, id, version }: RevertDashboardModalProps) => {
|
|
// TODO: how should state.error be handled?
|
|
const { state, onRestoreDashboard } = useDashboardRestore(id, version);
|
|
|
|
useEffect(() => {
|
|
if (!state.loading && state.value) {
|
|
hideModal();
|
|
}
|
|
}, [state, hideModal]);
|
|
|
|
return (
|
|
<ConfirmModal
|
|
isOpen={true}
|
|
title={t('dashboard.revert-dashboard-modal.title-restore-version', 'Restore version')}
|
|
icon="history"
|
|
onDismiss={hideModal}
|
|
onConfirm={onRestoreDashboard}
|
|
body={
|
|
<p>
|
|
<Trans i18nKey="dashboard.revert-dashboard-modal.body-restore-version">
|
|
Are you sure you want to restore the dashboard to version {{ version }}? All unsaved changes will be lost.
|
|
</Trans>
|
|
</p>
|
|
}
|
|
confirmText={t(
|
|
'dashboard.revert-dashboard-modal.confirmText-restore-version',
|
|
'Yes, restore to version {{version}}',
|
|
{ version }
|
|
)}
|
|
/>
|
|
);
|
|
};
|