import { snackbarActions, SnackbarKind } from "../snackbar/snackbar-actions";
import { resourcesActions } from "../resources/resources-actions";
import { navigateTo } from "../navigation/navigation-action";
+import { dialogActions } from "../dialog/dialog-actions";
-export const recoverVersion = (resourceUuid: string) =>
+export const COLLECTION_RESTORE_VERSION_DIALOG = 'collectionRestoreVersionDialog';
+
+export const openRestoreCollectionVersionDialog = (uuid: string) =>
+ (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+ dispatch(dialogActions.OPEN_DIALOG({
+ id: COLLECTION_RESTORE_VERSION_DIALOG,
+ data: {
+ title: 'Restore version',
+ text: "This will copy the content of the selected version to the head. To make a new collection with the content of the selected version, use 'Make a copy' instead.",
+ confirmButtonLabel: 'Restore',
+ uuid
+ }
+ }));
+ };
+
+export const restoreVersion = (resourceUuid: string) =>
async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
try {
// Request que entire record because stored old versions usually
dispatch<any>(navigateTo(headVersion.uuid));
} catch (e) {
dispatch(snackbarActions.OPEN_SNACKBAR({
- message: `Couldn't recover version: ${e.errors[0]}`,
+ message: `Couldn't restore version: ${e.errors[0]}`,
hideDuration: 2000,
kind: SnackbarKind.ERROR
}));