UNPKG

react-filerobot-image-editor

Version:

React component version of filerobot image editor (FIE).

1 lines 4.56 kB
import _typeof from"@babel/runtime/helpers/typeof";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";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{useEffect,useRef}from"react";import{HIDE_LOADER,RESET,SHOW_LOADER,UPDATE_STATE}from"../actions";import{useResizeObserver,useStore,useTransformedImgData,useUpdateEffect}from"./index";import{getBackendTranslations}from"../utils/translator";import finetunesStrsToClasses from"../utils/finetunesStrsToClasses";import filterStrToClass from"../utils/filterStrToClass";import isSameSource from"../utils/isSameSource";import cloudimageQueryToDesignState from"../utils/cloudimageQueryToDesignState";import useSetOriginalSource from"./useSetOriginalSource";var useLoadMainSource=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},b=a.sourceToLoad,c=a.onPluginRootResize,d=a.pluginRootRef,e=a.resetOnSourceChange,f=a.keepZoomOnSourceChange,g=useStore(),h=g.config,i=g.haveNotSavedChanges,j=g.dispatch,k=g.originalSource,l=g.shownImageDimensions,m=h.useCloudimage,n=h.cloudimage,o=h.loadableDesignState,p=h.source,q=h.avoidChangesNotSavedAlertOnLeave,r=h.useBackendTranslations,s=h.translations,t=h.language,u=h.observePluginContainerSize,v=h.getCurrentImgDataFnRef,w=h.updateStateFnRef,x=h.resetOnSourceChange,y=h.keepZoomOnSourceChange,z=h.translationsGridUuid,A=null!==e&&void 0!==e?e:x,B=null!==f&&void 0!==f?f:y,C=useSetOriginalSource({resetOnSourceChange:A,keepZoomOnSourceChange:B}),D=C.loadAndSetOriginalSource,E=b||p,F=useResizeObserver(),G=_slicedToArray(F,2),H=G[0],I=G[1],J=useRef(!1),K=useRef(i),L=useTransformedImgData(),M=function(a){K.current&&(a.preventDefault(),a.returnValue="")},N=function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:function(){return[]};return j({type:SHOW_LOADER}),Promise.all(a())["catch"](function(){})["finally"](function(){setTimeout(function(){return j({type:HIDE_LOADER})},0)})},O=function(){o&&0<Object.keys(o).length&&j({type:UPDATE_STATE,payload:_objectSpread(_objectSpread({},o),{},{finetunes:finetunesStrsToClasses(null===o||void 0===o?void 0:o.finetunes),filter:filterStrToClass(null===o||void 0===o?void 0:o.filter)})})};useUpdateEffect(function(){if(E&&!isSameSource(E,k)){J.current=!1;var a="undefined"==typeof(null===k||void 0===k?void 0:k.src)&&"undefined"==typeof(null===E||void 0===E?void 0:E.src)&&"string"!=typeof E||((null===E||void 0===E?void 0:E.src)||E)===(null===k||void 0===k?void 0:k.src);a?D(E):N(function(){return[D(E)]}),A&&j({type:RESET,payload:{config:h}})}},[E]),useUpdateEffect(function(){var a=null===o||void 0===o?void 0:o.imgSrc;a&&!isSameSource(a,k)?N(function(){return[D(a).then(O)]}):O()},[o]),useEffect(function(){return N(function(){return[D((null===o||void 0===o?void 0:o.imgSrc)||E)].concat(_toConsumableArray(r?[getBackendTranslations(s,z,t)]:[]))}),window&&!q&&window.addEventListener("beforeunload",M),function(){window&&!q&&window.removeEventListener("beforeunload",M)}},[z]),useEffect(function(){w&&"object"===_typeof(w)&&(w.current=function(a){j({type:UPDATE_STATE,payload:a})})},[w,j]),useEffect(function(){v&&"object"===_typeof(v)&&(v.current=L)},[L]),useEffect(function(){K.current=i},[i]),useEffect(function(){0<Object.keys(l||{}).length&&!Object.keys(l).some(function(a){return!l[a]&&0!==l[a]})&&k&&m&&null!==n&&void 0!==n&&n.loadableQuery&&!J.current&&(j({type:UPDATE_STATE,payload:cloudimageQueryToDesignState(n.loadableQuery,l,k)}),J.current=!0)},[l,k,m,n]),useEffect(function(){var a=!1;return u&&d.current&&"function"===c?H(d.current.parentNode,function(a){var b=a.width,d=a.height;"function"==typeof c&&c(b,d)}):a&&"function"==typeof c&&c(void 0,void 0),function(){u&&d.current&&I(d.current),a=!0}},[u]),useEffect(function(){w&&"object"===_typeof(w)&&(w.current=function(a){j({type:UPDATE_STATE,payload:a})})},[w,j])};export default useLoadMainSource;