sp-image-editor
Version:
React component version of filerobot image editor (FIE).
1 lines • 1.7 kB
JavaScript
import React from"react";import{SELECT_TOOL,SET_CROP,SET_RESIZE,ZOOM_CANVAS}from"../../../actions";import{useStore}from"../../../hooks";import{DEFAULT_ZOOM_FACTOR,ORIGINAL_CROP,TOOLS_IDS}from"../../../utils/constants";import toPrecisedFloat from"../../../utils/toPrecisedFloat";import getZoomFitFactor from"../../../utils/getZoomFitFactor";import ToolsBarItemButton from"../../ToolsBar/ToolsBarItemButton";var CustomCropButtons=function(a){var b,c=a.isSelected,d=a.item,e=a.customKey,f=useStore(),g=f.dispatch,h=f.t,i=f.adjustments,j=void 0===i?{}:i,k=j.crop,l=void 0===k?{}:k,m=l.ratio,n=f.shownImageDimensions,o=f.config,p=m||ORIGINAL_CROP,q=o[TOOLS_IDS.CROP],r=function(a,b,c){a.stopPropagation();var d={ratio:b,ratioTitleKey:c.ratioTitleKey,ratioGroupKey:c.ratioGroupKey,ratioFolderKey:c.ratioFolderKey,noEffect:c.noEffect};g({type:SELECT_TOOL,payload:{toolId:TOOLS_IDS.CROP,dynamicButtons:q.dynamicButtons,dynamicCropToolId:c.ratioTitleKey}}),g({type:SET_CROP,payload:d}),q.autoResize&&(g({type:SET_RESIZE,payload:{width:c.width,height:c.height,manualChangeDisabled:c.disableManualResize}}),g({type:ZOOM_CANVAS,payload:{factor:c.width>n.width||c.height>n.height?getZoomFitFactor(n,c):DEFAULT_ZOOM_FACTOR}}))};return React.createElement(ToolsBarItemButton,{key:e,className:"FIE_text-tool-button",id:TOOLS_IDS.CROP,label:h(d.titleKey),Icon:d.icon,onClick:function(a,b){return r(b,d.ratio,{ratioTitleKey:d.titleKey,width:d.width,height:d.height,disableManualResize:d.disableManualResize,noEffect:d.noEffect})},isSelected:c||"Crop"===p&&"custom"===d.ratio||p===(null!==(b=d.ratio)&&void 0!==b?b:toPrecisedFloat(d.width/d.height))})};CustomCropButtons.defaultProps={};export default CustomCropButtons;