react-filerobot-image-editor
Version:
React component version of filerobot image editor (FIE).
1 lines • 1.7 kB
JavaScript
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";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{EVENTS}from"../utils/constants";import emitCustomEvent from"../utils/emitCustomEvent";import randomId from"../utils/randomId";export var DUPLICATE_ANNOTATIONS="DUPLICATE_ANNOTATIONS";var duplicateAnnotations=function(a,b){var c=a.annotations,d=b.onAnnotationAdd,e={},f=[];return b.annotationsIds.forEach(function(b){var g=c[b];if(g){var h=_objectSpread(_objectSpread({},g),{},{id:randomId(g.name),label:"".concat(g.label||g.id," - Copy"),x:g.x+20,y:g.y+20});if("function"==typeof d){var i=d(_objectSpread(_objectSpread({},h),{},{isDuplicated:!0}),a);h=_objectSpread(_objectSpread({},h),i)}f.push(h.id),e[h.id]=h}}),emitCustomEvent(EVENTS.ANNOTATIONS_DUPLICATE,{duplicated:e,originalIds:b.annotationsIds}),_objectSpread(_objectSpread({},a),{},{selectionsIds:f,isDesignState:!b.dismissHistory,annotationIds:[].concat(_toConsumableArray(a.annotationIds),f),annotations:_objectSpread(_objectSpread({},c),e)})};export default duplicateAnnotations;