All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.resources.page_editor.app.thunks.undo.js Maven / Gradle / Ivy

The newest version!
/**
 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
 */

import {UPDATE_UNDO_ACTIONS} from '../actions/types';
import {undoAction} from '../components/undo/undoActions';

let promise = Promise.resolve();

export default function undo({store}, selectItems) {
	return (dispatch) => {
		if (!store.undoHistory || !store.undoHistory.length) {
			return;
		}

		const [lastUndo, ...undos] = store.undoHistory || [];

		dispatch({type: UPDATE_UNDO_ACTIONS, undoHistory: undos});

		const undoDispatch = (action) => {
			return dispatch({
				...action,
				isUndo: true,
				originalType: lastUndo.originalType || lastUndo.type,
			});
		};

		promise = promise.then(() =>
			undoAction({action: {...lastUndo, selectItems}, store})(
				undoDispatch,
				() => store
			)
		);
	};
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy