UNPKG

sp-image-editor

Version:

React component version of filerobot image editor (FIE).

1 lines 1.43 kB
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import React,{useState,useCallback}from"react";import{Warning}from"@scaleflex/icons";import{useStore}from"../../hooks";import{RESET}from"../../actions";import Modal from"../common/Modal";import{CLOSING_REASONS}from"../../utils/constants";var ConfirmationModal=function(a){var b=a.children,c=a.isReset,d=useStore(),e=d.t,f=d.theme,g=d.config,h=d.dispatch,i=d.isResetted,j=d.haveNotSavedChanges,k=d.config,l=k.onClose,m=k.avoidChangesNotSavedAlertOnLeave,n=useState(!1),o=_slicedToArray(n,2),p=o[0],q=o[1];if("function"!=typeof l&&!c)return React.createElement("span",null);var r=function(){q(!1)},s=function(){q(!0)},t=useCallback(function(){h({type:RESET,payload:{config:g}}),r()},[g]),u=function(){c||(l(CLOSING_REASONS.CLOSE_BUTTON,j),t())};return React.createElement(React.Fragment,null,React.cloneElement(b,{onClick:!(void 0!==i)||i?u:function(){return m?(t(),void(c||l(CLOSING_REASONS.CLOSE_BUTTON,j))):void s()}}),p&&React.createElement(Modal,{title:c?e("warning"):e("discardChanges"),hint:c?e("changesLoseWarningHint"):e("discardChangesWarningHint"),isOpened:p,onCancel:r,onDone:c?t:u,Icon:function(){return React.createElement(Warning,{color:f.palette.warning,size:25})},doneLabel:e("confirm"),doneButtonColor:"warning-primary",cancelLabel:e("cancel"),width:"400px",isWarning:!0}))};ConfirmationModal.defaultProps={isReset:!1};export default ConfirmationModal;