mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 10:03:33 -06:00
* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
35 lines
959 B
TypeScript
35 lines
959 B
TypeScript
import React, { useEffect } from 'react';
|
|
|
|
import { ConfirmModal } from '@grafana/ui';
|
|
|
|
import { useDashboardRestore } from './useDashboardRestore';
|
|
export interface RevertDashboardModalProps {
|
|
hideModal: () => void;
|
|
version: number;
|
|
}
|
|
|
|
export const RevertDashboardModal: React.FC<RevertDashboardModalProps> = ({ hideModal, version }) => {
|
|
// TODO: how should state.error be handled?
|
|
const { state, onRestoreDashboard } = useDashboardRestore(version);
|
|
|
|
useEffect(() => {
|
|
if (state.loading === false && state.value) {
|
|
hideModal();
|
|
}
|
|
}, [state, hideModal]);
|
|
|
|
return (
|
|
<ConfirmModal
|
|
isOpen={true}
|
|
title="Restore Version"
|
|
icon="history"
|
|
onDismiss={hideModal}
|
|
onConfirm={onRestoreDashboard}
|
|
body={
|
|
<p>Are you sure you want to restore the dashboard to version {version}? All unsaved changes will be lost.</p>
|
|
}
|
|
confirmText={`Yes, restore to version ${version}`}
|
|
/>
|
|
);
|
|
};
|