epic-designer-gold 0.0.33 → 0.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{attributeView-DVqMH1xY.js → attributeView-CbSIfYvE.js} +1 -1
- package/dist/{attributeView-CkX6fubE.cjs → attributeView-D3Qsq4Rp.cjs} +1 -1
- package/dist/{index-DWA3Pa6_.cjs → index-B-S6G7Gm.cjs} +1 -1
- package/dist/{index-B07zwTz2.js → index-BB9BbwOP.js} +1 -1
- package/dist/{index-QcfCoknU.js → index-BM1LEAru.js} +488 -470
- package/dist/index-BOvRFBhF.js +4 -0
- package/dist/{index-i26diW3P.cjs → index-BUnjVAci.cjs} +1 -1
- package/dist/{index-BqPBE6Y2.cjs → index-BmpuQvz8.cjs} +1 -1
- package/dist/{index-BGKInHWa.js → index-C0duQEvM.js} +1 -1
- package/dist/{index-CY8bzSIr.js → index-C1u693vR.js} +1 -1
- package/dist/{index-BvRS3i9N.cjs → index-C8_KPCGF.cjs} +1 -1
- package/dist/{index-C8_p36X3.js → index-CIH4lXfN.js} +1 -1
- package/dist/{index-bup0iSFb.js → index-CvItX-Z6.js} +1 -1
- package/dist/{index-CYyckZuN.js → index-DFKDDX_i.js} +1 -1
- package/dist/{index-C7Rkr11-.cjs → index-DIq67rZG.cjs} +1 -1
- package/dist/{index-DQBowkLQ.js → index-Dtw63_EC.js} +1 -1
- package/dist/{index-BffcOK9E.cjs → index-DuajNE8y.cjs} +1 -1
- package/dist/index-KtgsmKhr.cjs +10 -0
- package/dist/{index-CKl_FM23.cjs → index-ZvngKPSa.cjs} +1 -1
- package/dist/{index-Bl9bHpGb.cjs → index-qZR6iV6F.cjs} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/sign-BCmA2v-3.cjs +1 -0
- package/dist/{sign-d-TCl0NS.js → sign-CSv8hClp.js} +31 -32
- package/dist/style.css +1 -1
- package/dist/{styleView-DNbMFObZ.js → styleView-CW7dFXBf.js} +1 -1
- package/dist/{styleView-D_DJWtjt.cjs → styleView-CWElODVj.cjs} +1 -1
- package/dist/ui/elementPlus/index.cjs +1 -1
- package/dist/ui/elementPlus/index.js +1 -1
- package/package.json +1 -1
- package/dist/index-rlyOYH5_.cjs +0 -10
- package/dist/index-zlm7L3aS.js +0 -4
- package/dist/sign-CpJ83zt4.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),k=require("./axios-CYGTE3lR.cjs"),c=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),k=require("./axios-CYGTE3lR.cjs"),c=require("./index-KtgsmKhr.cjs"),B=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),_=[{label:"string",value:"string"},{label:"number",value:"number"},{label:"boolean",value:"boolean"},{label:"method",value:"method"},{label:"regexp",value:"regexp"},{label:"integer",value:"integer"},{label:"float",value:"float"},{label:"array",value:"array"},{label:"object",value:"object"},{label:"date",value:"date"},{label:"url",value:"url"},{label:"hex",value:"hex"},{label:"email",value:"email"},{label:"any",value:"any"}],V=[{label:"change",value:"change"},{label:"blur",value:"blur"}],f=["string","number","url","array","email"],w={class:"rule-item-main bg-white m-t-2 p-2 rounded border border-solid border-gray-200 hover:border-primary transition-all relative"},E={key:0,class:"flex m-t-2 first:m-0"},x={class:"epic-attr-label",title:"校验时机"},q={class:"epic-attr-input"},C=e.defineComponent({__name:"ERuleItem",props:{rule:{}},emits:["change","delete","update:rule"],setup(h,{emit:b}){const i=b,d=h,r=e.computed({get(){return d.rule},set(l){i("update:rule",l)}}),u=e.inject("pageManager",{}),a=e.computed(()=>Object.entries(u.funcs.value).filter(([l,p])=>typeof p=="function").map(([l])=>({label:l,value:l}))),g=[{type:"select",label:"校验时机",model:"trigger",componentProps:{options:V,placeholder:"校验时机",multiple:!0,mode:"multiple"}},{type:"switch",label:"自定义规则",model:"isValidator"},{type:"select",label:"校验函数",model:"validator",show(){return!!r.value.isValidator},componentProps:{options:a.value,placeholder:"校验函数"}},{type:"select",label:"类型",model:"type",show(){return!r.value.isValidator},componentProps:{options:_,placeholder:"类型"}},{type:"input",label:"正则校验",model:"pattern",show(){return!r.value.isValidator},componentProps:{placeholder:"正则校验"}},{type:"number",label:"字段长度",model:"len",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"字段长度"}},{type:"number",label:"最小长度",model:"min",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"最小长度"}},{type:"number",label:"最大长度",model:"max",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"最大长度"}},{type:"input",label:"校验信息",model:"message",componentProps:{placeholder:"校验信息"}}];function o(){const l=r.value;l.isValidator?(delete l.type,delete l.pattern,delete l.len,delete l.min,delete l.max):delete l.validator,i("change",l)}function y(){i("delete")}return(l,p)=>(e.openBlock(),e.createElementBlock("div",w,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,(t,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m},[!t.show||t.show()?(e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("div",x,e.toDisplayString(t.label),1),e.createElementVNode("div",q,[e.createVNode(e.unref(c._sfc_main),{modelValue:r.value[t.model],"onUpdate:modelValue":n=>r.value[t.model]=n,componentSchema:{...t,noFormItem:!0},onChange:o},null,8,["modelValue","onUpdate:modelValue","componentSchema"])])])):e.createCommentVNode("",!0)],64))),64)),e.createElementVNode("div",{class:"rule-btn-delete absolute top-0 text-md right-0 transition-all w-24px h-24px cursor-pointer rounded-bl-2 flex justify-center items-center color-white",onClick:y},[e.createVNode(e.unref(B._sfc_main),{name:"icon--epic--delete-outline-rounded"})])]))}}),N={class:"rule-item-main m-t-2 p-2 rounded border border-solid transition-all relative"},P={key:0,class:"flex m-t-2 first:m-0"},U={class:"epic-attr-label"},F={class:"flex-1"},j=e.defineComponent({__name:"index",props:{ruleType:{type:String,default:"string"},modelValue:{type:Array,default:void 0}},emits:["update:modelValue"],setup(h,{emit:b}){const i=k.pluginManager.getComponent("button"),d=h,r=b,u=c.useVModel(d,"modelValue",r),a=e.ref({required:!1,message:"必填项",type:d.ruleType,trigger:["change"]}),g=[{type:"switch",label:"必填项",model:"required"},{type:"select",label:"校验时机",model:"trigger",show(){return!!a.value.required},componentProps:{options:V,placeholder:"校验时机",multiple:!0,mode:"multiple"}},{type:"select",label:"类型",model:"type",show(){return!!a.value.required},componentProps:{options:_,placeholder:"类型"}},{type:"input",label:"校验信息",model:"message",show(){return!!a.value.required},componentProps:{placeholder:"校验信息"}}],o=e.ref([]);e.watchEffect(()=>{u.value&&(o.value=[],u.value.forEach(t=>{typeof t.required<"u"?a.value=t:o.value.push(t)}))});function y(){o.value.push({message:"",type:d.ruleType,trigger:["change"]}),l()}function l(){if(a.value.required){u.value=c.deepClone([...o.value,a.value]);return}if(o.value.length){u.value=c.deepClone(o.value);return}u.value=void 0}function p(t){o.value.splice(t,1),l()}return(t,m)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",N,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:s},[!n.show||n.show()?(e.openBlock(),e.createElementBlock("div",P,[e.createElementVNode("div",U,e.toDisplayString(n.label),1),e.createElementVNode("div",F,[e.createVNode(e.unref(c._sfc_main),{modelValue:a.value[n.model],"onUpdate:modelValue":v=>a.value[n.model]=v,componentSchema:{...n,noFormItem:!0},onChange:l},null,8,["modelValue","onUpdate:modelValue","componentSchema"])])])):e.createCommentVNode("",!0)],64))),64))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(n,s)=>(e.openBlock(),e.createBlock(C,{key:s,rule:o.value[s],"onUpdate:rule":v=>o.value[s]=v,onDelete:v=>p(s),onChange:l},null,8,["rule","onUpdate:rule","onDelete"]))),128)),e.createVNode(e.unref(i),{class:"m-t-2",onClick:y},{default:e.withCtx(()=>m[0]||(m[0]=[e.createTextVNode(" 添加规则 ")])),_:1})]))}});exports.default=j;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),p=require("monaco-editor"),b=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),p=require("monaco-editor"),b=require("./index-KtgsmKhr.cjs"),h=require("./_plugin-vue_export-helper-BHFhmbuH.cjs");function v(l){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const r in l)if(r!=="default"){const t=Object.getOwnPropertyDescriptor(l,r);Object.defineProperty(o,r,t.get?t:{enumerable:!0,get:()=>l[r]})}}return o.default=l,Object.freeze(o)}const i=v(p),_=a.defineComponent({__name:"index",props:{language:{default:"json"},readOnly:{type:Boolean,default:!1},valueFormat:{default:"string"},modelValue:{},config:{default:()=>({selectOnLineNumbers:!0,minimap:{enabled:!1}})},lineNumbers:{default:"on"},autoToggleTheme:{type:Boolean},theme:{default:"vs-light"}},emits:["update:modelValue"],setup(l,{expose:o,emit:r}){const t=l,s=r,c=a.ref(null);let e=null;const{isDark:f}=b.useTheme();function d(){f.value?i.editor.setTheme("vs-dark"):i.editor.setTheme("vs-light")}function m(u){e==null||e.setValue(u||"")}function g(u){const n=e==null?void 0:e.getPosition();n&&(e==null||e.executeEdits("",[{range:new i.Range(n.lineNumber,n.column,n.lineNumber,n.column),text:u}]),e==null||e.setPosition({...n,column:n.column+u.length}),e==null||e.focus())}return a.onMounted(()=>{e=i.editor.create(c.value,{value:u(),...t.config,language:t.language,readOnly:t.readOnly,lineNumbers:t.lineNumbers,theme:t.theme,scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:10,horizontalScrollbarSize:10},automaticLayout:!0}),t.autoToggleTheme&&a.watch(()=>f.value,()=>{a.nextTick(()=>d())},{immediate:!0});function u(){return t.valueFormat==="json"&&t.modelValue?JSON.stringify(t.modelValue,null,2):t.modelValue??""}e.onDidChangeModelContent(()=>{const n=e==null?void 0:e.getValue();if(t.valueFormat==="json"&&n){s("update:modelValue",JSON.parse(n));return}s("update:modelValue",n??"")})}),o({setValue:m,insertText:g}),(u,n)=>(a.openBlock(),a.createElementBlock("div",{ref_key:"editContainer",ref:c,class:"epic-code-editor"},null,512))}}),y=h._export_sfc(_,[["__scopeId","data-v-3e2e893c"]]);exports.default=y;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as V, computed as k, openBlock as a, createElementBlock as l, Fragment as g, renderList as C, createVNode as p, unref as r, createElementVNode as c, createCommentVNode as y } from "vue";
|
|
2
2
|
import { p as U } from "./axios-ITY6Uw7A.js";
|
|
3
|
-
import { k as P } from "./index-
|
|
3
|
+
import { k as P } from "./index-BM1LEAru.js";
|
|
4
4
|
import { _ as b } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
5
|
const E = {
|
|
6
6
|
key: 0,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as D, inject as i, ref as S, computed as b, openBlock as m, createElementBlock as h, createElementVNode as n, createVNode as r, unref as a, withCtx as w, Fragment as E, renderList as M, normalizeClass as j, toDisplayString as V, mergeProps as z, withDirectives as A, vShow as F } from "vue";
|
|
2
2
|
import { d as G } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
3
3
|
import { p as d } from "./axios-ITY6Uw7A.js";
|
|
4
|
-
import { g as B, f as q } from "./index-
|
|
4
|
+
import { g as B, f as q } from "./index-BM1LEAru.js";
|
|
5
5
|
import { _ as I } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
6
6
|
const H = { class: "epic-component-view flex flex-col" }, J = { class: "epic-search-box px-10px py-6px" }, K = { class: "flex flex-1 overflow-auto" }, O = { class: "epic-tabs-box" }, Q = ["title", "onClick"], R = { class: "h-full flex-1 overflow-auto py-2 box-border" }, W = ["onClick"], X = { class: "epic-componet-label flex-1 w-0 truncate" }, Y = { class: "text-center pt-42px text-gray-400" }, ae = /* @__PURE__ */ D({
|
|
7
7
|
__name: "index",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),F=require("./axios-CYGTE3lR.cjs"),C=require("./index-rlyOYH5_.cjs"),J=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),G=require("./vuedraggable.umd-BqhSJIAi.cjs"),ee={class:"epic-widget-action-item whitespace-nowrap"},te={key:0,class:"flex items-center"},ne=e.defineComponent({__name:"previewWidgets",setup(A,{expose:R}){const u=e.inject("pageManager",{}),_=e.inject("pageSchema"),r=e.inject("designer"),h=e.inject("designerProps"),c=e.inject("revoke"),f=e.ref(null),w=e.ref(null),g=e.ref(null),M=e.ref(!1),l=e.ref(!1),a=e.ref(!0),i=e.ref("top"),{canvasScale:s,disabledZoom:k}=C.useStore();let n=null;const L=e.computed(()=>{const t=r.state.checkedNode;return!(!(t!=null&&t.id)||h.value.lockDefaultSchemaEdit&&u.defaultComponentIds.value.includes(t==null?void 0:t.id))}),T=e.computed(()=>{var S,N,V,m,O,H;const t=u.componentInstances.value,d=(S=r.state.checkedNode)==null?void 0:S.id;if((V=(N=r.state.checkedNode)==null?void 0:N.componentProps)!=null&&V.hidden)return null;const y=F.pluginManager.getComponentConfingByType((m=r.state.checkedNode)==null?void 0:m.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((O=r.state.checkedNode)==null?void 0:O.noFormItem)!==!0)return(H=t[d+"formItem"])==null?void 0:H.$el;const o=t[d];return!(o!=null&&o.$el)||(o==null?void 0:o.$el.nodeName)==="#text"||!(o!=null&&o.$el.getBoundingClientRect)?null:o==null?void 0:o.$el}),B=e.computed(()=>{var S,N,V,m;const t=u.componentInstances.value,d=(S=r.state.hoverNode)==null?void 0:S.id,y=F.pluginManager.getComponentConfingByType((N=r.state.hoverNode)==null?void 0:N.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((V=r.state.hoverNode)==null?void 0:V.noFormItem)!==!0)return(m=t[d+"formItem"])==null?void 0:m.$el;const o=t[d];return(o==null?void 0:o.$el.nodeName)==="#text"?null:o==null?void 0:o.$el}),{mutationObserver:p,observerConfig:x}=Z(j),{startTimedQuery:v,stopTimedQuery:z}=C.useTimedQuery(j);e.watch(()=>T.value,t=>{if(t){M.value=!0,p.observe(t,x);const d=t.parentNode;d&&(d.ondragstart=()=>{a.value=!1,v()},d.ondragend=()=>{a.value=!0,z()}),j()}else M.value=!1});const{mutationObserver:P,observerConfig:E}=Z(q);e.watch(()=>B.value,t=>{t&&(P.observe(t,E),q())});let b=0;e.watch(()=>{var t;return(t=r.state.hoverNode)==null?void 0:t.id},t=>{if(t){l.value=!0,clearTimeout(b);return}b=setTimeout(()=>{l.value=!1},300)});let $=0,D=0;function j(){const t=T.value;if(!t||!n)return;const{top:d,left:y}=n==null?void 0:n.getBoundingClientRect(),{top:o,left:S,width:N,height:V}=t.getBoundingClientRect(),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m,W=V/m;f.value&&(f.value.style.width=`${N/m}px`,f.value.style.height=`${W}px`,f.value.style.top=`${O/m}px`,f.value.style.left=`${H/m}px`,I(O,H)),g.value&&(O<45&&W<100?(g.value.style.top="",g.value.style.bottom="-30px",g.value.style["border-radius"]="0px 0px 4px 4px",i.value="bottom"):O<45?(g.value.style.top="0px",g.value.style["border-radius"]="0px 0px 4px 0",i.value="center"):(g.value.style.top="-30px",g.value.style["border-radius"]="4px 4px 0px 0px",i.value="top"))}function I(t,d){const y=T.value;if(!n||!y)return;const o=n.getBoundingClientRect(),{width:S}=y.getBoundingClientRect(),N=k.value?1:s.value,V=t/N-o.top;let m=d/N-o.left+S/N;m<o.width&&(m=0);const O=n.scrollTop-o.height/3+60,H=n.scrollTop+o.height/3*2,W=n.scrollLeft-o.width+200,U=n.scrollLeft+o.width-200;Math.abs(V-$)<10&&Math.abs(m-D)<10||($=V,D=m,!(V>O&&V<H&&m>W&&m<U)&&(n.scrollTop=V,n.scrollLeft=m))}function q(){var W,U;const t=B.value;if(!t)return;const{top:d,left:y}=(n==null?void 0:n.getBoundingClientRect())??{top:0,left:0},{top:o,left:S,width:N,height:V}=((W=t.getBoundingClientRect)==null?void 0:W.call(t))??((U=t.nextElementSibling)==null?void 0:U.getBoundingClientRect()),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m;w.value&&(w.value.style.width=`${N/m}px`,w.value.style.height=`${V/m}px`,w.value.style.top=`${O/m}px`,w.value.style.left=`${H/m}px`)}function Z(t){const d=window.MutationObserver,y={childList:!0,attributes:!0,subtree:!0};return{mutationObserver:new d(t),observerConfig:y}}function K(){var N;const t=C.findSchemaInfoById(_.schemas,((N=r.state.checkedNode)==null?void 0:N.id)??"root");if(!t)return!1;const{list:d,schema:y,index:o}=t,S=C.generateNewSchema(y);d.splice(o+1,0,S),r.setCheckedNode(S),c.push(_.schemas,"复制组件")}function X(){var S;const t=C.findSchemaInfoById(_.schemas,((S=r.state.checkedNode)==null?void 0:S.id)??"root");if(!t)return!1;let{list:d,schema:y,index:o}=t;d.splice(o,1),o===d.length&&o--,r.setCheckedNode(d[o]),c.push(_.schemas,"删除组件")}function Y(t){n=t,n==null||n.addEventListener("scroll",()=>{j()}),C.useResizeObserver(T,j),C.useResizeObserver(B,q)}return R({handleInit:Y}),(t,d)=>{var y,o,S,N,V;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives(e.createElementVNode("div",{ref_key:"selectorRef",ref:f,class:e.normalizeClass(["epic-checked-widget absolute pointer-events-none z-20",i.value+" "+(a.value?"transition-all":"")])},[e.createElementVNode("div",{class:"epic-widget-action-box",ref_key:"actionBoxRef",ref:g},[e.createElementVNode("div",ee,e.toDisplayString((o=e.unref(F.pluginManager).getComponentConfingByType(((y=e.unref(r).state.checkedNode)==null?void 0:y.type)??""))==null?void 0:o.defaultSchema.label),1),L.value?(e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("div",{title:"复制",class:"epic-widget-action-item pointer-events-auto",onClick:K},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--copy-all-outline-rounded"})]),e.createElementVNode("div",{title:"删除",class:"epic-widget-action-item pointer-events-auto",onClick:X},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--delete-outline-rounded"})])])):e.createCommentVNode("",!0)],512)],2),[[e.vShow,M.value&&((S=e.unref(r).state.checkedNode)==null?void 0:S.id)!=="root"]]),e.withDirectives(e.createElementVNode("div",{ref_key:"hoverWidgetRef",ref:w,class:"epic-hover-widget absolute transition-all pointer-events-none z-998"},null,512),[[e.vShow,l.value&&((N=e.unref(r).state.checkedNode)==null?void 0:N.id)!==((V=e.unref(r).state.hoverNode)==null?void 0:V.id)]])],64)}}}),oe=e.defineComponent({name:"EditNodeItem",__name:"editNodeItem",props:{schemas:{}},emits:["update:schemas"],setup(A,{emit:R}){const u=e.inject("designer"),_=e.inject("pageSchema"),r=e.inject("revoke"),h=A,c=R,f=e.computed({get(){return h.schemas},set(a){c("update:schemas",a)}});function w(a){u.setCheckedNode(f.value[a]),u.setDisableHover(!0)}function g(){u.setDisableHover(),r.push(_.schemas,"拖拽组件")}function M(){r.push(_.schemas,"插入组件")}function l(a){var i,s,k;return a.id===((i=_.schemas[0])==null?void 0:i.id)||(k=(s=F.pluginManager.getComponentConfingByType(a.type))==null?void 0:s.editConstraints)!=null&&k.immovable?"unmover-item":"draggable-item"}return(a,i)=>(e.openBlock(),e.createBlock(e.unref(G.draggable),e.mergeProps({modelValue:f.value,"onUpdate:modelValue":i[0]||(i[0]=s=>f.value=s),"item-key":"id","component-data":{type:"transition-group"},class:"epic-draggable-range"},{animation:200,group:"edit-draggable",handle:".draggable-item",ghostClass:"moveing"},{onStart:i[1]||(i[1]=s=>w(s.oldIndex)),onEnd:i[2]||(i[2]=s=>g()),onAdd:i[3]||(i[3]=s=>{w(s.newIndex),M()})}),{item:e.withCtx(({element:s,index:k})=>[(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["widget-box",l(s)]),key:k},[e.createVNode(Q,{schema:s},null,8,["schema"])],2))]),_:1},16,["modelValue"]))}}),Q=e.defineComponent({name:"ENodeItem",__name:"nodeItem",props:{schema:{},name:{}},setup(A){const R=e.useAttrs(),u=e.inject("designer"),_=e.inject("pageManager",{}),r=e.inject("pageSchema",{}),h=e.ref(null);e.provide("nodeAttrs",R);const c=A,f=e.computed(()=>{var k,n,L,T,B;const l=_.componentInstances.value,a=(k=c.schema)==null?void 0:k.id,i=F.pluginManager.getComponentConfingByType((n=c.schema)==null?void 0:n.type)??null;if(!a||!(l!=null&&l[a]))return null;if(i!=null&&i.defaultSchema.input&&((L=c.schema)==null?void 0:L.noFormItem)!==!0)return(T=l[a+"formItem"])==null?void 0:T.$el;const s=l[a];return((B=s==null?void 0:s.$el)==null?void 0:B.nodeName)==="#text"?null:s==null?void 0:s.$el});e.watch(()=>f.value,l=>{l==null||l.addEventListener("click",w,!1),l==null||l.addEventListener("mouseover",g,!1),l==null||l.addEventListener("mouseout",M,!1)}),e.onUnmounted(()=>{var l,a,i;(l=f.value)==null||l.removeEventListener("click",w,!1),(a=f.value)==null||a.removeEventListener("mouseover",g,!1),(i=f.value)==null||i.removeEventListener("mouseout",M,!1)});function w(l){l.stopPropagation(),u.setCheckedNode(c.schema)}function g(l){var a;c.schema.id!==((a=r.schemas[0])==null?void 0:a.id)&&(l.stopPropagation(),u.setHoverNode(c.schema))}function M(l){l.stopPropagation(),u.setHoverNode(null)}return(l,a)=>{var s,k;const i=e.resolveComponent("ENodeItem");return e.openBlock(),e.createBlock(e.unref(C._sfc_main),{ref_key:"nodeRef",ref:h,componentSchema:c.schema},e.createSlots({_:2},[(k=(s=e.unref(F.pluginManager).getComponentConfingByType(c.schema.type))==null?void 0:s.editConstraints)!=null&&k.childImmovable?{name:"edit-node",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.schema.children,n=>(e.openBlock(),e.createBlock(i,{key:n.id,schema:n},null,8,["schema"]))),128))]),key:"0"}:{name:"edit-node",fn:e.withCtx(()=>[c.schema.children?(e.openBlock(),e.createBlock(oe,{key:0,schemas:c.schema.children,"onUpdate:schemas":a[0]||(a[0]=n=>c.schema.children=n)},null,8,["schemas"])):e.createCommentVNode("",!0)]),key:"1"}]),1032,["componentSchema"])}}}),le={class:"min-w-750px rounded h-full"},ae=e.defineComponent({__name:"previewJson",setup(A,{expose:R}){const u=F.pluginManager.getComponent("modal"),_=F.pluginManager.getComponent("monacoEditor"),r={theme:"vs-light",selectOnLineNumbers:!0,minimap:{enabled:!1},readOnly:!0},h=e.ref(null),c=e.ref(!1),f=e.inject("pageSchema");function w(){c.value=!1}function g(){c.value=!0,h.value?h.value.setValue(JSON.stringify(f,null,2)):setTimeout(()=>{g()},300)}function M(l="epic-data.json"){const a=JSON.stringify(f,null,2);var i=`data:text/json;charset=utf-8,${encodeURIComponent(a)}`,s=document.createElement("a");s.setAttribute("href",i),s.setAttribute("download",l),s.click()}return R({handleOpen:g}),(l,a)=>(e.openBlock(),e.createBlock(e.unref(u),{modelValue:c.value,"onUpdate:modelValue":a[0]||(a[0]=i=>c.value=i),title:"查看数据",class:"w-900px",width:"900px",onClose:w,onOk:M,okText:"导出数据"},{default:e.withCtx(()=>[e.createElementVNode("div",le,[e.createVNode(e.unref(_),{ref_key:"monacoEditorRef",ref:h,class:"editor h-full",autoToggleTheme:"",readOnly:"",config:r,language:"json"},null,512)])]),_:1},8,["modelValue"]))}}),se={class:"epic-edit-toolbar flex items-center justify-between px-2"},re={class:"flex-1 h-full flex items-center"},ie={key:0,class:"epic-divider"},ce=["title","onClick"],de={class:"flex-1 h-full flex items-center justify-end"},ue={key:0,class:"flex items-center ml-12px"},fe={class:"pr-8px w-82px cursor-pointer"},me={class:"epic-device h-28px items-center gap-1 rounded-md border p-2px flex"},ve=["title","onClick"],pe=e.defineComponent({__name:"toolbar",setup(A){const R=F.pluginManager.getComponent("select"),{canvasScale:u,disabledZoom:_}=C.useStore(),r=e.ref("pc"),h=e.inject("pageSchema"),c=e.inject("designer"),f=e.inject("revoke"),w=e.ref(null),g=[{icon:"icon--epic--computer-outline-rounded",title:"pc",key:"pc"}],M=e.computed(()=>[{icon:"icon--epic--trash",title:"清空",on:n},{icon:"icon--epic--undo",title:"撤销",on:s,disabled:!f.recordList.value.length,divider:!0},{icon:"icon--epic--redo",title:"重做",on:k,disabled:!f.undoList.value.length}]),l=e.ref(null),a=e.computed({get(){return`${(u.value*100).toFixed(0)}%`},set(p){const x=parseFloat(p);u.value=x/100}}),i=[{label:"60%",value:"60%"},{label:"80%",value:"80%"},{label:"100%",value:"100%"},{label:"120%",value:"120%"},{label:"140%",value:"140%"}];function s(){const p=f.undo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function k(){const p=f.redo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function n(){c.reset()}function L(p){var z;const x=(z=p.target.files)==null?void 0:z[0];if(!x)return;p.target.value=null;const v=new FileReader;v.readAsText(x),v.onload=P=>{var E;T((E=P.target)==null?void 0:E.result)}}function T(p){try{let x=JSON.parse(p??"");x.schemas||(x=C.convertKFormData(x)),C.deepCompareAndModify(h,x)}catch(x){console.error(x)}}function B(p){c.handleToggleDeviceMode(p),r.value=p;const x={pc:{},pad:{width:"780px",mode:p},mobile:{width:"390px",mode:p}};h.canvas=x[p]}return(p,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",se,[e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,(v,z)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:z},[v.divider?(e.openBlock(),e.createElementBlock("div",ie)):e.createCommentVNode("",!0),e.createElementVNode("div",{title:v.title,class:e.normalizeClass(["epic-action-item text-base h-90% px-10px flex items-center cursor-pointer",{disabled:v.disabled}]),onClick:v.on},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ce)],64))),128))]),e.withDirectives(e.createElementVNode("input",{type:"file",ref_key:"fileRef",ref:l,accept:".json,.txt",onChange:L},null,544),[[e.vShow,!1]]),e.createElementVNode("div",de,[e.unref(_)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("div",fe,[e.createVNode(e.unref(R),{value:a.value,"onUpdate:value":x[0]||(x[0]=v=>a.value=v),modelValue:a.value,"onUpdate:modelValue":x[1]||(x[1]=v=>a.value=v),options:i,size:"small"},null,8,["value","modelValue"])])])),e.createElementVNode("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,v=>e.createElementVNode("div",{key:v.key,title:v.title,class:e.normalizeClass(["epic-device-item h-full px-1 flex items-center cursor-pointer text-base transition-colors rounded-sm",{checked:v.key===r.value}]),onClick:z=>B(v.key)},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ve)),64))])])]),e.createVNode(ae,{ref_key:"previewJson",ref:w},null,512)],64))}}),he={class:"h-full flex flex-col relative"},ge=["draggable"],xe=e.defineComponent({__name:"editScreenContainer",setup(A){const R=e.inject("pageSchema"),u=e.ref(null),_=e.ref(null),r=e.ref(null),{pressSpace:h,disabledZoom:c}=C.useStore(),{handleElementDragStart:f,handleElementDrag:w,handleElementDragEnd:g}=C.useElementDrag(u),{width:M,height:l}=C.useElementSize(u),{canvasScale:a,handleZoom:i}=C.useElementZoom(_);let s=0,k=0;const n=e.ref({}),L=e.ref({}),T=e.ref({}),B=e.shallowRef({width:0,height:0});e.watchEffect(x),e.watch(T,()=>{e.nextTick(p)});function p(){r.value&&(B.value={width:r.value.clientWidth,height:r.value.clientHeight})}function x(){var E,b;T.value={width:((E=R.canvas)==null?void 0:E.width)??"0",height:((b=R.canvas)==null?void 0:b.height)??"0"}}C.watchOnce(M,v),e.watch(B,v);function v(){let E=B.value.width||s,b=B.value.height||k;n.value={width:M.value+E+"px",height:l.value+b+"px"},L.value={width:E+"px",height:b+"px"},z()}function z(){e.nextTick(()=>{var j;let E=B.value.width||s;const $=(B.value.height||k)/2,D=E/2;(j=u.value)==null||j.scrollTo(D,$)})}C.useResizeObserver(u,P),C.useResizeObserver(_,P);function P(){var b;if(!u.value)return;const E=u.value.getBoundingClientRect();if(s=E.width-60,k=E.height-80,!c.value)if(B.value.width===0)a.value=1;else{const $=(s-20)/B.value.width,D=k/(B.value.height||((b=_.value)==null?void 0:b.clientHeight)||1),j=Math.abs($-1)<Math.abs(D-1);let I=1;j?I=$:I=D,($<1||D<1)&&(I=Math.min($,D)),I<1.4&&I>.5&&(a.value=I)}C.debounce(v,50)()}return(E,b)=>(e.openBlock(),e.createElementBlock("div",he,[e.createVNode(pe),e.createElementVNode("div",{ref_key:"editScreenContainerRef",ref:u,class:e.normalizeClass(["flex-1 overflow-auto overflow-y-hidden epic-edit-screen-container",{"cursor-grab":e.unref(h)}]),draggable:e.unref(h),onWheel:b[0]||(b[0]=(...$)=>e.unref(i)&&e.unref(i)(...$)),onDragstart:b[1]||(b[1]=(...$)=>e.unref(f)&&e.unref(f)(...$)),onDragend:b[2]||(b[2]=(...$)=>e.unref(g)&&e.unref(g)(...$)),onDrag:b[3]||(b[3]=(...$)=>e.unref(w)&&e.unref(w)(...$))},[e.createElementVNode("div",{id:"canvasContainer",class:"flex items-center justify-center",style:e.normalizeStyle(n.value)},[e.createElementVNode("div",{ref_key:"draggableElRef",ref:_,class:"transition-all"},[e.createElementVNode("div",{class:e.normalizeClass({"pointer-events-none":e.unref(h)}),style:e.normalizeStyle(L.value)},[e.renderSlot(E.$slots,"default")],6)],512)],4)],42,ge),e.createElementVNode("div",{ref_key:"sizeBoxRef",ref:r,class:"absolute top-0 pointer-events-none",style:e.normalizeStyle(T.value)},null,4)]))}}),ye={class:"epic-edit-canvas"},_e=e.defineComponent({__name:"index",setup(A){const R=e.ref(null),u=e.ref(null),_=e.inject("pageSchema"),r=e.computed(()=>_.schemas[0]),h=e.computed(()=>({width:"100%",height:"100%"}));return e.onMounted(()=>{var c;(c=u.value)==null||c.handleInit(R.value)}),(c,f)=>(e.openBlock(),e.createElementBlock("section",ye,[e.createVNode(xe,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"epicEditRangeRef",ref:R,class:"epic-edit-range rounded-md overflow-auto relative",style:e.normalizeStyle(h.value)},[e.createVNode(Q,{schema:r.value},null,8,["schema"]),e.createVNode(ne,{ref_key:"ePreviewWidgetsRef",ref:u},null,512)],4)]),_:1})]))}});exports.default=_e;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),F=require("./axios-CYGTE3lR.cjs"),C=require("./index-KtgsmKhr.cjs"),J=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),G=require("./vuedraggable.umd-BqhSJIAi.cjs"),ee={class:"epic-widget-action-item whitespace-nowrap"},te={key:0,class:"flex items-center"},ne=e.defineComponent({__name:"previewWidgets",setup(A,{expose:R}){const u=e.inject("pageManager",{}),_=e.inject("pageSchema"),r=e.inject("designer"),h=e.inject("designerProps"),c=e.inject("revoke"),f=e.ref(null),w=e.ref(null),g=e.ref(null),M=e.ref(!1),l=e.ref(!1),a=e.ref(!0),i=e.ref("top"),{canvasScale:s,disabledZoom:k}=C.useStore();let n=null;const L=e.computed(()=>{const t=r.state.checkedNode;return!(!(t!=null&&t.id)||h.value.lockDefaultSchemaEdit&&u.defaultComponentIds.value.includes(t==null?void 0:t.id))}),T=e.computed(()=>{var S,N,V,m,O,H;const t=u.componentInstances.value,d=(S=r.state.checkedNode)==null?void 0:S.id;if((V=(N=r.state.checkedNode)==null?void 0:N.componentProps)!=null&&V.hidden)return null;const y=F.pluginManager.getComponentConfingByType((m=r.state.checkedNode)==null?void 0:m.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((O=r.state.checkedNode)==null?void 0:O.noFormItem)!==!0)return(H=t[d+"formItem"])==null?void 0:H.$el;const o=t[d];return!(o!=null&&o.$el)||(o==null?void 0:o.$el.nodeName)==="#text"||!(o!=null&&o.$el.getBoundingClientRect)?null:o==null?void 0:o.$el}),B=e.computed(()=>{var S,N,V,m;const t=u.componentInstances.value,d=(S=r.state.hoverNode)==null?void 0:S.id,y=F.pluginManager.getComponentConfingByType((N=r.state.hoverNode)==null?void 0:N.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((V=r.state.hoverNode)==null?void 0:V.noFormItem)!==!0)return(m=t[d+"formItem"])==null?void 0:m.$el;const o=t[d];return(o==null?void 0:o.$el.nodeName)==="#text"?null:o==null?void 0:o.$el}),{mutationObserver:p,observerConfig:x}=Z(j),{startTimedQuery:v,stopTimedQuery:z}=C.useTimedQuery(j);e.watch(()=>T.value,t=>{if(t){M.value=!0,p.observe(t,x);const d=t.parentNode;d&&(d.ondragstart=()=>{a.value=!1,v()},d.ondragend=()=>{a.value=!0,z()}),j()}else M.value=!1});const{mutationObserver:P,observerConfig:E}=Z(q);e.watch(()=>B.value,t=>{t&&(P.observe(t,E),q())});let b=0;e.watch(()=>{var t;return(t=r.state.hoverNode)==null?void 0:t.id},t=>{if(t){l.value=!0,clearTimeout(b);return}b=setTimeout(()=>{l.value=!1},300)});let $=0,D=0;function j(){const t=T.value;if(!t||!n)return;const{top:d,left:y}=n==null?void 0:n.getBoundingClientRect(),{top:o,left:S,width:N,height:V}=t.getBoundingClientRect(),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m,W=V/m;f.value&&(f.value.style.width=`${N/m}px`,f.value.style.height=`${W}px`,f.value.style.top=`${O/m}px`,f.value.style.left=`${H/m}px`,I(O,H)),g.value&&(O<45&&W<100?(g.value.style.top="",g.value.style.bottom="-30px",g.value.style["border-radius"]="0px 0px 4px 4px",i.value="bottom"):O<45?(g.value.style.top="0px",g.value.style["border-radius"]="0px 0px 4px 0",i.value="center"):(g.value.style.top="-30px",g.value.style["border-radius"]="4px 4px 0px 0px",i.value="top"))}function I(t,d){const y=T.value;if(!n||!y)return;const o=n.getBoundingClientRect(),{width:S}=y.getBoundingClientRect(),N=k.value?1:s.value,V=t/N-o.top;let m=d/N-o.left+S/N;m<o.width&&(m=0);const O=n.scrollTop-o.height/3+60,H=n.scrollTop+o.height/3*2,W=n.scrollLeft-o.width+200,U=n.scrollLeft+o.width-200;Math.abs(V-$)<10&&Math.abs(m-D)<10||($=V,D=m,!(V>O&&V<H&&m>W&&m<U)&&(n.scrollTop=V,n.scrollLeft=m))}function q(){var W,U;const t=B.value;if(!t)return;const{top:d,left:y}=(n==null?void 0:n.getBoundingClientRect())??{top:0,left:0},{top:o,left:S,width:N,height:V}=((W=t.getBoundingClientRect)==null?void 0:W.call(t))??((U=t.nextElementSibling)==null?void 0:U.getBoundingClientRect()),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m;w.value&&(w.value.style.width=`${N/m}px`,w.value.style.height=`${V/m}px`,w.value.style.top=`${O/m}px`,w.value.style.left=`${H/m}px`)}function Z(t){const d=window.MutationObserver,y={childList:!0,attributes:!0,subtree:!0};return{mutationObserver:new d(t),observerConfig:y}}function K(){var N;const t=C.findSchemaInfoById(_.schemas,((N=r.state.checkedNode)==null?void 0:N.id)??"root");if(!t)return!1;const{list:d,schema:y,index:o}=t,S=C.generateNewSchema(y);d.splice(o+1,0,S),r.setCheckedNode(S),c.push(_.schemas,"复制组件")}function X(){var S;const t=C.findSchemaInfoById(_.schemas,((S=r.state.checkedNode)==null?void 0:S.id)??"root");if(!t)return!1;let{list:d,schema:y,index:o}=t;d.splice(o,1),o===d.length&&o--,r.setCheckedNode(d[o]),c.push(_.schemas,"删除组件")}function Y(t){n=t,n==null||n.addEventListener("scroll",()=>{j()}),C.useResizeObserver(T,j),C.useResizeObserver(B,q)}return R({handleInit:Y}),(t,d)=>{var y,o,S,N,V;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives(e.createElementVNode("div",{ref_key:"selectorRef",ref:f,class:e.normalizeClass(["epic-checked-widget absolute pointer-events-none z-20",i.value+" "+(a.value?"transition-all":"")])},[e.createElementVNode("div",{class:"epic-widget-action-box",ref_key:"actionBoxRef",ref:g},[e.createElementVNode("div",ee,e.toDisplayString((o=e.unref(F.pluginManager).getComponentConfingByType(((y=e.unref(r).state.checkedNode)==null?void 0:y.type)??""))==null?void 0:o.defaultSchema.label),1),L.value?(e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("div",{title:"复制",class:"epic-widget-action-item pointer-events-auto",onClick:K},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--copy-all-outline-rounded"})]),e.createElementVNode("div",{title:"删除",class:"epic-widget-action-item pointer-events-auto",onClick:X},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--delete-outline-rounded"})])])):e.createCommentVNode("",!0)],512)],2),[[e.vShow,M.value&&((S=e.unref(r).state.checkedNode)==null?void 0:S.id)!=="root"]]),e.withDirectives(e.createElementVNode("div",{ref_key:"hoverWidgetRef",ref:w,class:"epic-hover-widget absolute transition-all pointer-events-none z-998"},null,512),[[e.vShow,l.value&&((N=e.unref(r).state.checkedNode)==null?void 0:N.id)!==((V=e.unref(r).state.hoverNode)==null?void 0:V.id)]])],64)}}}),oe=e.defineComponent({name:"EditNodeItem",__name:"editNodeItem",props:{schemas:{}},emits:["update:schemas"],setup(A,{emit:R}){const u=e.inject("designer"),_=e.inject("pageSchema"),r=e.inject("revoke"),h=A,c=R,f=e.computed({get(){return h.schemas},set(a){c("update:schemas",a)}});function w(a){u.setCheckedNode(f.value[a]),u.setDisableHover(!0)}function g(){u.setDisableHover(),r.push(_.schemas,"拖拽组件")}function M(){r.push(_.schemas,"插入组件")}function l(a){var i,s,k;return a.id===((i=_.schemas[0])==null?void 0:i.id)||(k=(s=F.pluginManager.getComponentConfingByType(a.type))==null?void 0:s.editConstraints)!=null&&k.immovable?"unmover-item":"draggable-item"}return(a,i)=>(e.openBlock(),e.createBlock(e.unref(G.draggable),e.mergeProps({modelValue:f.value,"onUpdate:modelValue":i[0]||(i[0]=s=>f.value=s),"item-key":"id","component-data":{type:"transition-group"},class:"epic-draggable-range"},{animation:200,group:"edit-draggable",handle:".draggable-item",ghostClass:"moveing"},{onStart:i[1]||(i[1]=s=>w(s.oldIndex)),onEnd:i[2]||(i[2]=s=>g()),onAdd:i[3]||(i[3]=s=>{w(s.newIndex),M()})}),{item:e.withCtx(({element:s,index:k})=>[(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["widget-box",l(s)]),key:k},[e.createVNode(Q,{schema:s},null,8,["schema"])],2))]),_:1},16,["modelValue"]))}}),Q=e.defineComponent({name:"ENodeItem",__name:"nodeItem",props:{schema:{},name:{}},setup(A){const R=e.useAttrs(),u=e.inject("designer"),_=e.inject("pageManager",{}),r=e.inject("pageSchema",{}),h=e.ref(null);e.provide("nodeAttrs",R);const c=A,f=e.computed(()=>{var k,n,L,T,B;const l=_.componentInstances.value,a=(k=c.schema)==null?void 0:k.id,i=F.pluginManager.getComponentConfingByType((n=c.schema)==null?void 0:n.type)??null;if(!a||!(l!=null&&l[a]))return null;if(i!=null&&i.defaultSchema.input&&((L=c.schema)==null?void 0:L.noFormItem)!==!0)return(T=l[a+"formItem"])==null?void 0:T.$el;const s=l[a];return((B=s==null?void 0:s.$el)==null?void 0:B.nodeName)==="#text"?null:s==null?void 0:s.$el});e.watch(()=>f.value,l=>{l==null||l.addEventListener("click",w,!1),l==null||l.addEventListener("mouseover",g,!1),l==null||l.addEventListener("mouseout",M,!1)}),e.onUnmounted(()=>{var l,a,i;(l=f.value)==null||l.removeEventListener("click",w,!1),(a=f.value)==null||a.removeEventListener("mouseover",g,!1),(i=f.value)==null||i.removeEventListener("mouseout",M,!1)});function w(l){l.stopPropagation(),u.setCheckedNode(c.schema)}function g(l){var a;c.schema.id!==((a=r.schemas[0])==null?void 0:a.id)&&(l.stopPropagation(),u.setHoverNode(c.schema))}function M(l){l.stopPropagation(),u.setHoverNode(null)}return(l,a)=>{var s,k;const i=e.resolveComponent("ENodeItem");return e.openBlock(),e.createBlock(e.unref(C._sfc_main),{ref_key:"nodeRef",ref:h,componentSchema:c.schema},e.createSlots({_:2},[(k=(s=e.unref(F.pluginManager).getComponentConfingByType(c.schema.type))==null?void 0:s.editConstraints)!=null&&k.childImmovable?{name:"edit-node",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.schema.children,n=>(e.openBlock(),e.createBlock(i,{key:n.id,schema:n},null,8,["schema"]))),128))]),key:"0"}:{name:"edit-node",fn:e.withCtx(()=>[c.schema.children?(e.openBlock(),e.createBlock(oe,{key:0,schemas:c.schema.children,"onUpdate:schemas":a[0]||(a[0]=n=>c.schema.children=n)},null,8,["schemas"])):e.createCommentVNode("",!0)]),key:"1"}]),1032,["componentSchema"])}}}),le={class:"min-w-750px rounded h-full"},ae=e.defineComponent({__name:"previewJson",setup(A,{expose:R}){const u=F.pluginManager.getComponent("modal"),_=F.pluginManager.getComponent("monacoEditor"),r={theme:"vs-light",selectOnLineNumbers:!0,minimap:{enabled:!1},readOnly:!0},h=e.ref(null),c=e.ref(!1),f=e.inject("pageSchema");function w(){c.value=!1}function g(){c.value=!0,h.value?h.value.setValue(JSON.stringify(f,null,2)):setTimeout(()=>{g()},300)}function M(l="epic-data.json"){const a=JSON.stringify(f,null,2);var i=`data:text/json;charset=utf-8,${encodeURIComponent(a)}`,s=document.createElement("a");s.setAttribute("href",i),s.setAttribute("download",l),s.click()}return R({handleOpen:g}),(l,a)=>(e.openBlock(),e.createBlock(e.unref(u),{modelValue:c.value,"onUpdate:modelValue":a[0]||(a[0]=i=>c.value=i),title:"查看数据",class:"w-900px",width:"900px",onClose:w,onOk:M,okText:"导出数据"},{default:e.withCtx(()=>[e.createElementVNode("div",le,[e.createVNode(e.unref(_),{ref_key:"monacoEditorRef",ref:h,class:"editor h-full",autoToggleTheme:"",readOnly:"",config:r,language:"json"},null,512)])]),_:1},8,["modelValue"]))}}),se={class:"epic-edit-toolbar flex items-center justify-between px-2"},re={class:"flex-1 h-full flex items-center"},ie={key:0,class:"epic-divider"},ce=["title","onClick"],de={class:"flex-1 h-full flex items-center justify-end"},ue={key:0,class:"flex items-center ml-12px"},fe={class:"pr-8px w-82px cursor-pointer"},me={class:"epic-device h-28px items-center gap-1 rounded-md border p-2px flex"},ve=["title","onClick"],pe=e.defineComponent({__name:"toolbar",setup(A){const R=F.pluginManager.getComponent("select"),{canvasScale:u,disabledZoom:_}=C.useStore(),r=e.ref("pc"),h=e.inject("pageSchema"),c=e.inject("designer"),f=e.inject("revoke"),w=e.ref(null),g=[{icon:"icon--epic--computer-outline-rounded",title:"pc",key:"pc"}],M=e.computed(()=>[{icon:"icon--epic--trash",title:"清空",on:n},{icon:"icon--epic--undo",title:"撤销",on:s,disabled:!f.recordList.value.length,divider:!0},{icon:"icon--epic--redo",title:"重做",on:k,disabled:!f.undoList.value.length}]),l=e.ref(null),a=e.computed({get(){return`${(u.value*100).toFixed(0)}%`},set(p){const x=parseFloat(p);u.value=x/100}}),i=[{label:"60%",value:"60%"},{label:"80%",value:"80%"},{label:"100%",value:"100%"},{label:"120%",value:"120%"},{label:"140%",value:"140%"}];function s(){const p=f.undo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function k(){const p=f.redo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function n(){c.reset()}function L(p){var z;const x=(z=p.target.files)==null?void 0:z[0];if(!x)return;p.target.value=null;const v=new FileReader;v.readAsText(x),v.onload=P=>{var E;T((E=P.target)==null?void 0:E.result)}}function T(p){try{let x=JSON.parse(p??"");x.schemas||(x=C.convertKFormData(x)),C.deepCompareAndModify(h,x)}catch(x){console.error(x)}}function B(p){c.handleToggleDeviceMode(p),r.value=p;const x={pc:{},pad:{width:"780px",mode:p},mobile:{width:"390px",mode:p}};h.canvas=x[p]}return(p,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",se,[e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,(v,z)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:z},[v.divider?(e.openBlock(),e.createElementBlock("div",ie)):e.createCommentVNode("",!0),e.createElementVNode("div",{title:v.title,class:e.normalizeClass(["epic-action-item text-base h-90% px-10px flex items-center cursor-pointer",{disabled:v.disabled}]),onClick:v.on},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ce)],64))),128))]),e.withDirectives(e.createElementVNode("input",{type:"file",ref_key:"fileRef",ref:l,accept:".json,.txt",onChange:L},null,544),[[e.vShow,!1]]),e.createElementVNode("div",de,[e.unref(_)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("div",fe,[e.createVNode(e.unref(R),{value:a.value,"onUpdate:value":x[0]||(x[0]=v=>a.value=v),modelValue:a.value,"onUpdate:modelValue":x[1]||(x[1]=v=>a.value=v),options:i,size:"small"},null,8,["value","modelValue"])])])),e.createElementVNode("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,v=>e.createElementVNode("div",{key:v.key,title:v.title,class:e.normalizeClass(["epic-device-item h-full px-1 flex items-center cursor-pointer text-base transition-colors rounded-sm",{checked:v.key===r.value}]),onClick:z=>B(v.key)},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ve)),64))])])]),e.createVNode(ae,{ref_key:"previewJson",ref:w},null,512)],64))}}),he={class:"h-full flex flex-col relative"},ge=["draggable"],xe=e.defineComponent({__name:"editScreenContainer",setup(A){const R=e.inject("pageSchema"),u=e.ref(null),_=e.ref(null),r=e.ref(null),{pressSpace:h,disabledZoom:c}=C.useStore(),{handleElementDragStart:f,handleElementDrag:w,handleElementDragEnd:g}=C.useElementDrag(u),{width:M,height:l}=C.useElementSize(u),{canvasScale:a,handleZoom:i}=C.useElementZoom(_);let s=0,k=0;const n=e.ref({}),L=e.ref({}),T=e.ref({}),B=e.shallowRef({width:0,height:0});e.watchEffect(x),e.watch(T,()=>{e.nextTick(p)});function p(){r.value&&(B.value={width:r.value.clientWidth,height:r.value.clientHeight})}function x(){var E,b;T.value={width:((E=R.canvas)==null?void 0:E.width)??"0",height:((b=R.canvas)==null?void 0:b.height)??"0"}}C.watchOnce(M,v),e.watch(B,v);function v(){let E=B.value.width||s,b=B.value.height||k;n.value={width:M.value+E+"px",height:l.value+b+"px"},L.value={width:E+"px",height:b+"px"},z()}function z(){e.nextTick(()=>{var j;let E=B.value.width||s;const $=(B.value.height||k)/2,D=E/2;(j=u.value)==null||j.scrollTo(D,$)})}C.useResizeObserver(u,P),C.useResizeObserver(_,P);function P(){var b;if(!u.value)return;const E=u.value.getBoundingClientRect();if(s=E.width-60,k=E.height-80,!c.value)if(B.value.width===0)a.value=1;else{const $=(s-20)/B.value.width,D=k/(B.value.height||((b=_.value)==null?void 0:b.clientHeight)||1),j=Math.abs($-1)<Math.abs(D-1);let I=1;j?I=$:I=D,($<1||D<1)&&(I=Math.min($,D)),I<1.4&&I>.5&&(a.value=I)}C.debounce(v,50)()}return(E,b)=>(e.openBlock(),e.createElementBlock("div",he,[e.createVNode(pe),e.createElementVNode("div",{ref_key:"editScreenContainerRef",ref:u,class:e.normalizeClass(["flex-1 overflow-auto overflow-y-hidden epic-edit-screen-container",{"cursor-grab":e.unref(h)}]),draggable:e.unref(h),onWheel:b[0]||(b[0]=(...$)=>e.unref(i)&&e.unref(i)(...$)),onDragstart:b[1]||(b[1]=(...$)=>e.unref(f)&&e.unref(f)(...$)),onDragend:b[2]||(b[2]=(...$)=>e.unref(g)&&e.unref(g)(...$)),onDrag:b[3]||(b[3]=(...$)=>e.unref(w)&&e.unref(w)(...$))},[e.createElementVNode("div",{id:"canvasContainer",class:"flex items-center justify-center",style:e.normalizeStyle(n.value)},[e.createElementVNode("div",{ref_key:"draggableElRef",ref:_,class:"transition-all"},[e.createElementVNode("div",{class:e.normalizeClass({"pointer-events-none":e.unref(h)}),style:e.normalizeStyle(L.value)},[e.renderSlot(E.$slots,"default")],6)],512)],4)],42,ge),e.createElementVNode("div",{ref_key:"sizeBoxRef",ref:r,class:"absolute top-0 pointer-events-none",style:e.normalizeStyle(T.value)},null,4)]))}}),ye={class:"epic-edit-canvas"},_e=e.defineComponent({__name:"index",setup(A){const R=e.ref(null),u=e.ref(null),_=e.inject("pageSchema"),r=e.computed(()=>_.schemas[0]),h=e.computed(()=>({width:"100%",height:"100%"}));return e.onMounted(()=>{var c;(c=u.value)==null||c.handleInit(R.value)}),(c,f)=>(e.openBlock(),e.createElementBlock("section",ye,[e.createVNode(xe,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"epicEditRangeRef",ref:R,class:"epic-edit-range rounded-md overflow-auto relative",style:e.normalizeStyle(h.value)},[e.createVNode(Q,{schema:r.value},null,8,["schema"]),e.createVNode(ne,{ref_key:"ePreviewWidgetsRef",ref:u},null,512)],4)]),_:1})]))}});exports.default=_e;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as B, computed as P, inject as O, openBlock as r, createElementBlock as u, Fragment as c, renderList as k, createElementVNode as d, toDisplayString as U, createVNode as g, unref as y, createCommentVNode as $, ref as C, watchEffect as T, createBlock as I, withCtx as M, createTextVNode as N } from "vue";
|
|
2
2
|
import { p as R } from "./axios-ITY6Uw7A.js";
|
|
3
|
-
import { _ as j, n as F, m as q } from "./index-
|
|
3
|
+
import { _ as j, n as F, m as q } from "./index-BM1LEAru.js";
|
|
4
4
|
import { _ as A } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
5
|
const D = [
|
|
6
6
|
{ label: "string", value: "string" },
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as U, inject as L, openBlock as p, createElementBlock as g, Fragment as A, renderList as T, createElementVNode as i, toDisplayString as O, createVNode as C, unref as _, withCtx as R, createCommentVNode as G, createTextVNode as J, ref as E, computed as S, withDirectives as F, normalizeClass as j, vShow as P, reactive as H, createBlock as K, nextTick as Q, toRaw as z, watch as W } from "vue";
|
|
2
|
-
import { l as q, _ as X, k as Y, m as Z } from "./index-
|
|
2
|
+
import { l as q, _ as X, k as Y, m as Z } from "./index-BM1LEAru.js";
|
|
3
3
|
import { p as w } from "./axios-ITY6Uw7A.js";
|
|
4
4
|
import { _ as D } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
5
|
import { d as ee } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
@@ -2,7 +2,7 @@ import { defineComponent as B, inject as j, resolveComponent as J, openBlock as
|
|
|
2
2
|
import { d as Q } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
3
3
|
import { p as f, E as W, a as X } from "./axios-ITY6Uw7A.js";
|
|
4
4
|
import { _ as S } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
|
-
import { n as N } from "./index-
|
|
5
|
+
import { n as N } from "./index-BM1LEAru.js";
|
|
6
6
|
import { ElMessage as Y } from "element-plus";
|
|
7
7
|
import { _ as Z } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
8
8
|
const ee = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),N=require("./vuedraggable.umd-BqhSJIAi.cjs"),i=require("./axios-CYGTE3lR.cjs"),u=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),N=require("./vuedraggable.umd-BqhSJIAi.cjs"),i=require("./axios-CYGTE3lR.cjs"),u=require("./index-KtgsmKhr.cjs"),x=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),w={class:"epic-component-view flex flex-col"},E={class:"epic-search-box px-10px py-6px"},B={class:"flex flex-1 overflow-auto"},M={class:"epic-tabs-box"},j=["title","onClick"],q={class:"h-full flex-1 overflow-auto py-2 box-border"},I=["onClick"],L={class:"epic-componet-label flex-1 w-0 truncate"},P={class:"text-center pt-42px text-gray-400"},T=e.defineComponent({__name:"index",setup($){const k=i.pluginManager.getComponent("input"),d=e.inject("pageSchema"),p=e.inject("designer"),y=e.inject("revoke"),C=e.inject("designerProps"),m=i.pluginManager.getComponentSchemaGroups(),a=e.ref(""),g={title:"全部",list:[]},c=e.ref(g),S=e.computed(()=>[g,...m.value]),s=e.computed(()=>{let o=c.value.list;if(c.value.title==="全部"){const n=m.value.map(t=>t.list);o=[].concat(...n)}return o.filter(n=>{var t;return((t=n.label)==null?void 0:t.includes(a.value))&&(!C.value.formMode||n.type!=="form")})});function V(o){c.value=o}function b(o){var v,f,_;const n=u.findSchemaInfoById(d.schemas,((v=p.state.checkedNode)==null?void 0:v.id)??"root");if(!n)return!1;let{list:t,schema:l,index:r}=n;l.children&&!((_=(f=i.pluginManager.getComponentConfingByType(l.type))==null?void 0:f.editConstraints)!=null&&_.childImmovable)&&(t=l.children,r=l.children.length-1);const h=u.generateNewSchema(o);t.splice(r+1,0,h),p.setCheckedNode(h),y.push(d.schemas,"插入组件")}return(o,n)=>(e.openBlock(),e.createElementBlock("div",w,[e.createElementVNode("div",E,[e.createVNode(e.unref(k),{placeholder:"搜索组件",modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=t=>a.value=t),clearable:"",allowClear:"",value:a.value,"onUpdate:value":n[1]||(n[1]=t=>a.value=t)},{prefix:e.withCtx(()=>[e.createVNode(e.unref(x._sfc_main),{class:"text-$epic-text-helper",name:"icon--epic--search-rounded"})]),_:1},8,["modelValue","value"])]),e.createElementVNode("div",B,[e.createElementVNode("div",M,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["epic-tab cursor-pointer truncate",{checked:c.value.title===t.title}]),key:l,title:t.title,onClick:r=>V(t)},e.toDisplayString(t.title),11,j))),128))]),e.createElementVNode("div",q,[e.createVNode(e.unref(N.draggable),e.mergeProps({modelValue:s.value,"onUpdate:modelValue":n[2]||(n[2]=t=>s.value=t)},{group:{name:"edit-draggable",pull:"clone",put:!1},sort:!1,animation:180,ghostClass:"moving"},{clone:e.unref(u.generateNewSchema),"item-key":"id",class:"grid grid-cols-[auto_auto] px-10px gap-2"}),{item:e.withCtx(({element:t})=>[e.createElementVNode("div",{class:"epic-componet-item flex items-center truncate",onClick:l=>b(t)},[e.createVNode(e.unref(x._sfc_main),{name:e.unref(i.pluginManager).getComponentConfingByType(t.type).icon??""},null,8,["name"]),e.createElementVNode("div",L,e.toDisplayString(t.label),1)],8,I)]),_:1},16,["modelValue","clone"]),e.withDirectives(e.createElementVNode("div",P,"没有查询到的组件",512),[[e.vShow,!s.value.length]])])])]))}});exports.default=T;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as g, ref as p, onMounted as h, watch as v, nextTick as V, openBlock as _, createElementBlock as T } from "vue";
|
|
2
2
|
import * as a from "monaco-editor";
|
|
3
|
-
import { p as b } from "./index-
|
|
3
|
+
import { p as b } from "./index-BM1LEAru.js";
|
|
4
4
|
import { _ as y } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
5
|
const x = /* @__PURE__ */ g({
|
|
6
6
|
__name: "index",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("./axios-CYGTE3lR.cjs"),v=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("./axios-CYGTE3lR.cjs"),v=require("./index-KtgsmKhr.cjs"),k=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),V={key:0,class:"epic-del-btn"},f=["onClick"],h=e.defineComponent({__name:"index",props:{modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(c,{emit:r}){const u=_.pluginManager.getComponent("number"),s=c,d=r,o=e.computed({get(){return s.modelValue},set(n){d("update:modelValue",n)}});function p(){const n={type:"col",children:[],componentProps:{span:12},id:v.getUUID()};o.value.push(n)}function i(n){o.value=o.value.filter((m,t)=>n!==t)}return(n,m)=>(e.openBlock(),e.createElementBlock("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(t,a)=>(e.openBlock(),e.createElementBlock("div",{key:a,class:"EColEditor-item"},[e.createVNode(e.unref(u),{value:t.componentProps.span,"onUpdate:value":l=>t.componentProps.span=l,modelValue:t.componentProps.span,"onUpdate:modelValue":l=>t.componentProps.span=l,style:{width:"100%"},min:1,max:24},null,8,["value","onUpdate:value","modelValue","onUpdate:modelValue"]),o.value.length>1?(e.openBlock(),e.createElementBlock("div",V,[e.createElementVNode("span",{onClick:l=>i(a)},[e.createVNode(e.unref(k._sfc_main),{name:"icon-shanchu1"})],8,f)])):e.createCommentVNode("",!0)]))),128)),e.createElementVNode("div",{class:"add-btn",onClick:p}," 添加 ")]))}});exports.default=h;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";const e=require("vue"),I=require("./axios-CYGTE3lR.cjs");function J(t=10){const a="abcdefghijklmnopqrstuvwxyz0123456789";let r="";for(let n=0;n<t;n++){const o=Math.floor(Math.random()*a.length);r+=a[o]}return r}function j(t){return t.charAt(0).toUpperCase()+t.slice(1)}function N(t,a=new WeakMap){if(typeof t!="object"||t===null)return t;if(a.has(t))return a.get(t);if(Array.isArray(t)){const n=t.map(o=>N(o,a));return a.set(t,n),n}const r={};return a.set(t,r),Object.keys(t).forEach(n=>{r[n]=N(t[n],a)}),r}function he(t){const[a]=ne([N(t)],r=>{var o,s;const n={...r,id:`${r.type}_${J(8)}`};return(n.field||n.input)&&!((s=(o=I.pluginManager.getComponentConfingByType(n.type))==null?void 0:o.editConstraints)!=null&&s.fixedField)&&(n.field=n.id),n});return a}function F(t,a,r=!0){for(const[n,o]of Object.entries(a)){let s=t==null?void 0:t[n];s&&o&&typeof s=="object"&&typeof o=="object"?(Array.isArray(s)&&!Array.isArray(o)?s=t[n]={}:!Array.isArray(s)&&Array.isArray(o)&&(s=t[n]=[]),F(s,o,r)):t[n]=o}r&&Object.keys(t).reverse().forEach(n=>{a.hasOwnProperty(n)||(Array.isArray(t)?t.splice(Number(n),1):delete t[n])})}function Q(t,a,r=[],n=new WeakMap){const o=s=>{if(Array.isArray(s))return s.map(o);if(typeof s=="object"&&s!==null){if(n.has(s))return"[Circular]";n.set(s,!0);const i=Object.keys(s).sort(),c={};return i.forEach(d=>{r.includes(d)||(c[d]=o(s[d]))}),n.delete(s),c}else return s};return JSON.stringify(o(t))===JSON.stringify(o(a))}function ee(t,a){const r=[];let n=!1;function o(s){if(r.push(s),s.id===a&&(n=!0),!n&&s.children!=null&&s.children.length>0)for(let i=0;i<s.children.length&&(o(s.children[i]),!n);i++);if(!n&&s.slots)for(let i in s.slots)for(let c=0;c<s.slots[i].length&&(o(s.slots[i][c]),!n);c++);n||r.pop()}return t.forEach(o),n||console.error(`没有查询到id为${a}的节点`),r}function ve(t,a,r){const n=a.split(".");let o=t;for(let s=0;s<n.length;s++){if(o==null)return r;o=o[n[s]]}return o===void 0?r:o}function ge(t,a,r){const n=a.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let o=t;for(let s=0;s<n.length-1;s++){const i=n[s];o[i]==null&&(o[i]=isNaN(Number(n[s+1]))?{}:[]),o=o[i]}return o[n[n.length-1]]=r,t}function ye(t,a="default"){return te(t,a).map(n=>n.field)}function te(t,a="default"){const r=U(t,o=>{var s;return o.type==="form"&&(((s=o.componentProps)==null?void 0:s.name)??o.name===a)},!0);return U((r==null?void 0:r.children)??[],o=>!!o.input,!1,o=>o.type!=="subform")}function U(t,a,r=!1,n){const o=[],s=[...t];for(;s.length;){const i=s.pop();if(i!=null&&i.children&&(!n||n(i))&&s.push(...i.children),i!=null&&i.slots&&(!n||n(i)))for(let c in i.slots)s.push(...i.slots[c]);if(a(i)&&(o.push(i),r))return i}return r?!1:o}function ne(t,a,r){const n=[...t];for(;n.length;){const o=n.pop();if(o!=null&&o.children&&(!r||r(o))&&n.push(...o.children),o!=null&&o.slots&&(!r||r(o)))for(let s in o.slots)n.push(...o.slots[s]);F(o,a(o))}return t}function we(t,a){const r=U(t,n=>n.id===a,!0);if(!r)throw new Error(`没有查询到id为${a}的节点`);return r}function Se(t,a){const r=[{type:"",children:t}];let n=0,o=null;if(U(r,s=>{if(o=s.children??null,!o){if(s!=null&&s.slots)for(let i in s.slots){o=s.slots[i];for(let c=0;c<o.length;c++)if(o[c].id===a)return n=c,!0}return!1}for(let i=0;i<o.length;i++)if(o[i].id===a)return n=i,!0;return!1},!0),!o)throw new Error(`没有查询到id为${a}的节点`);return{list:o,schema:o[n],index:n}}function be(t){const a={schemas:[{type:"page",id:"root",label:"页面",children:[{label:"表单",type:"form",icon:"epic-icon-daibanshixiang",labelWidth:t.config.labelWidth||100,name:"default",componentProps:{layout:t.config.layout||"horizontal",labelWidth:t.config.labelWidth||100,labelLayout:t.config.labelLayout==="flex"?"fixed":"flex",labelCol:t.config.labelCol||{span:5},wrapperCol:t.config.wrapperCol||{span:19},hideRequiredMark:t.config.hideRequiredMark||!1,colon:t.config.colon||!0,labelAlign:t.config.labelAlign||"right",size:t.config.size||"middle"},children:[],id:"form_"+J()}],componentProps:{style:{padding:"16px"}}}],script:t.script||""};return a.schemas[0].children[0].children=T(t.list),a}function T(t,a){return t.map(r=>{var d,S,v;let n=r.type??"";const o=r.options??{},s=(l,g)=>{n===l&&(n=g,o.defaultValue&&(o.defaultValue=JSON.parse(o.defaultValue)))};if(s("uploadImg","upload-image"),s("uploadFile","upload-file"),n==="date"&&o.range&&(o.type="daterange",delete o.range),(n==="date"||n==="time")&&(o.valueFormat=o.format),n==="textarea"){const{minRows:l,maxRows:g}=o;o.autoSize={minRows:l,maxRows:g},delete o.minRows,delete o.maxRows}n==="number"&&!o.precision&&delete o.precision,o.width&&(o.style={width:o.width},delete o.width),n==="grid"&&(n="row"),a&&a.type==="grid"&&(n="col",o.span=r.span,r.key=J());const i={label:r.label,type:n,icon:r.icon||"",field:r.model,componentProps:o,id:r.key};return(o.noFormItem||!o.showLabel)&&(i.noFormItem=!0,delete o.noFormItem,delete o.showLabel),o.clearable&&(o.allowClear=!0,delete o.clearable),["input","textarea","number","password","select","cascader","checkbox","radio","date","time","slider","switch","color-picker","upload-file","upload-image"].includes(n)&&(i.input=!0,((S=(d=r.rules)==null?void 0:d[0])==null?void 0:S.required)===!1&&r.rules.shift(),((v=r.rules)==null?void 0:v.length)>0&&(i.rules=r.rules)),r.list&&(i.children=T(r.list,r)),r.columns&&(i.children=T(r.columns,r)),r.trs&&(i.children=T(r.trs,r)),r.tds&&(i.children=T(r.tds,r)),i})}function Ce(t,a){let r=null;return(...n)=>{r&&clearTimeout(r),r=setTimeout(()=>{t(...n)},a)}}function G(){const t=e.ref({}),a=e.ref({}),r=e.ref(!1),n=e.ref([]),o=e.reactive({});function s(h){return t.value[h]}function i(h,y){t.value[h]=y}function c(h){delete t.value[h]}function d(h,y=!1){const b=Object.entries(I.pluginManager.publicMethods).reduce((x,[E,V])=>(x[E]=V.handler,x),{});try{new Function(`const epic = this;${h}`).bind({...b,getComponent:s,find:s,defineExpose:S,publicMethods:b,pluginManager:I.pluginManager})()}catch(x){y&&console.error("[epic:自定义函数]异常:",x)}}function S(h){h!=null&&(a.value=h)}function v(h,...y){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(b=>{const x=b.args?JSON.parse(b.args):y;switch(b.type){case"public":l(b,x);break;case"custom":g(b,x);break;case"component":f(b,x);break;default:console.warn(`未知的动作类型: ${b.type}`);break}})}function l(h,y){var b;try{(b=I.pluginManager.publicMethods[h.methodName])==null||b.handler(...y)}catch(x){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,x)}}function g(h,y){var b,x;try{(x=(b=a.value)[h.methodName])==null||x.call(b,...y)}catch(E){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,E)}}function f(h,y){const b=h.componentId!=null&&s(h.componentId);if(!b){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{b[h.methodName](...y)}catch(x){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,x)}}function m(h=!0){r.value=h}function u(h){const y=U(h,()=>!0);n.value=y.map(b=>b.id)}function k(h,y="default"){if(o[y]){const b=o[y];F(h,b)}o[y]=h}function B(h,y="default"){if(o[y]){F(o[y],h,!1);return}o[y]=h}return{componentInstances:t,funcs:a,isDesignMode:r,defaultComponentIds:n,forms:o,addFormData:k,setFormData:B,getComponentInstance:s,find:s,addComponentInstance:i,removeComponentInstance:c,setMethods:d,doActions:v,setDesignMode:m,setDefaultComponentIds:u}}function oe(){const t=e.ref([]),a=e.ref([]),r=e.ref(null);let n=0;function o(d,S="插入组件"){const v=Date.now();n+150>v||(n=v,r.value!=null&&(t.value.push(r.value),a.value.splice(0,a.value.length)),r.value={type:S,componentSchema:JSON.stringify(d)},t.value.length>60&&t.value.unshift())}function s(){if(t.value.length===0)return!1;const d=t.value.pop();return r.value!=null&&a.value.push(r.value),r.value=d,JSON.parse(d.componentSchema)}function i(){if(a.value.length===0)return!1;const d=a.value.pop();return r.value!=null&&t.value.push(r.value),r.value=d,JSON.parse(d.componentSchema)}function c(){t.value=[],a.value=[],r.value=null}return{recordList:t,undoList:a,currentRecord:r,push:o,undo:s,redo:i,reset:c}}const Ee=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:a}){const r=I.pluginManager.getComponent("form-item"),n=t,o=a,s=e.ref(),i=()=>{o("updateFormItemRef",s.value)};return(c,d)=>n.hasFormItem?(e.openBlock(),e.createBlock(e.unref(r),e.mergeProps({key:0,ref_key:"formItemRef",ref:s,onVnodeMounted:i},n.formItemProps),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(c.$slots,"default",{key:1})}}),re=e.defineComponent({name:"ENode",__name:"node",props:{componentSchema:{},modelValue:{},ruleField:{},resetFormData:{type:Boolean},name:{},dynamicId:{},sourceDateUrl:{},id:{}},emits:["update:modelValue","change","update:dynamicId"],setup(t,{emit:a}){const{proxy:r}=e.getCurrentInstance(),n=t,o=e.ref(null);let s=e.inject("formData",e.reactive({}));const i=e.inject("slots",{}),c=e.inject("pageManager",{}),d=e.inject("disabled",{value:!1}),S=e.inject("ruleFieldPrefix",null),v=e.inject("resetFormData",!1);let l=e.reactive(N(n.componentSchema));m();async function g(p){if(["cascader","checkbox","select","radio"].includes(p.type)&&p.componentProps.dynamicId&&n.sourceDateUrl){const C=(await I.axios({url:n.sourceDateUrl,method:"get",params:{id:p.componentProps.dynamicId}})).data.data;let P=await I.axios({url:C.url,method:C.method,data:JSON.parse(C.body),params:JSON.parse(C.params),headers:JSON.parse(C.headers)});if(C&&(C!=null&&C.dataPath)){const fe=C.dataPath.split(".").reduce((pe,me)=>pe[me],P.data);p.componentProps.options=f(fe,C.dataKey,C.dataValue)}else p.componentProps.options=f(P.data,C.dataKey,C.dataValue);return p}return p}function f(p,A,_){return p&&Object.prototype.toString.call(p)==="[object Array]"?p.map(C=>C.children&&C.children.length?{label:C[A],value:C[_]+"",children:f(C.children,A,_)}:{label:C[A],value:C[_]+""}):[]}e.watch(()=>n.componentSchema,p=>{Q(l,p,["children"])||(F(l,N(p)),m())},{deep:!0});function m(){c.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(n.resetFormData||v)&&(s={});const u=a,k=e.ref(),B=e.ref(),h=p=>{B.value=p},y=e.useAttrs();Object.keys(y).length&&e.provide("nodeAttrs",y);const b=e.shallowRef(null),x=e.computed(()=>{var p,A;return(p=l.componentProps)!=null&&p.hidden?!1:typeof l.show=="boolean"?l.show:((A=l.show)==null?void 0:A.call(l,{values:s}))??!0}),E=e.computed(()=>{var C;const p=x.value&&((C=l.rules)==null?void 0:C.map(P=>({...P,validator:P.validator&&c.funcs.value[P.validator]})));let A=l.field;n.ruleField?A=n.ruleField:S&&l.field&&(A=N(S),A.push(l.field));const _={...l,rules:p,rule:p,field:A};return _.children&&delete _.children,_}),V=e.computed(()=>{var _,C;const p=((_=M.value)==null?void 0:_.bindModel)??"modelValue",A={};return l.on&&Object.keys(l.on).forEach(P=>{A[`on${j(P)}`]=(...X)=>c.doActions(l.on[P],...X)}),{...n,...l.componentProps,disabled:(d==null?void 0:d.value)||((C=l.componentProps)==null?void 0:C.disabled),bindModel:p,...A}}),M=e.computed(()=>I.pluginManager.getComponentConfingByType(l.type)??null);e.watchEffect(()=>{o.value=n.modelValue??s[l.field??""]}),e.watch(()=>o.value,()=>{o.value!==(n.modelValue??s[l.field??""])&&w(o.value)}),e.watch(()=>k.value,()=>{D()},{immediate:!0});function D(){var A;const p=k.value||r;l.id&&p&&(l.input&&(p.setValue=w,p.getValue=()=>s[l.field]||n.modelValue),p.setAttr=(_,C)=>(l.componentProps||(l.componentProps={}),l.componentProps[_]=C),p.getAttr=_=>l.componentProps[_],c.addComponentInstance(l.id,p),(A=M.value)!=null&&A.defaultSchema.input&&l.noFormItem!==!0&&B.value&&c.addComponentInstance(l.id+"formItem",B.value))}function L(){var p;l.id&&(c.removeComponentInstance(l.id),(p=M.value)!=null&&p.defaultSchema.input&&l.noFormItem!==!0&&c.removeComponentInstance(l.id+"formItem"))}async function R(){var A,_,C;if(l=await g(l),typeof((A=l.componentProps)==null?void 0:A.defaultValue)<"u"){const P=c.isDesignMode.value?(_=l.componentProps)==null?void 0:_.defaultValue:s[l.field]??((C=l.componentProps)==null?void 0:C.defaultValue);w(N(P))}if(l.type==="slot"){const P=l.slotName;if(!P)return;b.value=e.defineComponent({setup(){return()=>e.renderSlot(i,P,{componentSchema:l,model:s})}});return}const p=I.pluginManager.getComponent(l.type);if(!p){console.error(`组件${l.type}未注册`);return}if(typeof p=="function"){const P=await p();b.value=P.default??P}else b.value=p}function w(p){u("update:modelValue",p),u("change",p),l.field&&(s[l.field]=p),I.EventBus.emit("updateformData"+n.id,s)}function O(p){u("update:dynamicId",p)}let z=null;return e.watch(()=>l,async p=>{const A=JSON.stringify({...p,children:void 0,componentProps:{...p.componentProps,options:null}});if(A===z)return!1;z=A,R()},{immediate:!0,deep:!0}),e.onUnmounted(L),(p,A)=>{var C;const _=e.resolveComponent("ENode");return b.value&&x.value?(e.openBlock(),e.createBlock(Ee,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((C=M.value)==null?void 0:C.defaultSchema.input),formItemProps:E.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b.value),e.mergeProps({ref_key:"componentInstance",ref:k,onVnodeMounted:D,model:e.unref(s)},{...V.value},{[V.value.bindModel]:o.value,["onUpdate:"+V.value.bindModel]:A[0]||(A[0]=P=>o.value=P),[`onUpdate:${V.value.bindModel}`||""]:w,"onUpdate:dynamicId":O}),{node:e.withCtx(P=>[e.createVNode(_,e.mergeProps({id:n.id},P,{sourceDateUrl:n.sourceDateUrl}),null,16,["id","sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(p.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function ke(){const t=e.ref(!1),a=G(),r=e.ref({});function n(){return new Promise(f=>{if(t.value)f();else{const m=e.watch(t,()=>{m(),f()})}})}async function o(f="default"){var u;await n();const m=(u=r.value)==null?void 0:u[f];if(!m)throw new Error(`表单 [name=${f}] 不存在`);return m}async function s(f,m){const u=await o(f);return N(await m(u))}async function i(f="default"){return await s(f,m=>m.getData())}function c(f,m="default"){var k;a.setFormData(f,m);const u=(k=r.value)==null?void 0:k[m];u==null||u.clearValidate()}async function d(f="default"){return await s(f,async m=>(await m.validate(),await m.getData()))}async function S(f){await n();const m={};for(const u in r.value){const k=r.value[u];k&&(m[u]=N(await f(k)))}return m}async function v(){return await S(f=>f.getData())}function l(f){for(const m in f)c(f[m],m)}async function g(){return await S(async f=>(await f.validate(),await f.getData()))}return{ready:t,pageManager:a,forms:r,getData:i,setData:c,validate:d,getForms:v,setForms:l,validateAll:g,getFormInstance:o}}const De={key:0,class:"epic-loading-box"},Ae={class:"epic-builder-main"},xe={class:"epic-loading-box"},ae=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{},id:{}},emits:["change","ready"],setup(t,{expose:a,emit:r}){const n=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),o=r,{ready:s,pageManager:i,forms:c,getData:d,setData:S,validate:v,getForms:l,setForms:g,validateAll:f,getFormInstance:m}=ke(),u=t,k=e.reactive({schemas:[]});e.watch(()=>u.pageSchema,E=>{F(k,E)},{immediate:!0,deep:!0}),e.watch(()=>u.formData,E=>{if(E){let V=h(E);S(V)}},{immediate:!0,deep:!0});function B(E){let V=[];return E.forEach(M=>{M.children&&(V=[...V,...B(M.children)]),V.push(M)}),V}function h(E){let V=B(u.pageSchema.schemas[0].children);return Object.keys(E).forEach(M=>{var R,w,O,z,p;const D=V.find(A=>A.field===M),L=["datetimerange","daterange","monthrange","dates"];(D&&(D==null?void 0:D.type)==="checkbox"||(D==null?void 0:D.type)==="select"&&((R=D==null?void 0:D.componentProps)!=null&&R.multiple)||(D==null?void 0:D.type)==="cascader"&&((O=(w=D==null?void 0:D.componentProps)==null?void 0:w.props)!=null&&O.multiple)||(D==null?void 0:D.type)==="date"&&L.includes((z=D==null?void 0:D.componentProps)==null?void 0:z.type))&&typeof E[M]=="string"&&(E[M]=(p=E[M])==null?void 0:p.split(","))}),E}e.watch(()=>k.script,E=>{E&&i.setMethods(E,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",i),e.provide("forms",c),e.provide("pageSchema",k),e.provide("disabled",e.computed(()=>u.disabled));const y=e.getCurrentInstance(),b=y==null?void 0:y.proxy;function x(){e.nextTick(()=>{s.value=!0,o("ready",i),b&&i.addComponentInstance("builder",b)})}return I.EventBus.on("updateformData"+u.id,E=>{o("change",E)}),a({ready:s,pageManager:i,getData:d,setData:S,validate:v,getForms:l,setForms:g,validateAll:f,getFormInstance:m}),(E,V)=>e.unref(I.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:x},{default:e.withCtx(()=>[e.createElementVNode("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.schemas,(M,D)=>(e.openBlock(),e.createBlock(e.unref(re),{id:u.id,key:D,sourceDateUrl:u.sourceDateUrl,componentSchema:M},null,8,["id","sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",xe,[e.createVNode(e.unref(n))])]),_:1})):(e.openBlock(),e.createElementBlock("div",De))}});function Y(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ie(t){let a=0,r,n;const o=()=>{a-=1,n&&a<=0&&(n.stop(),r=void 0,n=void 0)};return(...s)=>(a+=1,n||(n=e.effectScope(!0),r=n.run(()=>t(...s))),Y(o),r)}function q(t){return typeof t=="function"?t():e.unref(t)}const Pe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const _e=t=>typeof t<"u",Ve=Object.prototype.toString,Me=t=>Ve.call(t)==="[object Object]",Be=()=>{};function Ne(t){return e.getCurrentInstance()}function Fe(t,a=!0,r){Ne()?e.onMounted(t,r):a?t():e.nextTick(t)}function Oe(t=!1,a={}){const{truthyValue:r=!0,falsyValue:n=!1}=a,o=e.isRef(t),s=e.ref(t);function i(c){if(arguments.length)return s.value=c,s.value;{const d=q(r);return s.value=s.value===d?q(n):d,s.value}}return o?i:[s,i]}function Re(t,a,r){const n=e.watch(t,(...o)=>(e.nextTick(()=>n()),a(...o)),r);return n}const H=Pe?window:void 0;function $(t){var a;const r=q(t);return(a=r==null?void 0:r.$el)!=null?a:r}function $e(...t){let a,r,n,o;if(typeof t[0]=="string"||Array.isArray(t[0])?([r,n,o]=t,a=H):[a,r,n,o]=t,!a)return Be;Array.isArray(r)||(r=[r]),Array.isArray(n)||(n=[n]);const s=[],i=()=>{s.forEach(v=>v()),s.length=0},c=(v,l,g,f)=>(v.addEventListener(l,g,f),()=>v.removeEventListener(l,g,f)),d=e.watch(()=>[$(a),q(o)],([v,l])=>{if(i(),!v)return;const g=Me(l)?{...l}:l;s.push(...r.flatMap(f=>n.map(m=>c(v,f,m,g))))},{immediate:!0,flush:"post"}),S=()=>{d(),i()};return Y(S),S}function Te(t){return typeof t=="function"?t:typeof t=="string"?a=>a.key===t:Array.isArray(t)?a=>t.includes(a.key):()=>!0}function se(...t){let a,r,n={};t.length===3?(a=t[0],r=t[1],n=t[2]):t.length===2?typeof t[1]=="object"?(a=!0,r=t[0],n=t[1]):(a=t[0],r=t[1]):(a=!0,r=t[0]);const{target:o=H,eventName:s="keydown",passive:i=!1,dedupe:c=!1}=n,d=Te(a);return $e(o,s,v=>{v.repeat&&q(c)||d(v)&&r(v)},i)}function K(t,a,r={}){return se(t,a,{...r,eventName:"keydown"})}function Z(t,a,r={}){return se(t,a,{...r,eventName:"keyup"})}function Ue(){const t=e.ref(!1),a=e.getCurrentInstance();return a&&e.onMounted(()=>{t.value=!0},a),t}function qe(t){const a=Ue();return e.computed(()=>(a.value,!!t()))}function Le(t){return JSON.parse(JSON.stringify(t))}function le(t,a,r={}){const{window:n=H,...o}=r;let s;const i=qe(()=>n&&"ResizeObserver"in n),c=()=>{s&&(s.disconnect(),s=void 0)},d=e.computed(()=>{const l=q(t);return Array.isArray(l)?l.map(g=>$(g)):[$(l)]}),S=e.watch(d,l=>{if(c(),i.value&&n){s=new ResizeObserver(a);for(const g of l)g&&s.observe(g,o)}},{immediate:!0,flush:"post"}),v=()=>{c(),S()};return Y(v),{isSupported:i,stop:v}}function ze(t,a={width:0,height:0},r={}){const{window:n=H,box:o="content-box"}=r,s=e.computed(()=>{var l,g;return(g=(l=$(t))==null?void 0:l.namespaceURI)==null?void 0:g.includes("svg")}),i=e.ref(a.width),c=e.ref(a.height),{stop:d}=le(t,([l])=>{const g=o==="border-box"?l.borderBoxSize:o==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(n&&s.value){const f=$(t);if(f){const m=f.getBoundingClientRect();i.value=m.width,c.value=m.height}}else if(g){const f=Array.isArray(g)?g:[g];i.value=f.reduce((m,{inlineSize:u})=>m+u,0),c.value=f.reduce((m,{blockSize:u})=>m+u,0)}else i.value=l.contentRect.width,c.value=l.contentRect.height},r);Fe(()=>{const l=$(t);l&&(i.value="offsetWidth"in l?l.offsetWidth:a.width,c.value="offsetHeight"in l?l.offsetHeight:a.height)});const S=e.watch(()=>$(t),l=>{i.value=l?a.width:0,c.value=l?a.height:0});function v(){d(),S()}return{width:i,height:c,stop:v}}function Je(t,a,r,n={}){var o,s,i;const{clone:c=!1,passive:d=!1,eventName:S,deep:v=!1,defaultValue:l,shouldEmit:g}=n,f=e.getCurrentInstance(),m=r||(f==null?void 0:f.emit)||((o=f==null?void 0:f.$emit)==null?void 0:o.bind(f))||((i=(s=f==null?void 0:f.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(f==null?void 0:f.proxy));let u=S;a||(a="modelValue"),u=u||`update:${a.toString()}`;const k=y=>c?typeof c=="function"?c(y):Le(y):y,B=()=>_e(t[a])?k(t[a]):l,h=y=>{g?g(y)&&m(u,y):m(u,y)};if(d){const y=B(),b=e.ref(y);let x=!1;return e.watch(()=>t[a],E=>{x||(x=!0,b.value=k(E),e.nextTick(()=>x=!1))}),e.watch(b,E=>{!x&&(E!==t[a]||v)&&h(E)},{deep:v}),b}else return e.computed({get(){return B()},set(y){h(y)}})}function We(){const{isDark:t}=W(),a=Oe(t);return{isDark:t,toggleDark:a}}function ie(){const t=e.ref(!1);return e.onMounted(()=>{ce(t),He(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function ce(t){var a=document.documentElement;a&&(a.classList.contains("dark")?t.value=!0:t.value=!1)}function He(t){var a=document.querySelector("html"),r=new MutationObserver(function(n){for(var o of n)if(o.type==="attributes"&&o.attributeName==="class"){const s=o.target;new Array(...s.classList).includes("dark")?t.value=!0:t.value=!1}});r.observe(a,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{r.disconnect()})}function ue(){const t=e.ref(1),a=e.ref(!1),{isDark:r}=ie(),{pressSpace:n,pressShift:o,pressCtrl:s}=de();return{canvasScale:t,pressSpace:n,pressShift:o,pressCtrl:s,disabledZoom:a,isDark:r}}const W=Ie(ue);function de(){const t=e.ref(!1),a=e.ref(!1),r=e.ref(!1);return K(" ",()=>{t.value=!0}),Z(" ",()=>{t.value=!1}),K("Shift",n=>{n.preventDefault(),a.value=!0}),Z("Shift",()=>{a.value=!1}),K("Control",n=>{n.preventDefault(),r.value=!0}),Z("Control",()=>{r.value=!1}),{pressSpace:t,pressShift:a,pressCtrl:r}}function Ke(t){const{pressSpace:a}=W(),r=new Image(1,1);r.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let n=0,o=0;function s(d){var S;a.value&&(n=d.x,o=d.y,(S=d.dataTransfer)==null||S.setDragImage(document.createElement("div"),0,0))}function i(d){if(d.preventDefault(),!d.x||!d.y||!a.value)return;const S=d.x-n,v=d.y-o;n=d.x,o=d.y,t.value&&(t.value.scrollTop-=v,t.value.scrollLeft-=S)}function c(){a.value=!1}return{handleElementDragStart:s,handleElementDrag:i,handleElementDragEnd:c}}function Ze(t){const{pressCtrl:a,canvasScale:r,disabledZoom:n}=W();function o(s){if(!a.value||n.value)return;s.preventDefault();let i=0;s.deltaY<0?i=r.value+.05:i=r.value-.05,!(i>150||i<.5)&&(r.value=i)}return e.watch(()=>r.value,s=>{t.value&&!n.value&&(t.value.style.transform=`scale(${s})`)}),{handleZoom:o,canvasScale:r}}function Qe(t,a=16.66){let r;function n(){o(),r=window.setInterval(t,a)}function o(){window.clearInterval(r)}return{startTimedQuery:n,stopTimedQuery:o}}const Ge={class:"min-w-750px rounded"},Ye={class:"h-full rounded"},Xe=e.defineComponent({__name:"index",setup(t,{expose:a}){const r=I.pluginManager.getComponent("monacoEditor"),n=I.pluginManager.getComponent("modal"),o=e.ref(null),s=e.ref(!1),i=e.ref(!1),c=e.ref({}),d=e.inject("pageSchema"),S=e.ref(null),v=e.ref("");function l(){i.value=!1}function g(){s.value=!1}function f(){s.value=!0,v.value=J()}async function m(){try{let u=await S.value.validateAll();if(!Object.keys(u).length){alert("请添加表单组件后再尝试!");return}Object.keys(u).length===1&&(u=u.default),c.value=JSON.stringify(u,null,2),e.nextTick(()=>{var k;(k=o.value)==null||k.setValue(c.value)}),i.value=!0}catch(u){console.error(u)}}return a({handleOpen:f}),(u,k)=>(e.openBlock(),e.createBlock(e.unref(n),{modelValue:s.value,"onUpdate:modelValue":k[1]||(k[1]=B=>s.value=B),title:"预览",class:"w-900px",width:"900px",onClose:g,onOk:m,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ge,[(e.openBlock(),e.createBlock(e.unref(ae),{key:v.value,ref_key:"kb",ref:S,"page-schema":e.unref(d)},null,8,["page-schema"])),e.createVNode(e.unref(n),{modelValue:i.value,"onUpdate:modelValue":k[0]||(k[0]=B=>i.value=B),title:"表单数据",class:"w-860px",width:"860px",onClose:l,onOk:l},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(e.unref(r),{ref_key:"monacoEditorRef",ref:o,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":c.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]))}}),je={key:0,class:"epic-loading-box"},et={class:"epic-designer-main"},tt={class:"epic-header-container"},nt={class:"epic-loading-box"},ot=e.defineComponent({__name:"designer",props:{disabledZoom:{type:Boolean,default:!1},hiddenHeader:{type:Boolean,default:!1},lockDefaultSchemaEdit:{type:Boolean,default:!1},formMode:{type:Boolean,default:!1},title:{default:"EpicDesigner默认项目"},defaultSchema:{},sourceCodeReadOnly:{type:Boolean},source:{default:[]},updateSourceId:{}},emits:["ready","save","reset","toggleDeviceMode","saveSourceData","deleteSourceData","updateSourceData"],setup(t,{expose:a,emit:r}){const n=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-1afOcXnV.cjs"))),o=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BJlPL6eL.cjs"))),s=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C8_KPCGF.cjs"))),i=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C6ceZM1C.cjs"))),c=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),d=G(),S=oe(),v=t;let l={schemas:[{type:"form",id:"root",label:"页面",children:[],componentProps:{name:"表单",style:{padding:"16px"}}}],script:`const { defineExpose, find } = epic;
|
|
2
|
+
|
|
3
|
+
function test (){
|
|
4
|
+
console.log('test')
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
// 通过defineExpose暴露的函数或者属性
|
|
8
|
+
defineExpose({
|
|
9
|
+
test
|
|
10
|
+
})`};e.watchEffect(()=>{if(v.defaultSchema){l=v.defaultSchema;return}v.source&&I.pluginManager.setSourceData(v.source),v.formMode&&(l.schemas=I.pluginManager.formSchemas)}),d.setDesignMode(),d.setDefaultComponentIds(l.schemas);const g=r,f=e.ref(null),m=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),u=e.reactive({schemas:[],script:l.script}),{disabledZoom:k}=W();e.watchEffect(()=>{k.value=v.disabledZoom}),e.watchEffect(()=>{const w=u.script;w&&w!==""&&d.setMethods(w)}),e.provide("pageSchema",u),e.provide("revoke",S),e.provide("pageManager",d),e.provide("designerProps",e.computed(()=>v)),e.provide("designer",{setCheckedNode:h,setHoverNode:y,setDisableHover:x,handleToggleDeviceMode:L,reset:M,state:m}),I.EventBus.on("saveSourceData",w=>{g("saveSourceData",w)}),I.EventBus.on("deleteSourceData",w=>{g("deleteSourceData",w)}),I.EventBus.on("updateSourceData",w=>{g("updateSourceData",w)});function B(){u.schemas=N(l.schemas),h(u.schemas[0]),S.push(u.schemas,"初始化撤销功能")}async function h(w=u.schemas[0]){m.checkedNode=w,m.matched=ee(u.schemas,w.id)}async function y(w=null){var O;if(!w||m.disableHover)return m.hoverNode=null,!1;if((w==null?void 0:w.id)===((O=m.hoverNode)==null?void 0:O.id))return!1;m.hoverNode=w}function b(){e.nextTick(()=>{g("ready",{pageManager:d})})}async function x(w=!1){m.disableHover=w}function E(w){F(u,N(w))}function V(){return e.toRaw(u)}function M(){Q(u.schemas,l.schemas)&&u.script===l.script||(F(u.schemas,l.schemas),u.script=l.script,h(u.schemas[0]),S.push(u.schemas,"重置操作"),g("reset",u))}function D(){g("save",e.toRaw(u))}function L(w){g("toggleDeviceMode",w)}function R(){f.value.handleOpen()}return B(),a({revoke:S,setData:E,getData:V,reset:M,preview:R}),(w,O)=>e.unref(I.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:b},{default:e.withCtx(()=>[e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.renderSlot(w.$slots,"header",{},()=>[v.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n),{key:0,onPreview:R,onSave:D},{header:e.withCtx(()=>[e.renderSlot(w.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(w.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(w.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(w.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(w.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(w.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":w.hiddenHeader}])},[e.createVNode(e.unref(o)),e.createVNode(e.unref(s)),e.createVNode(e.unref(i))],2),e.createVNode(Xe,{ref_key:"previewRef",ref:f},null,512)])]),fallback:e.withCtx(()=>[e.createElementVNode("div",nt,[e.createVNode(e.unref(c))])]),_:3})):(e.openBlock(),e.createElementBlock("div",je))}}),rt={component:async()=>await Promise.resolve().then(()=>require("./index-BmpuQvz8.cjs")),defaultSchema:{label:"代码编辑器",type:"monacoEditor",field:"monacoEditor",icon:"epic-icon-write",input:!0},config:{attribute:[{label:"字段名",type:"input",field:"field"},{label:"标题",type:"input",field:"label"},{label:"默认值",type:"monacoEditor",field:"componentProps.defaultValue"}]},bindModel:"model-value"},at={component:async()=>await Promise.resolve().then(()=>require("./index-Ch9jeYmj.cjs")),defaultSchema:{label:"页面",type:"page",componentProps:{},children:[]},config:{attribute:[{label:"页面名称",type:"input",componentProps:{placeholder:"请输入"},field:"componentProps.name"}]}};function st(t){t.component("EInputSize",async()=>await Promise.resolve().then(()=>require("./index-DpzLP1Zp.cjs"))),t.component("EColEditor",async()=>await Promise.resolve().then(()=>require("./index-DuajNE8y.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-B-S6G7Gm.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-BUnjVAci.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-qZR6iV6F.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-ZvngKPSa.cjs"))),t.component("EDataSource",async()=>await Promise.resolve().then(()=>require("./index-B03W7FZR.cjs"))),t.registerActivitybar({id:"component_view",title:"组件",icon:"icon--epic--extension-outline",component:async()=>await Promise.resolve().then(()=>require("./index-DIq67rZG.cjs"))}),t.registerActivitybar({id:"outline_view",title:"大纲",icon:"icon--epic--account-tree-outline-rounded",component:async()=>await Promise.resolve().then(()=>require("./outline-CJSEUbgc.cjs"))}),t.registerRightSidebar({id:"attribute_view",title:"属性",component:async()=>await Promise.resolve().then(()=>require("./attributeView-D3Qsq4Rp.cjs"))}),t.registerRightSidebar({id:"style_view",title:"样式",component:async()=>await Promise.resolve().then(()=>require("./styleView-CWElODVj.cjs"))}),[rt,at].forEach(r=>{t.registerComponent(r)})}st(I.pluginManager);exports._sfc_main=re;exports._sfc_main$1=ae;exports._sfc_main$2=ot;exports.capitalizeFirstLetter=j;exports.convertKFormData=be;exports.debounce=Ce;exports.deepClone=N;exports.deepCompareAndModify=F;exports.deepEqual=Q;exports.findSchemaById=we;exports.findSchemaInfoById=Se;exports.findSchemas=U;exports.generateNewSchema=he;exports.getDarkState=ce;exports.getFormFields=ye;exports.getFormSchemas=te;exports.getMatchedById=ee;exports.getUUID=J;exports.getValueByPath=ve;exports.initStore=ue;exports.mapSchemas=ne;exports.recursionConvertedNode=T;exports.setValueByPath=ge;exports.useDark=ie;exports.useElementDrag=Ke;exports.useElementSize=ze;exports.useElementZoom=Ze;exports.useKeyPress=de;exports.usePageManager=G;exports.useResizeObserver=le;exports.useRevoke=oe;exports.useStore=W;exports.useTheme=We;exports.useTimedQuery=Qe;exports.useVModel=Je;exports.watchOnce=Re;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-KtgsmKhr.cjs");exports.default=e._sfc_main;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),E=require("./vuedraggable.umd-BqhSJIAi.cjs"),p=require("./axios-CYGTE3lR.cjs"),y=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),b=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),E=require("./vuedraggable.umd-BqhSJIAi.cjs"),p=require("./axios-CYGTE3lR.cjs"),y=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),b=require("./index-KtgsmKhr.cjs"),B=require("element-plus"),S=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),U={key:0,class:"pl-4"},M=e.defineComponent({name:"EOptionItem",__name:"optionItem",props:{modelValue:{}},emits:["update:modelValue"],setup(h,{emit:g}){const k=h,f=p.pluginManager.getComponent("input"),s=e.inject("tree",!1),m=g,c=b.useVModel(k,"modelValue",m);function _(o){const d={label:"",value:""};o.children?o.children.push(d):o.children=[d]}function r(o){c.value=c.value.filter((d,v)=>v!==o)}return(o,d)=>{const v=e.resolveComponent("EOptionItem");return e.openBlock(),e.createBlock(e.unref(E.draggable),{modelValue:e.unref(c),"onUpdate:modelValue":d[0]||(d[0]=a=>e.isRef(c)?c.value=a:null),"item-key":"id","component-data":{type:"transition-group"},group:"option-list",handle:".handle",animation:200},{item:e.withCtx(({element:a,index:V})=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass([e.unref(s)?"grid-cols-[16px_auto_auto_16px_16px]":"grid-cols-[16px_auto_auto_16px]","option-item text-16px grid text-$epic-text-secondary gap-2 items-center mb-2"])},[e.createVNode(e.unref(y._sfc_main),{class:"mr-2 cursor-move handle",name:"icon--epic--drag"}),e.createVNode(e.unref(f),{modelValue:a.label,"onUpdate:modelValue":u=>a.label=u,value:a.label,"onUpdate:value":u=>a.label=u,placeholder:"label"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.createVNode(e.unref(f),{modelValue:a.value,"onUpdate:modelValue":u=>a.value=u,value:a.value,"onUpdate:value":u=>a.value=u,placeholder:"value"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.unref(s)?(e.openBlock(),e.createBlock(e.unref(y._sfc_main),{key:0,class:"cursor-pointer text-lg!",name:"icon--epic--add-rounded",onClick:u=>_(a)},null,8,["onClick"])):e.createCommentVNode("",!0),e.createVNode(e.unref(y._sfc_main),{class:"hover:text-red cursor-pointer",name:"icon--epic--delete-outline-rounded",onClick:u=>r(V)},null,8,["onClick"])],2),a.children?(e.openBlock(),e.createElementBlock("div",U,[e.createVNode(v,{modelValue:a.children,"onUpdate:modelValue":u=>a.children=u},null,8,["modelValue","onUpdate:modelValue"])])):e.createCommentVNode("",!0)])]),_:1},8,["modelValue"])}}}),O={class:""},I={class:"epic-tabs-box"},q=["title","onClick"],w={key:0},$={class:"py-4 my-2 text-center text-gray-400 bg-white"},D={key:1},j=e.defineComponent({__name:"index",props:{tree:{type:Boolean},modelValue:{},dynamicId:{},type:{}},emits:["update:modelValue","update:EOptionsEditor"],setup(h,{emit:g}){const k=p.pluginManager.getComponent("button"),f=p.pluginManager.getComponent("select"),s=e.ref([]),m=e.reactive({title:"静态"}),c=h,_=g;p.EventBus.on("updateSource",t=>{s.value=p.pluginManager.sourceData.map(l=>({...l,label:l.apiName,value:l.id})),V(o.value)}),e.onMounted(()=>{s.value=p.pluginManager.sourceData.map(t=>({...t,label:t.apiName,value:t.id})),V(o.value)});const r=b.useVModel(c,"modelValue",_),o=b.useVModel(c,"dynamicId",_);function d(t,l,i){return t&&Object.prototype.toString.call(t)==="[object Array]"?t.map(n=>n.children&&n.children.length?{label:n[l],value:n[i]+"",children:d(n.children,l,i)}:{label:n[l],value:n[i]+""}):(B.ElMessage.info("请检查数据位置是否配置准确"),[])}e.watch(()=>o.value,async()=>{o.value?m.title="动态":m.title="静态"},{immediate:!0});const v=[{title:"静态"},{title:"动态"}];async function a(t){m.title=t.title,t.title==="静态"?(r.value=[],o.value=""):(r.value=[],s.value=p.pluginManager.sourceData.map(l=>({...l,label:l.apiName,value:l.id})))}async function V(t){const l=s.value.find(i=>i.id===t);if(l&&l.url){let i=await p.axios({method:(l==null?void 0:l.method)||"get",url:l.url,params:l!=null&&l.params?JSON.parse(l==null?void 0:l.params):{},data:l!=null&&l.data?JSON.parse(l==null?void 0:l.data):{},headers:l!=null&&l.header?JSON.parse(l==null?void 0:l.header):{}});if(l&&(l!=null&&l.dataPath)){const x=l.dataPath.split(".").reduce((N,C)=>N[C],i.data);r.value=d(x,l.dataKey,l.dataValue)}else r.value=d(i.data,l.dataKey,l.dataValue)}}c.modelValue,e.provide("tree",c.tree);function u(){const t=e.reactive({label:"",value:""});r.value.length?r.value=[...r.value,t]:r.value=[t]}return(t,l)=>{var i;return e.openBlock(),e.createElementBlock("div",O,[e.createElementVNode("div",null,[e.createElementVNode("div",I,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(v,(n,x)=>e.createElementVNode("div",{class:e.normalizeClass(["epic-tab cursor-pointer truncate",{checked:m.title===n.title}]),key:x,title:n.title,onClick:N=>a(n)},e.toDisplayString(n.title),11,q)),64))]),m.title==="静态"?(e.openBlock(),e.createElementBlock("div",w,[e.withDirectives(e.createElementVNode("div",$,"暂无选项",512),[[e.vShow,!((i=e.unref(r))!=null&&i.length)]]),e.createVNode(M,{modelValue:e.unref(r),"onUpdate:modelValue":l[0]||(l[0]=n=>e.isRef(r)?r.value=n:null)},null,8,["modelValue"]),e.createVNode(e.unref(k),{onClick:u},{default:e.withCtx(()=>l[2]||(l[2]=[e.createTextVNode("添加选项")])),_:1})])):(e.openBlock(),e.createElementBlock("div",D,[l[3]||(l[3]=e.createElementVNode("span",{style:{"font-size":"12px","margin-bottom":"8px",display:"inline-block"}},"数据源",-1)),e.createVNode(e.unref(f),{modelValue:e.unref(o),"onUpdate:modelValue":l[1]||(l[1]=n=>e.isRef(o)?o.value=n:null),placeholder:"请选择数据源",clearable:"",options:s.value,onChange:V},null,8,["modelValue","options"])]))])])}}}),A=S._export_sfc(j,[["__scopeId","data-v-706ed161"]]);exports.default=A;
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-KtgsmKhr.cjs"),a=require("./axios-CYGTE3lR.cjs");exports.EBuilder=e._sfc_main$1;exports.EDesigner=e._sfc_main$2;exports.ENode=e._sfc_main;exports.capitalizeFirstLetter=e.capitalizeFirstLetter;exports.convertKFormData=e.convertKFormData;exports.debounce=e.debounce;exports.deepClone=e.deepClone;exports.deepCompareAndModify=e.deepCompareAndModify;exports.deepEqual=e.deepEqual;exports.findSchemaById=e.findSchemaById;exports.findSchemaInfoById=e.findSchemaInfoById;exports.findSchemas=e.findSchemas;exports.generateNewSchema=e.generateNewSchema;exports.getDarkState=e.getDarkState;exports.getFormFields=e.getFormFields;exports.getFormSchemas=e.getFormSchemas;exports.getMatchedById=e.getMatchedById;exports.getUUID=e.getUUID;exports.getValueByPath=e.getValueByPath;exports.initStore=e.initStore;exports.mapSchemas=e.mapSchemas;exports.recursionConvertedNode=e.recursionConvertedNode;exports.setValueByPath=e.setValueByPath;exports.useDark=e.useDark;exports.useElementDrag=e.useElementDrag;exports.useElementZoom=e.useElementZoom;exports.useKeyPress=e.useKeyPress;exports.usePageManager=e.usePageManager;exports.useRevoke=e.useRevoke;exports.useStore=e.useStore;exports.useTheme=e.useTheme;exports.useTimedQuery=e.useTimedQuery;exports.EventBus=a.EventBus;exports.PluginManager=a.PluginManager;exports.loadAsyncComponent=a.loadAsyncComponent;exports.pluginManager=a.pluginManager;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { q as s, r as t, _ as r, E as o, c as n, j as d, m, d as u, x as i, l as g, f as l, B as c, g as p, H as h, z as y, A as E, y as S, k as f, o as B, I as D, C as F, D as I, s as P, G as v, e as C, i as M, F as k, t as x, v as A, u as N, p as q, a as z } from "./index-
|
|
1
|
+
import { q as s, r as t, _ as r, E as o, c as n, j as d, m, d as u, x as i, l as g, f as l, B as c, g as p, H as h, z as y, A as E, y as S, k as f, o as B, I as D, C as F, D as I, s as P, G as v, e as C, i as M, F as k, t as x, v as A, u as N, p as q, a as z } from "./index-BM1LEAru.js";
|
|
2
2
|
import { E as T, P as U, l as V, p as b } from "./axios-ITY6Uw7A.js";
|
|
3
3
|
export {
|
|
4
4
|
s as EBuilder,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),g=require("./axios-CYGTE3lR.cjs"),B=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),E={class:"btn"},j={class:"btns"},z={__name:"sign",props:{componentSchema:{type:Object,require:!0,default:()=>({})},modelValue:{type:String,default:""}},emits:["update:modelValue"],setup(x,{expose:b,emit:w}){const d=g.pluginManager.getComponent("button"),S=w,a=x;t.watch(()=>a.componentSchema,()=>{t.nextTick(()=>{v()})},{deep:!0,immediate:!0});const P=new ResizeObserver(o=>{for(const e of o)e.target&&e.target.clientWidth&&e.target.clientHeight&&v()}),l=t.ref(null),u=t.ref(null),n=t.ref(),V=t.ref("");function v(){var o,e;if(u.value&&((o=u.value)!=null&&o.clientHeight)&&((e=u.value)!=null&&e.clientWidth)){if(l.value.height=u.value.clientHeight,l.value.width=u.value.clientWidth,n.value=l.value.getContext("2d"),a.modelValue){let s=new Image;s.src=a.modelValue,s.setAttribute("crossOrigin","anonymous"),s.onload=()=>{n.value.fillStyle=n.value.createPattern(s,"repeat"),n.value.fillRect(0,0,1e3,550)}}n.value.lineWidth=a.componentSchema.componentProps.lineWidth||4,a.componentSchema&&a.componentSchema.componentProps&&a.componentSchema.componentProps.style&&a.componentSchema.componentProps.style.color&&(n.value.strokeStyle=a.componentSchema.componentProps.style.color),V.value=l.value.getBoundingClientRect()}}const i=t.ref(""),c=t.ref(""),_=t.ref(""),T=t.ref(""),r=t.ref([]),m=t.ref(!1);function k(o){o=o||event,o.preventDefault();let e={x:o.offsetX,y:o.offsetY};i.value=e.x,c.value=e.y,n.value.beginPath(),n.value.moveTo(e.x,e.y),n.value.lineTo(e.x,e.y),n.value.stroke(),n.value.closePath(),r.value.push(e),m.value=!0}function C(o){if(o=o||event,o.preventDefault(),m.value){let e={x:o.offsetX,y:o.offsetY};_.value=e.x,T.value=e.y,n.value.beginPath(),n.value.moveTo(i.value,c.value),n.value.lineTo(e.x,e.y),n.value.stroke(),n.value.closePath(),i.value=e.x,c.value=e.y,r.value.push(e)}}function N(o){o=o||event,o.preventDefault();let e={x:o.offsetX,y:o.offsetY};n.value.beginPath(),n.value.moveTo(i.value,c.value),n.value.lineTo(e.x,e.y),n.value.stroke(),n.value.closePath(),r.value.push(e),r.value.push({x:-1,y:-1}),m.value=!1}function h(){n.value.clearRect(0,0,l.value.width,l.value.height),r.value=[]}async function f(){let o=await D(l.value.toDataURL("image/png"));S("update:modelValue",o)}async function D(o){let e=atob(o.split(",")[1]),s=new ArrayBuffer(e.length),M=new Uint8Array(s);for(let p=0;p<e.length;p++)M[p]=e.charCodeAt(p);let W=new Blob([s],{type:"image/png"}),y=new FormData;return y.append("file",W,Date.now()+"png"),(await g.axios({method:"post",url:"https://ess-ds.com/prod-api/center-file/file/upload",data:y,headers:{"Content-Type":"multipart/form-data"}})).data.data.url}return t.onMounted(()=>{v(),P.observe(u.value)}),t.onUnmounted(()=>{}),b({surewrite:f}),(o,e)=>(t.openBlock(),t.createElementBlock("div",{class:"sign",style:t.normalizeStyle({height:a.componentSchema.componentProps.style.height,width:a.componentSchema.componentProps.style.width||"100%"})},[t.createElementVNode("div",{class:"canvas",ref_key:"canvasWrap",ref:u},[t.createElementVNode("canvas",{ref_key:"canvas",ref:l,onMousedown:k,onMousemove:C,onMouseup:N},null,544)],512),t.createElementVNode("div",E,[e[2]||(e[2]=t.createElementVNode("div",{class:"remark"},null,-1)),t.createElementVNode("div",j,[t.createVNode(t.unref(d),{type:"info",size:"mini",onClick:h,onTouch:h},{default:t.withCtx(()=>e[0]||(e[0]=[t.createTextVNode("重写")])),_:1}),t.createVNode(t.unref(d),{type:"primary",size:"mini",onClick:f,onTouch:f},{default:t.withCtx(()=>e[1]||(e[1]=[t.createTextVNode("确定")])),_:1})])])],4))}},O=B._export_sfc(z,[["__scopeId","data-v-e6820cdc"]]);exports.default=O;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { watch as j, nextTick as A, ref as a, onMounted as O, onUnmounted as U, openBlock as H, createElementBlock as I, normalizeStyle as N, createElementVNode as
|
|
1
|
+
import { watch as j, nextTick as A, ref as a, onMounted as O, onUnmounted as U, openBlock as H, createElementBlock as I, normalizeStyle as N, createElementVNode as r, createVNode as x, unref as b, withCtx as w, createTextVNode as P } from "vue";
|
|
2
2
|
import { p as E, a as F } from "./axios-ITY6Uw7A.js";
|
|
3
3
|
import { _ as q } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
4
4
|
const L = { class: "btn" }, G = { class: "btns" }, J = {
|
|
@@ -15,9 +15,9 @@ const L = { class: "btn" }, G = { class: "btns" }, J = {
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
emits: ["update:modelValue"],
|
|
18
|
-
setup(
|
|
19
|
-
const h = E.getComponent("button"), T =
|
|
20
|
-
|
|
18
|
+
setup(S, { expose: _, emit: k }) {
|
|
19
|
+
const h = E.getComponent("button"), T = k, n = S;
|
|
20
|
+
j(
|
|
21
21
|
() => n.componentSchema,
|
|
22
22
|
() => {
|
|
23
23
|
A(() => {
|
|
@@ -42,37 +42,36 @@ const L = { class: "btn" }, G = { class: "btns" }, J = {
|
|
|
42
42
|
o.value.lineWidth = n.componentSchema.componentProps.lineWidth || 4, n.componentSchema && n.componentSchema.componentProps && n.componentSchema.componentProps.style && n.componentSchema.componentProps.style.color && (o.value.strokeStyle = n.componentSchema.componentProps.style.color), D.value = l.value.getBoundingClientRect();
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
const
|
|
46
|
-
function
|
|
45
|
+
const c = a(""), p = a(""), V = a(""), W = a(""), i = a([]), f = a(!1);
|
|
46
|
+
function B(t) {
|
|
47
47
|
t = t || event, t.preventDefault();
|
|
48
48
|
let e = {
|
|
49
49
|
x: t.offsetX,
|
|
50
50
|
y: t.offsetY
|
|
51
51
|
};
|
|
52
|
-
|
|
52
|
+
c.value = e.x, p.value = e.y, o.value.beginPath(), o.value.moveTo(e.x, e.y), o.value.lineTo(e.x, e.y), o.value.stroke(), o.value.closePath(), i.value.push(e), f.value = !0;
|
|
53
53
|
}
|
|
54
|
-
function
|
|
54
|
+
function M(t) {
|
|
55
55
|
if (t = t || event, t.preventDefault(), f.value) {
|
|
56
56
|
let e = {
|
|
57
57
|
x: t.offsetX,
|
|
58
58
|
y: t.offsetY
|
|
59
59
|
};
|
|
60
|
-
V.value = e.x,
|
|
60
|
+
V.value = e.x, W.value = e.y, o.value.beginPath(), o.value.moveTo(c.value, p.value), o.value.lineTo(e.x, e.y), o.value.stroke(), o.value.closePath(), c.value = e.x, p.value = e.y, i.value.push(e);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
function
|
|
63
|
+
function z(t) {
|
|
64
64
|
t = t || event, t.preventDefault();
|
|
65
65
|
let e = {
|
|
66
66
|
x: t.offsetX,
|
|
67
67
|
y: t.offsetY
|
|
68
68
|
};
|
|
69
|
-
o.value.beginPath(), o.value.moveTo(
|
|
69
|
+
o.value.beginPath(), o.value.moveTo(c.value, p.value), o.value.lineTo(e.x, e.y), o.value.stroke(), o.value.closePath(), i.value.push(e), i.value.push({ x: -1, y: -1 }), f.value = !1;
|
|
70
70
|
}
|
|
71
|
-
function
|
|
71
|
+
function y() {
|
|
72
72
|
o.value.clearRect(0, 0, l.value.width, l.value.height), i.value = [];
|
|
73
73
|
}
|
|
74
74
|
async function d() {
|
|
75
|
-
console.log("%c [ ]-145", "font-size:13px; background:pink; color:#bf2c9f;", l.value);
|
|
76
75
|
let t = await R(l.value.toDataURL("image/png"));
|
|
77
76
|
T("update:modelValue", t);
|
|
78
77
|
}
|
|
@@ -80,11 +79,11 @@ const L = { class: "btn" }, G = { class: "btns" }, J = {
|
|
|
80
79
|
let e = atob(t.split(",")[1]), u = new ArrayBuffer(e.length), X = new Uint8Array(u);
|
|
81
80
|
for (let m = 0; m < e.length; m++)
|
|
82
81
|
X[m] = e.charCodeAt(m);
|
|
83
|
-
let Y = new Blob([u], { type: "image/png" }),
|
|
84
|
-
return
|
|
82
|
+
let Y = new Blob([u], { type: "image/png" }), g = new FormData();
|
|
83
|
+
return g.append("file", Y, Date.now() + "png"), (await F({
|
|
85
84
|
method: "post",
|
|
86
85
|
url: "https://ess-ds.com/prod-api/center-file/file/upload",
|
|
87
|
-
data:
|
|
86
|
+
data: g,
|
|
88
87
|
headers: {
|
|
89
88
|
"Content-Type": "multipart/form-data"
|
|
90
89
|
}
|
|
@@ -93,7 +92,7 @@ const L = { class: "btn" }, G = { class: "btns" }, J = {
|
|
|
93
92
|
return O(() => {
|
|
94
93
|
v(), C.observe(s.value);
|
|
95
94
|
}), U(() => {
|
|
96
|
-
}),
|
|
95
|
+
}), _({
|
|
97
96
|
surewrite: d
|
|
98
97
|
}), (t, e) => (H(), I("div", {
|
|
99
98
|
class: "sign",
|
|
@@ -102,41 +101,41 @@ const L = { class: "btn" }, G = { class: "btns" }, J = {
|
|
|
102
101
|
width: n.componentSchema.componentProps.style.width || "100%"
|
|
103
102
|
})
|
|
104
103
|
}, [
|
|
105
|
-
|
|
104
|
+
r("div", {
|
|
106
105
|
class: "canvas",
|
|
107
106
|
ref_key: "canvasWrap",
|
|
108
107
|
ref: s
|
|
109
108
|
}, [
|
|
110
|
-
|
|
109
|
+
r("canvas", {
|
|
111
110
|
ref_key: "canvas",
|
|
112
111
|
ref: l,
|
|
113
|
-
onMousedown:
|
|
114
|
-
onMousemove:
|
|
115
|
-
onMouseup:
|
|
112
|
+
onMousedown: B,
|
|
113
|
+
onMousemove: M,
|
|
114
|
+
onMouseup: z
|
|
116
115
|
}, null, 544)
|
|
117
116
|
], 512),
|
|
118
|
-
|
|
119
|
-
e[2] || (e[2] =
|
|
120
|
-
|
|
121
|
-
b(
|
|
117
|
+
r("div", L, [
|
|
118
|
+
e[2] || (e[2] = r("div", { class: "remark" }, null, -1)),
|
|
119
|
+
r("div", G, [
|
|
120
|
+
x(b(h), {
|
|
122
121
|
type: "info",
|
|
123
122
|
size: "mini",
|
|
124
|
-
onClick:
|
|
125
|
-
onTouch:
|
|
123
|
+
onClick: y,
|
|
124
|
+
onTouch: y
|
|
126
125
|
}, {
|
|
127
126
|
default: w(() => e[0] || (e[0] = [
|
|
128
|
-
|
|
127
|
+
P("重写")
|
|
129
128
|
])),
|
|
130
129
|
_: 1
|
|
131
130
|
}),
|
|
132
|
-
b(
|
|
131
|
+
x(b(h), {
|
|
133
132
|
type: "primary",
|
|
134
133
|
size: "mini",
|
|
135
134
|
onClick: d,
|
|
136
135
|
onTouch: d
|
|
137
136
|
}, {
|
|
138
137
|
default: w(() => e[1] || (e[1] = [
|
|
139
|
-
|
|
138
|
+
P("确定")
|
|
140
139
|
])),
|
|
141
140
|
_: 1
|
|
142
141
|
})
|
|
@@ -144,7 +143,7 @@ const L = { class: "btn" }, G = { class: "btns" }, J = {
|
|
|
144
143
|
])
|
|
145
144
|
], 4));
|
|
146
145
|
}
|
|
147
|
-
}, ee = /* @__PURE__ */ q(J, [["__scopeId", "data-v-
|
|
146
|
+
}, ee = /* @__PURE__ */ q(J, [["__scopeId", "data-v-e6820cdc"]]);
|
|
148
147
|
export {
|
|
149
148
|
ee as default
|
|
150
149
|
};
|