Files
qhmes/deploy-qhmes/frontend/js/ElementWrapper-BnbC7qip.js
2026-05-15 11:34:12 +08:00

2 lines
4.0 KiB
Java

var F=Object.defineProperty,U=Object.defineProperties;var V=Object.getOwnPropertyDescriptors;var W=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var C=(n,t,e)=>t in n?F(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,E=(n,t)=>{for(var e in t||(t={}))z.call(t,e)&&C(n,e,t[e]);if(W)for(var e of W(t))A.call(t,e)&&C(n,e,t[e]);return n},k=(n,t)=>U(n,V(t));import{d as G,ar as H,as as D,aH as T,ag as Z,e as X,F as j,aD as q,au as J,A as I,at as N,aB as K}from"./vue-vendor-C7Zq48Yl.js";import{d as O}from"./index-BI6CMai0.js";import"./antd-vue-vendor-BPnV8VqP.js";import"./vxe-table-vendor-B88kchpX.js";const v=6;function h(n,t,e){return Math.min(e,Math.max(t,n))}function m(n,t){return!t||t<=1?n:Math.round(n/t)*t}function Q(n,t,e,d,r,o){var l,s,i,u;const c=(l=o==null?void 0:o.left)!=null?l:0,x=(s=o==null?void 0:o.right)!=null?s:0,w=(i=o==null?void 0:o.top)!=null?i:0,y=(u=o==null?void 0:o.bottom)!=null?u:0,f=h(m(n.x+e,r),c,t.width-x-n.w),p=h(m(n.y+d,r),w,t.height-y-n.h);return k(E({},n),{x:f,y:p})}function S(n,t,e,d,r,o,c){var l,s,i,u;const x=(l=c==null?void 0:c.left)!=null?l:0,w=(s=c==null?void 0:c.right)!=null?s:0,y=(i=c==null?void 0:c.top)!=null?i:0,f=(u=c==null?void 0:c.bottom)!=null?u:0,p=E({},t);if(n.includes("e")&&(p.w=h(m(t.w+d,o),v,e.width-w-t.x)),n.includes("s")&&(p.h=h(m(t.h+r,o),v,e.height-f-t.y)),n.includes("w")){const a=h(m(t.x+d,o),x,t.x+t.w-v);p.w=h(m(t.w+(t.x-a),o),v,e.width-w-a),p.x=a}if(n.includes("n")){const a=h(m(t.y+r,o),y,t.y+t.h-v);p.h=h(m(t.h+(t.y-a),o),v,e.height-f-a),p.y=a}return p}const g=["onPointerdown"],L=3.7795275591,R=G({__name:"ElementWrapper",props:{element:{},active:{type:Boolean},scale:{},gridSize:{},pageWidth:{},pageHeight:{},movable:{type:Boolean},resizable:{type:Boolean},dragBounds:{},pageMargins:{}},emits:["update","select","dragging"],setup(n,{emit:t}){const e=n,d=t,r=["nw","n","ne","e","se","s","sw","w"],o=X(()=>e.pageMargins||{top:0,right:0,bottom:0,left:0}),c=X(()=>({position:"absolute",left:`${e.element.x}mm`,top:`${e.element.y}mm`,width:`${e.element.w}mm`,height:`${e.element.h}mm`,zIndex:e.element.zIndex,outline:e.active?"1px solid #1677ff":"1px dashed transparent",userSelect:"none"})),x=X(()=>e.movable!==!1),w=X(()=>e.resizable!==!1);function y(l){const s=e.dragBounds;return s?k(E({},l),{x:Math.max(s.minX,Math.min(s.maxX,l.x)),y:Math.max(s.minY,Math.min(s.maxY,l.y))}):l}function f(l){var b;if(d("select",e.element.id),(b=l.target)!=null&&b.classList.contains("resize-handle")||!x.value)return;const s={x:e.element.x,y:e.element.y,w:e.element.w,h:e.element.h},i=l.clientX,u=l.clientY,a=B=>{const Y=(B.clientX-i)/e.scale/L,$=(B.clientY-u)/e.scale/L,_=Q(s,{width:e.pageWidth,height:e.pageHeight},Y,$,e.gridSize,o.value),P=y(_);d("update",{id:e.element.id,patch:P}),d("dragging",{id:e.element.id,rect:P,active:!0})},M=()=>{window.removeEventListener("pointermove",a),window.removeEventListener("pointerup",M),d("dragging",{id:e.element.id,rect:{x:e.element.x,y:e.element.y,w:e.element.w,h:e.element.h},active:!1})};window.addEventListener("pointermove",a),window.addEventListener("pointerup",M)}function p(l,s){if(d("select",e.element.id),!w.value)return;const i={x:e.element.x,y:e.element.y,w:e.element.w,h:e.element.h},u=l.clientX,a=l.clientY,M=B=>{const Y=(B.clientX-u)/e.scale/L,$=(B.clientY-a)/e.scale/L,_=S(s,i,{width:e.pageWidth,height:e.pageHeight},Y,$,e.gridSize,o.value);d("update",{id:e.element.id,patch:_})},b=()=>{window.removeEventListener("pointermove",M),window.removeEventListener("pointerup",b)};window.addEventListener("pointermove",M),window.addEventListener("pointerup",b)}return(l,s)=>(D(),H("div",{class:N(["element-wrapper",{active:n.active}]),style:K(c.value),onPointerdown:I(f,["stop"]),onClick:s[0]||(s[0]=I(i=>d("select",n.element.id),["stop"]))},[T(l.$slots,"default",{},void 0,!0),n.active&&w.value?(D(),H(j,{key:0},q(r,i=>J("span",{key:i,class:N(["resize-handle",`handle-${i}`]),onPointerdown:I(u=>p(u,i),["stop"])},null,42,g)),64)):Z("",!0)],38))}}),se=O(R,[["__scopeId","data-v-00e200c7"]]);export{se as default};