UNPKG

react-filerobot-video-editor

Version:

React component version of filerobot video editor (FVE).

1 lines 1.64 kB
import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{useCallback}from"react";import{UNDO,REDO,INJECT_INTO_LAST_STATE,RESET,UPDATE_EXTRA_STATE}from"../actions";import useStore from"./useStore";import useDispatch from"./useDispatch";var useManageHistoryState=function(){var a=useDispatch(),b=useStore(),c=b.hasUndo,d=b.hasRedo,e=b.isResetted,f=b.haveNotSavedChanges,g=b.pastDesignStates,h=void 0===g?[]:g,i=b.futureDesignStates,j=void 0===i?[]:i,k=b.config,l=useCallback(function(){a({type:UNDO})},[]),m=useCallback(function(){a({type:REDO})},[]),n=useCallback(function(){a({type:RESET,payload:{config:k}})},[k]);return{undo:l,redo:m,reset:n,injectIntoLastState:function(b){b&&a({type:INJECT_INTO_LAST_STATE,payload:b})},updateExtraState:function(b){b&&a({type:UPDATE_EXTRA_STATE,payload:_objectSpread({dismissHistory:!1},b)})},hasUndo:void 0!==c&&c,hasRedo:void 0!==d&&d,isResetted:!(void 0!==e)||e,haveNotSavedChanges:void 0!==f&&f,pastDesignStates:h,futureDesignStates:j}};export default useManageHistoryState;