1"use strict";(globalThis.webpackChunkipe_frontend=globalThis.webpackChunkipe_frontend||[]).push([[4061],{6057(e,t,i){i.d(t,{KR:()=>n,fr:()=>o});i(23677);var s=i(3779),a=i(39866);function n(e){var t,i,n,o;let{result:l,form:r,templateData:d={},imageUrlMap:c={}}=e;const u=Number(null===l||void 0===l?void 0:l.groupIndex)||0,v=(null===r||void 0===r||null===(t=r.imageGroups)||void 0===t?void 0:t[u])||{};if(null!==l&&void 0!==l&&null!==(i=l.fabricInstanceJson)&&void 0!==i&&null!==(n=i.objects)&&void 0!==n&&n.length)return(0,s.Qw)((0,a.fH)(l.fabricInstanceJson),v,c);const p=(null===l||void 0===l?void 0:l.imageId)||(null===l||void 0===l?void 0:l.slideId);if(!p)return null;const m=(null===(o=d.slideCanvases)||void 0===o?void 0:o[p])||(d.primaryImageId===p?d.fabricCanvas:null);return m?(0,s.Qw)((0,a.fH)(m),v,c):null}function o(e){var t,i,a,n,o;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!==e&&void 0!==e&&null!==(t=e.fabricInstanceJson)&&void 0!==t&&null!==(i=t.objects)&&void 0!==i&&i.length)return!0;if(function(e){var t,i,s,a;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("fabric"===(null===e||void 0===e?void 0:e.composeEngine))return!0;if(null!==e&&void 0!==e&&null!==(t=e.fabricInstanceJson)&&void 0!==t&&null!==(i=t.objects)&&void 0!==i&&i.length)return!0;const o=null===e||void 0===e?void 0:e.imageId;if(!o||!n)return!1;const l=(null===(s=n.slideCanvases)||void 0===s?void 0:s[o])||(n.primaryImageId===o?n.fabricCanvas:null);return!!l&&(null===(a=l.objects)||void 0===a?void 0:a.some(e=>"image"===e.type&&/^ipelayer(\d*)$/i.test(String(e.name||""))))}(e,l))return!0;const r=null===e||void 0===e?void 0:e.imageId;if(!r||!l)return!1;const d=null===(a=l.stampAreas)||void 0===a?void 0:a[r];if(Array.isArray(d)&&d.length>0)return!0;const c=(null===(n=l.slideCanvases)||void 0===n?void 0:n[r])||(l.primaryImageId===r?l.fabricCanvas:null);return!(null===c||void 0===c||null===(o=c.objects)||void 0===o||!o.some(s.uV))}},69236(e,t,i){i.r(t),i.d(t,{default:()=>R});var s=i(65043),a=i(73216),n=i(35475),o=i(16661),l=i(63412),r=i(84583),d=i(84488),c=i(55375),u=i(89945),v=i(38717),p=i(53810),m=i(52899),g=i(36258),h=i(40938);var f=i(16924),b=i(10610);var j=i(70579);function x(e){var t,i,a;let{object:n,editor:o,onUpdate:l}=e;
1const[r,d]=(0,s.useState)(null!==(t=null===n||void 0===n?void 0:n.lockUniScaling)&&void 0!==t&&t);if(!n||!o)return null;const c=Math.round((null===(i=n.getScaledWidth)||void 0===i?void 0:i.call(n))||(n.width||0)*(n.scaleX||1)),u=Math.round((null===(a=n.getScaledHeight)||void 0===a?void 0:a.call(n))||(n.height||0)*(n.scaleY||1)),v=(e,t)=>{var i,s;const a=(null===(i=n.getScaledWidth)||void 0===i?void 0:i.call(n))||1,o=(null===(s=n.getScaledHeight)||void 0===s?void 0:s.call(n))||1;if(r){const t=e/a;n.scale(t)}else n.scaleX=(n.scaleX||1)*e/a,n.scaleY=(n.scaleY||1)*t/o;n.setCoords(),l()};return(0,j.jsxs)("div",{className:"ipe-designer-transform-attrs","data-testid":"designer-transform-attrs",children:[(0,j.jsxs)("label",{className:"ipe-designer-canvas-attrs__field",children:[(0,j.jsx)("span",{children:"W"}),(0,j.jsx)("input",{type:"number",min:"1",value:c,onChange:e=>v(Number(e.target.value),u)})]}),(0,j.jsxs)("label",{className:"ipe-designer-canvas-attrs__field",children:[(0,j.jsx)("span",{children:"H"}),(0,j.jsx)("input",{type:"number",min:"1",value:u,onChange:e=>v(c,Number(e.target.value))})]}),(0,j.jsxs)("label",{className:"ipe-designer-canvas-attrs__field ipe-designer-canvas-attrs__field--check",children:[(0,j.jsx)("span",{children:"\u7b49\u6bd4\u7f29\u653e"}),(0,j.jsx)("input",{type:"checkbox",checked:r,onChange:e=>{return t=e.target.checked,d(t),n.set("lockUniScaling",t),void l();var t}})]}),(0,j.jsxs)("label",{className:"ipe-designer-canvas-attrs__field",children:[(0,j.jsx)("span",{children:"X"}),(0,j.jsx)("input",{type:"number",value:Math.round(n.left||0),onChange:e=>{n.set("left",Number(e.target.value)),l()}})]}),(0,j.jsxs)("label",{className:"ipe-designer-canvas-attrs__field",children:[(0,j.jsx)("span",{children:"Y"}),(0,j.jsx)("input",{type:"number",value:Math.round(n.top||0),onChange:e=>{n.set("top",Number(e.target.value)),l()}})]}),(0,j.jsxs)("label",{className:"ipe-designer-canvas-attrs__field",children:[(0,j.jsx)("span",{children:"\u65cb\u8f6c"}),(0,j.jsx)("input",{type:"number",value:Math.round(n.angle||0),onChange:e=>{n.set("angle",Number(e.target.value)),l()}})]}),(0,j.jsxs)("label",{className:"ipe-designer-canvas-attrs__field",children:[(0,j.jsx)("span",{children:"\u951a\u70b9 X"}),(0,j.jsxs)("select",{value:n.originX||"left",onChange:e=>{n.set("originX",e.target.value),l()},children:[(0,j.jsx)("option",{value:"left",children:"\u5de6"}),(0,j.jsx)("option",{value:"center",children:"\u4e2d"}),(0,j.jsx)("option",{value:"right",children:"\u53f3"})]})]}),(0,j.jsxs)("label",{className:"ipe-designer-canvas-attrs__field",children:[(0,j.jsx)("span",{children:"\u951a\u70b9 Y"}),(0,j.jsxs)("select",{value:n.originY||"top",onChange:e=>{n.set("originY",e.target.value),l()},children:[(0,j.jsx)("option",{value:"top",children:"\u4e0a"}),(0,j.jsx)("option",{value:"center",children:"\u4e2d"}),(0,j.jsx)("option",{value:"bottom",children:"\u4e0b"})]})]})]})}var _=i(23677);function N(e){var t;return!(!e||"workspace"===e.id)&&("image"===e.type&&((null===(t=e.linkData)||void 0===t?void 0:t.role)===_.hQ||(0,_.Xc)(e.name)))}var y=i(6057),I=i(19162),k=i(26233),w=i(10350),C=i(66017),S=i(41441),A=i(18229),M=i(32389);i(54545);function O(e){let{fabricJson:t,onEditorReady:i}=e;const a=(0,s.useRef)(null),n=(0,s.useRef)(i);return n.current=i,(0,s.useEffect)(()=>{var e;if(!a.current||!t)return;const i=new o.fabric.Canvas(a.current,{fireRightClick:!1,stopContextMenu:!0,controlsAboveOverlay:!0,preserveObjectStacking:!0,backgroundColor:"#1a1a1a"}),s=new c.A;return s.init(i),function(e){e.use(u.A),e.use(h.A),e.use(v.A),e.use(p.A),e.use(m.A),e.use(g.A)}(s),null===(e=n.current)||void 0===e||e.call(n,{editor:s,fabric:o.fabric}),s.loadJSON(JSON.stringify(t)).then(()=>{var e;!function(e){null!==e&&void 0!==e&&e.getObjects&&(e.getObjects().forEach(e=>{"workspace"!==e.id&&N(e)?e.set({selectable:!0,evented:!0,hasControls:!0,lockMovementX:!1,lockMovementY:!1,lockScalingX:!1,lockScalingY:!1,lockRotation:!1}):e.set({selectable:!1,evented:!1,hasControls:!1})}),e.discardActiveObject(),e.requestRenderAll())}
1(i),null===(e=s.emit)||void 0===e||e.call(s,"designer:ipe-edit-loaded")}),()=>{var e;s.destory(),i.dispose(),null===(e=n.current)||void 0===e||e.call(n,null)}},[t]),(0,j.jsx)("div",{className:"pod-composite-editor__canvas-wrap",children:(0,j.jsx)("div",{id:"workspace",className:"ipe-designer-workspace pod-composite-editor__workspace",children:(0,j.jsx)("div",{className:"ipe-designer-canvas-box",children:(0,j.jsx)("canvas",{ref:a,className:"ipe-designer-canvas"})})})})}function E(e){let{editor:t}=e;const i=function(e){const[t,i]=(0,s.useState)({mode:"empty",objects:[],ids:[],isOne:!1,isMulti:!1});return(0,s.useEffect)(()=>{if(!e)return void i({mode:"empty",objects:[],ids:[],isOne:!1,isMulti:!1});const t=e=>{i({mode:"one",objects:e,ids:e.map(e=>e.id),isOne:!0,isMulti:!1})},s=e=>{i({mode:"multiple",objects:e,ids:e.map(e=>e.id),isOne:!1,isMulti:!0})},a=()=>{i({mode:"empty",objects:[],ids:[],isOne:!1,isMulti:!1})};return(()=>{var i;const n=e.canvas;if(!n)return void a();const o=(null===(i=n.getActiveObjects)||void 0===i?void 0:i.call(n))||[];1===o.length?t(o):o.length>1?s(o):a()})(),e.on(b.p.ONE,t),e.on(b.p.MULTI,s),e.on(b.p.CANCEL,a),()=>{e.off(b.p.ONE,t),e.off(b.p.MULTI,s),e.off(b.p.CANCEL,a)}},[e]),t}(t),a=i.isOne?i.objects[0]:null,n=(0,s.useCallback)(()=>{var e;null===t||void 0===t||null===(e=t.canvas)||void 0===e||e.requestRenderAll()},[t]);return a?(0,j.jsxs)("aside",{className:"pod-composite-editor__aside",children:[(0,j.jsx)("h3",{className:"pod-composite-editor__aside-title",children:"\u8d34\u5408\u56fe\u5c42"}),(0,j.jsx)("p",{className:"pod-composite-editor__layer-name",children:a.name||"ipelayer"}),(0,j.jsx)(x,{object:a,editor:t,onUpdate:n})]}):(0,j.jsx)("aside",{className:"pod-composite-editor__aside",children:(0,j.jsx)("p",{className:"pod-composite-editor__hint",children:"\u70b9\u51fb\u753b\u5e03\u4e0a\u7684\u300c\u8d34\u5408\u300d\u56fe\u5c42\uff08ipelayer\uff09\uff0c\u53ef\u8c03\u6574\u4f4d\u7f6e\u3001\u5927\u5c0f\u4e0e\u65cb\u8f6c\u3002"})})}function R(){const{taskId:e}=(0,a.g)(),[t]=(0,n.ok)(),i=(0,a.Zp)(),o=Number(t.get("form")||0),c=Number(t.get("group")||0),u=t.get("imageId")||"",[v,p]=(0,s.useState)(!0),[m,g]=(0,s.useState)(!1),[h,b]=(0,s.useState)(""),[x,_]=(0,s.useState)(null),[N,R]=(0,s.useState)(null),[D,J]=(0,s.useState)({}),[X,U]=(0,s.useState)(null),[Y,F]=(0,s.useState)({title:"",templateName:""}),$=null===X||void 0===X?void 0:X.editor;(0,s.useEffect)(()=>{let t=!1;return(async()=>{p(!0),b("");try{var i,s;const a=await k.ov.getById(e),n=(null===a||void 0===a?void 0:a.task)||(null===a||void 0===a?void 0:a.data)||a;if(!n)throw new Error("\u4efb\u52a1\u4e0d\u5b58\u5728");const l=((null===(i=n.result)||void 0===i?void 0:i.goodsForms)||n.goodsForms||[])[o];if(!l)throw new Error("\u627e\u4e0d\u5230\u5bf9\u5e94\u6a21\u677f\u8868\u5355");let r=l.templateData||{};if(l.templateId)try{const e=await k.templateAPI.getById(l.templateId);if(null!==e&&void 0!==e&&e.template){const t=await(0,A.S)(e.template);r=(null===t||void 0===t?void 0:t.templateData)||e.template.templateData||r}}catch{}const d=(l.compositeResults||[]).find(e=>Number(e.groupIndex)===c&&(!u||String(e.imageId)===String(u)));if(!d)throw new Error("\u627e\u4e0d\u5230\u5bf9\u5e94\u5408\u6210\u6210\u54c1");const v=await async function(e,t){var i;const s=(null===e||void 0===e||null===(i=e.imageGroups)||void 0===i?void 0:i[t])||{},a={},n=[...new Set(Object.values(s).map(e=>(0,S.oN)(e)).filter(Boolean))];for(const o of n){try{const e=await(0,w.getImageFromIndexedDB)(o);if(e){a[o]=e;continue}}catch{}const e=Object.values(s).find(e=>(0,S.oN)(e)===o);"string"===typeof e&&(e.startsWith("data:")||e.startsWith("http")||e.startsWith("/uploads/"))&&(a[o]=(0,C.ok)(await(0,C.resolveSignedDisplayUrl)(e),e))}return a}(l,c),p=(0,y.KR)({result:d,form:l,templateData:r,imageUrlMap:v});if(null===p||void 0===p||null===(s=p.objects)||void 0===s||!s.length)throw new Error("\u65e0\u6cd5\u52a0\u8f7d\u7f16\u8f91\u6570\u636e\uff08\u8bf7\u786e\u8ba4\u6a21\u677f\u542b ipelayer \u56fe\u5c42\uff09");if(t)return;R(n),J(r),_(p),F({title:n.title||n.name||e,templateName:l.templateName||l.templateId})}catch(a){t||b(a.message||"\u52a0\u8f7d\u5931\u8d25")}finally{t||p(!1)}})(),()=>{t=!0}},[e,o,c,u]);const z=(0,s.useCallback)(async()=>
1{if(null!==$&&void 0!==$&&$.getJson&&N){g(!0);try{var t,s,a;const n=$.getJson(),l=null===(t=((null===(a=N.result)||void 0===a?void 0:a.goodsForms)||N.goodsForms||[])[o])||void 0===t||null===(s=t.compositeResults)||void 0===s?void 0:s.find(e=>Number(e.groupIndex)===c&&String(e.imageId)===String(u||e.imageId)),r=u||(null===l||void 0===l?void 0:l.imageId);if(!r)throw new Error("\u7f3a\u5c11\u9875\u9762 ID");await(0,I.P)({taskId:e,task:N,formIndex:o,groupIndex:c,imageId:r,fabricInstanceJson:n,templateData:D}),i(`${M.$p}/goods-detail/${e}`,{state:{taskId:e,refresh:Date.now()}})}catch(n){b(n.message||"\u4fdd\u5b58\u5931\u8d25")}finally{g(!1)}}},[$,N,e,o,c,u,i,D]),W=(0,s.useMemo)(()=>`${M.$p}/goods-detail/${e}`,[e]);return(0,j.jsxs)("div",{className:"fullscreen-page pod-composite-editor-page","data-testid":"pod-composite-editor-page",children:[(0,j.jsxs)("header",{className:"pod-composite-editor__topbar",children:[(0,j.jsxs)("button",{type:"button",className:"pod-composite-editor__back",onClick:()=>i(W),children:[(0,j.jsx)(l.A,{size:18,"aria-hidden":"true"}),"\u8fd4\u56de"]}),(0,j.jsxs)("div",{className:"pod-composite-editor__title-block",children:[(0,j.jsxs)("h1",{className:"pod-composite-editor__title",children:["\u8c03\u6574\u8d34\u5408 \xb7 ",Y.templateName]}),(0,j.jsx)("p",{className:"pod-composite-editor__subtitle",children:Y.title})]}),(0,j.jsx)("button",{type:"button",className:"pod-composite-editor__save",onClick:z,disabled:v||m||!$,children:m?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(r.A,{size:16,className:"pod-composite-editor__spin","aria-hidden":"true"}),"\u5408\u6210\u4e2d\u2026"]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(d.A,{size:16,"aria-hidden":"true"}),"\u4fdd\u5b58\u5e76\u91cd\u65b0\u5408\u6210"]})})]}),v&&(0,j.jsxs)("div",{className:"pod-composite-editor__status",children:[(0,j.jsx)(r.A,{size:20,className:"pod-composite-editor__spin","aria-hidden":"true"}),"\u52a0\u8f7d\u7f16\u8f91\u6570\u636e\u2026"]}),h&&!v&&(0,j.jsx)("div",{className:"pod-composite-editor__status pod-composite-editor__status--error",children:h}),!v&&!h&&x&&(0,j.jsx)(f.zz,{editor:$,fabric:null===X||void 0===X?void 0:X.fabric,children:(0,j.jsxs)("div",{className:"pod-composite-editor__body",children:[(0,j.jsx)(O,{fabricJson:x,onEditorReady:U}),(0,j.jsx)(E,{editor:$})]})})]})}}}]); 2//# sourceMappingURL=4061.d6aa2ce5.chunk.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.