epic-designer-gold 1.0.20 → 1.0.21
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-BmCo-ANc.cjs → attributeView-B6m9Ugo7.cjs} +1 -1
- package/dist/{attributeView-O-Qh1M9P.js → attributeView-CKTyCnOV.js} +1 -1
- package/dist/{index-B0kfcLfJ.cjs → index-B3YX3dM8.cjs} +1 -1
- package/dist/{index-H_RN47HQ.js → index-BQsbaew2.js} +1 -1
- package/dist/{index-BUy3MFlm.cjs → index-BUy9UtUU.cjs} +1 -1
- package/dist/{index-D0yHhce0.cjs → index-BX-xUakg.cjs} +1 -1
- package/dist/{index-DCCtWMoU.cjs → index-Bd31VLwK.cjs} +1 -1
- package/dist/{index-DgVSwELW.cjs → index-Bt5-ufJn.cjs} +1 -1
- package/dist/{index-CHPLNTf9.js → index-CG7oVWkZ.js} +1 -1
- package/dist/index-CKtym_o1.cjs +1 -0
- package/dist/{index-D-7kLj6a.js → index-CiHMFeXK.js} +5 -5
- package/dist/{index-Bg6nvWN1.cjs → index-DeZxYu-f.cjs} +1 -1
- package/dist/{index-B4E--Rq2.js → index-DfbpNxzy.js} +1 -1
- package/dist/index-Dg1yARBw.js +35 -0
- package/dist/{index-GNzsI2DT.js → index-HCyeGVWN.js} +1 -1
- package/dist/{index-CYCAksKF.js → index-KH-3G9c2.js} +1 -1
- package/dist/index-OuuVQWVQ.js +4 -0
- package/dist/{index-B68OfrZG.cjs → index-V0ErjLAa.cjs} +1 -1
- package/dist/{index-dPq5hTuk.cjs → index-qb-xohCc.cjs} +2 -2
- package/dist/{index-Cb9hyp0F.js → index-v0MBVmR0.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{selectPage-OLtWHgz5.js → selectPage-D4jGyEa2.js} +32 -32
- package/dist/selectPage-Dy9Qj-zX.cjs +1 -0
- package/dist/style.css +1 -1
- package/dist/{styleView-DPj14T8-.js → styleView-Dc1Uvy2W.js} +1 -1
- package/dist/{styleView-BSPv8sby.cjs → styleView-HRlIalXM.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-BQOsTyqo.js +0 -43
- package/dist/index-CNakddZH.cjs +0 -1
- package/dist/index-DSWpL0mZ.js +0 -4
- package/dist/selectPage-DxjnEIXA.cjs +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),w=require("./pluginManager-DWHAX8kP.cjs"),z=require("./index-BoL2PSBk.cjs"),re=require("./axios-tuVKNgv9.cjs");function he(t,o){let s=null;return(...l)=>{s&&clearTimeout(s),s=setTimeout(()=>{t(...l)},o)}}function ne(){const t=e.ref({}),o=e.ref({}),s=e.ref(!1),l=e.ref([]),u=e.reactive({});function a(m){return t.value[m]}function E(m,b){t.value[m]=b}function y(m){delete t.value[m]}function v(m,b=!1){const P=Object.entries(w.pluginManager.publicMethods).reduce((B,[h,R])=>(B[h]=R.handler,B),{});try{new Function(`const epic = this;${m}`).bind({...P,getComponent:a,find:a,defineExpose:M,publicMethods:P,pluginManager:w.pluginManager})()}catch(B){b&&console.error("[epic:自定义函数]异常:",B)}}function M(m){m!=null&&(o.value=m)}function O(m,...b){if(!m||m.length===0){console.warn("未提供任何动作");return}m.forEach(P=>{const B=P.args?JSON.parse(P.args):b;switch(P.type){case"public":n(P,B);break;case"custom":I(P,B);break;case"component":f(P,B);break;default:console.warn(`未知的动作类型: ${P.type}`);break}})}function n(m,b){var P;try{(P=w.pluginManager.publicMethods[m.methodName])==null||P.handler(...b)}catch(B){console.error(`[Epic:公共函数(${m.methodName})]执行异常:`,B)}}function I(m,b){var P,B;try{(B=(P=o.value)[m.methodName])==null||B.call(P,...b)}catch(h){console.error(`[Epic:自定义函数(${m.methodName})]执行异常:`,h)}}function f(m,b){const P=m.componentId!=null&&a(m.componentId);if(!P){console.warn(`[Epic:组件${m.componentId}]未找到`);return}try{P[m.methodName](...b)}catch(B){console.error(`[Epic:组件${m.componentId}函数(${m.methodName})]执行异常:`,B)}}function D(m=!0){s.value=m}function S(m){const b=w.findSchemas(m,()=>!0);l.value=b.map(P=>P.id)}function C(m,b="default"){if(u[b]){const P=u[b];w.deepCompareAndModify(m,P)}u[b]=m}function F(m,b="default"){if(u[b]){w.deepCompareAndModify(u[b],m,!1);return}u[b]=m}return{componentInstances:t,funcs:o,isDesignMode:s,defaultComponentIds:l,forms:u,addFormData:C,setFormData:F,getComponentInstance:a,find:a,addComponentInstance:E,removeComponentInstance:y,setMethods:v,doActions:O,setDesignMode:D,setDefaultComponentIds:S}}function se(){const t=e.ref([]),o=e.ref([]),s=e.ref(null);let l=0;function u(v,M="插入组件"){const O=Date.now();l+150>O||(l=O,s.value!=null&&(t.value.push(s.value),o.value.splice(0,o.value.length)),s.value={type:M,componentSchema:JSON.stringify(v)},t.value.length>60&&t.value.unshift())}function a(){if(t.value.length===0)return!1;const v=t.value.pop();return s.value!=null&&o.value.push(s.value),s.value=v,JSON.parse(v.componentSchema)}function E(){if(o.value.length===0)return!1;const v=o.value.pop();return s.value!=null&&t.value.push(s.value),s.value=v,JSON.parse(v.componentSchema)}function y(){t.value=[],o.value=[],s.value=null}return{recordList:t,undoList:o,currentRecord:s,push:u,undo:a,redo:E,reset:y}}const ve=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:o}){const s=w.pluginManager.getComponent("form-item"),l=t,u=o,a=e.ref(),E=()=>{u("updateFormItemRef",a.value)};return(y,v)=>l.hasFormItem?(e.openBlock(),e.createBlock(e.unref(s),e.mergeProps({key:0,ref_key:"formItemRef",ref:a,onVnodeMounted:E},l.formItemProps),{default:e.withCtx(()=>[e.renderSlot(y.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(y.$slots,"default",{key:1})}}),le=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:o}){const{proxy:s}=e.getCurrentInstance(),l=t,u=e.ref(null);let a=e.inject("formData",e.reactive({}));const E=e.inject("slots",{}),y=e.inject("pageManager",{}),v=e.inject("disabled",{value:!1}),M=e.inject("ruleFieldPrefix",null),O=e.inject("resetFormData",!1);let n=e.reactive(w.deepClone(l.componentSchema));D();async function I(r){if(["cascader","checkbox","select","radio"].includes(r.type)&&r.componentProps.dynamicId&&l.sourceDateUrl){const d=(await re.axios({url:l.sourceDateUrl,method:"get",params:{id:r.componentProps.dynamicId},headers:{Authorization:"Bearer "+z.api.get("Admin-Token"),lang:z.api.get("saas-locale")||"zh-CN",zone:Intl.DateTimeFormat().resolvedOptions().timeZone}})).data.data;let _=await re.axios({url:d.url,method:d.method,data:d.body?JSON.parse(d.body):{},params:d.params?JSON.parse(d.params):{},headers:{...JSON.parse(d.headers),Authorization:"Bearer "+z.api.get("Admin-Token"),lang:z.api.get("saas-locale")||"zh-CN",zone:Intl.DateTimeFormat().resolvedOptions().timeZone}});if(d&&(d!=null&&d.dataPath)){const q=d.dataPath.split(".").reduce((W,Q)=>W[Q],_.data);r.componentProps.options=f(q,d.dataKey,d.dataValue)}else r.componentProps.options=f(_.data,d.dataKey,d.dataValue);return r}return r}function f(r,i,N){return r&&Object.prototype.toString.call(r)==="[object Array]"?r.map(d=>d.children&&d.children.length?{label:d[i],value:d[N]+"",children:f(d.children,i,N)}:{label:d[i],value:d[N]+""}):[]}e.watch(()=>l.componentSchema,r=>{w.deepEqual(n,r,["children"])||(w.deepCompareAndModify(n,w.deepClone(r)),D())},{deep:!0});function D(){y.isDesignMode.value&&typeof n.field=="string"&&(n.field+="-design-mode")}(l.resetFormData||O)&&(a={});const S=o,C=e.ref(),F=e.ref(),m=r=>{F.value=r},b=e.useAttrs();Object.keys(b).length&&e.provide("nodeAttrs",b);const P=e.shallowRef(null),B=e.computed(()=>{var r,i;return(r=n.componentProps)!=null&&r.hidden?!1:typeof n.show=="boolean"?n.show:((i=n.show)==null?void 0:i.call(n,{values:a}))??!0}),h=e.computed(()=>{var d;const r=B.value&&((d=n.rules)==null?void 0:d.map(_=>({..._,validator:_.validator&&y.funcs.value[_.validator]})));let i=n.field;l.ruleField?i=l.ruleField:M&&n.field&&(i=w.deepClone(M),i.push(n.field));const N={...n,rules:r,rule:r,field:i};return N.children&&delete N.children,N}),R=e.computed(()=>{var N,d,_;const r=((N=T.value)==null?void 0:N.bindModel)??"modelValue",i={};return n.on&&Object.keys(n.on).forEach(U=>{i[`on${w.capitalizeFirstLetter(U)}`]=(...q)=>y.doActions(n.on[U],...q)}),n.type==="selectpage"&&(n.componentProps.defaultData={value:a[n.field],label:a[a[n.field]]}),{...l,...n.componentProps,disabled:l.componentSchema.type==="input"&&l.componentSchema.componentProps&&((d=l.componentSchema.componentProps)!=null&&d.isLink)?!1:(v==null?void 0:v.value)||((_=n.componentProps)==null?void 0:_.disabled),bindModel:r,...i}}),T=e.computed(()=>w.pluginManager.getComponentConfingByType(n.type)??null);e.watchEffect(()=>{u.value=l.modelValue??a[n.field??""]}),e.watch(()=>u.value,()=>{u.value!==(l.modelValue??a[n.field??""])&&c(u.value)}),e.watch(()=>C.value,()=>{A()},{immediate:!0});function A(){var i;const r=C.value||s;n.id&&r&&((n.input||n.type==="table"&&n.field||n.type==="card"&&n.field&&n.multiple)&&(r.setValue=c,r.getValue=()=>a[n.field]||l.modelValue),r.setAttr=(N,d)=>(n.componentProps||(n.componentProps={}),n.componentProps[N]=d),r.getAttr=N=>n.componentProps[N],y.addComponentInstance(n.id,r),(i=T.value)!=null&&i.defaultSchema.input&&n.noFormItem!==!0&&F.value&&y.addComponentInstance(n.id+"formItem",F.value))}function g(){var r;n.id&&(y.removeComponentInstance(n.id),(r=T.value)!=null&&r.defaultSchema.input&&n.noFormItem!==!0&&y.removeComponentInstance(n.id+"formItem"))}async function k(){var i,N,d;if(n=await I(n),typeof((i=n.componentProps)==null?void 0:i.defaultValue)<"u"){const _=y.isDesignMode.value?(N=n.componentProps)==null?void 0:N.defaultValue:a[n.field]??((d=n.componentProps)==null?void 0:d.defaultValue);c(w.deepClone(_))}if(n.type==="slot"){const _=n.slotName;if(!_)return;P.value=e.defineComponent({setup(){return()=>e.renderSlot(E,_,{componentSchema:n,model:a})}});return}const r=w.pluginManager.getComponent(n.type);if(!r){console.error(`组件${n.type}未注册`);return}if(typeof r=="function"){const _=await r();P.value=_.default??_}else P.value=r}function p(r){console.log("%c [ v ]-462","font-size:13px; background:pink; color:#bf2c9f;",r),Object.prototype.toString.call(r)==="[object Array]"?r.forEach(i=>{a[i.value]=i.label}):a[r.value]=r.label,l.id?w.EventBus.emit("updateformData"+l.id,a):w.EventBus.emit("updateformData",a)}function c(r){S("update:modelValue",r),S("change",r),n.field&&(a[n.field]=r),l.id?w.EventBus.emit("updateformData"+l.id,a):w.EventBus.emit("updateformData",a)}function V(r){S("update:dynamicId",r)}let $=null;return e.watch(()=>n,async r=>{const i=JSON.stringify({...r,children:void 0,componentProps:{...r.componentProps,options:null}});if(i===$)return!1;$=i,k()},{immediate:!0,deep:!0}),e.onUnmounted(g),(r,i)=>{var d;const N=e.resolveComponent("ENode");return P.value&&B.value?(e.openBlock(),e.createBlock(ve,{key:0,hasFormItem:e.unref(n).noFormItem!==!0&&((d=T.value)==null?void 0:d.defaultSchema.input),formItemProps:h.value,onUpdateFormItemRef:m},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(P.value),e.mergeProps({ref_key:"componentInstance",ref:C,onVnodeMounted:A,model:e.unref(a)},{...R.value},{[R.value.bindModel]:u.value,["onUpdate:"+R.value.bindModel]:i[0]||(i[0]=_=>u.value=_),[`onUpdate:${R.value.bindModel}`||""]:c,"onUpdate:modelValueLabel":p,"onUpdate:dynamicId":V}),{node:e.withCtx(_=>[e.createVNode(N,e.mergeProps({id:l.id},_,{sourceDateUrl:l.sourceDateUrl}),null,16,["id","sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(r.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function ge(){const t=e.ref(!1),o=ne(),s=e.ref({});function l(){return new Promise(f=>{if(t.value)f();else{const D=e.watch(t,()=>{D(),f()})}})}async function u(f="default"){var S;await l();const D=(S=s.value)==null?void 0:S[f];if(!D)throw new Error(`表单 [name=${f}] 不存在`);return D}async function a(f,D){const S=await u(f);return w.deepClone(await D(S))}async function E(f="default"){return await a(f,D=>D.getData())}function y(f,D="default",S=void 0){var C,F;if(S&&Object.keys(S).length){let m=function(h){let R=[];return h.forEach(T=>{T.children&&(R=[...R,...m(T.children)]),R.push(T)}),R},P=function(h){var T;let R=m((T=S==null?void 0:S.schemas[0])==null?void 0:T.children);return Object.keys(h).forEach(A=>{var p,c,V,$,r,i,N;const g=R.find(d=>d.field===A),k=["datetimerange","daterange","monthrange","dates"];if((g&&(g==null?void 0:g.type)==="checkbox"||(g==null?void 0:g.type)==="select"&&((p=g==null?void 0:g.componentProps)!=null&&p.multiple)||(g==null?void 0:g.type)==="cascader"&&!((V=(c=g==null?void 0:g.componentProps)==null?void 0:c.props)!=null&&V.multiple)||(g==null?void 0:g.type)==="date"&&k.includes(($=g==null?void 0:g.componentProps)==null?void 0:$.type))&&typeof h[A]=="string")h[A]=(r=h[A])==null?void 0:r.split(",");else if((g==null?void 0:g.type)==="cascader"&&((N=(i=g==null?void 0:g.componentProps)==null?void 0:i.props)!=null&&N.multiple)&&typeof h[A]=="string")h[A].indexOf(";")===-1&&h[A].indexOf(";")===-1?h[A][h[A]]:h[A].indexOf(";")>-1?h[A]=h[A].split(";").map(d=>d.split(",")):h[A].indexOf(";")===-1?h[A]=h[A].split(","):h[A].indexOf(";")>-1?h[A]=h[A].split(";").map(d=>d.split(",")):h[A].indexOf(";")===-1&&(h[A]=h[A].split(","));else if(((g==null?void 0:g.type)==="upload-image"||(g==null?void 0:g.type)==="upload-file")&&typeof h[A]=="string"){let d=[];Object.entries(h).forEach(([_,U])=>{h[A]===U&&_!==g.field&&_.indexOf("@")>-1&&_.indexOf(A)>-1&&(d=_.split("@")[1].split(","))}),h[A]=h[A].split(",").map((_,U)=>({url:_,name:d[U]||_}))}else(g==null?void 0:g.type)==="number"||(g==null?void 0:g.type)==="slider"?h[A]=Number(h[A]):(g==null?void 0:g.type)==="switch"&&(h[A]=typeof h[A]=="boolean"?h[A]:h[A].indexOf("true")>-1)}),h}(f);o.setFormData(P,D);const B=(C=s.value)==null?void 0:C[D];B==null||B.clearValidate()}else{o.setFormData(f,D);const m=(F=s.value)==null?void 0:F[D];m==null||m.clearValidate()}}async function v(f="default"){return await a(f,async D=>(await D.validate(),await D.getData()))}async function M(f){await l();const D={};for(const S in s.value){const C=s.value[S];C&&(D[S]=w.deepClone(await f(C)))}return D}async function O(){return await M(f=>f.getData())}function n(f){for(const D in f)y(f[D],D)}async function I(){return await M(async f=>(await f.validate(),await f.getData()))}return{ready:t,pageManager:o,forms:s,getData:E,setData:y,validate:v,getForms:O,setForms:n,validateAll:I,getFormInstance:u}}const ye={key:0,class:"epic-loading-box"},we={class:"epic-builder-main"},Se={class:"epic-loading-box"},ie=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{},id:{}},emits:["change","ready"],setup(t,{expose:o,emit:s}){const l=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),u=s,a=e.ref([]),E=e.ref({}),{ready:y,pageManager:v,forms:M,getData:O,setData:n,validate:I,getForms:f,setForms:D,validateAll:S,getFormInstance:C}=ge(),F=t,m=e.reactive({schemas:[]});e.watch(()=>F.pageSchema,p=>{w.deepCompareAndModify(m,p)},{immediate:!0,deep:!0}),e.watch(()=>F.formData,p=>{if(p){let c=T(p);E.value=c,n(c)}},{immediate:!0,deep:!0});function b(p){let c=[];return p.forEach(V=>{V.children&&(c=[...c,...b(V.children)]),c.push(V)}),c}function P(p,c){function V(r){return JSON.parse(JSON.stringify(r))}function $(r,i){if(r.type==="card"&&r.multiple&&r.field&&Array.isArray(i[r.field]))return i[r.field].map(d=>{var U;const _=V({...r,multiple:!0});return _.children=(U=_.children)==null?void 0:U.map(q=>$(q,d)).flat(),_});const N=V(r);return Array.isArray(N.children)&&(N.children=N.children.map(d=>$(d,i)).flat()),N}return p.map(r=>$(r,c)).flat()}function B(p,c="",V={root:0}){const $=c||"root";return c||(V.root=0),V[$]===void 0&&(V[$]=0),p.map(r=>{r.field&&(r.oldField=JSON.parse(JSON.stringify(r.field)));const i={...r};if(r.type==="card"){const N=r.field||"";r.multiple?(i.field=c?`${c}.${N}[${V[$]}]`:`${N}[${V[$]}]`,V[$]++):r.field&&c&&(i.field=`${c}.${N}`);const d=i.field||c;V[d]=0}else r.field&&c&&(i.field=`${c}.${r.field}`);return r.children&&(i.children=B(r.children,i.field||c,V)),i})}function h(p,c,V="",$={}){const r=V||"root";return $[r]===void 0&&($[r]=0),p.forEach(i=>{const N=i.field||"";let d=V?`${V}.${N}`:`${N}`;i.type==="card"&&i.multiple?(typeof c[d][`${$[r]}`]=="object"?Object.keys(c[d][`${$[r]}`]).forEach(_=>{c[`${d}[${$[r]}].${_}`]=c[d][`${$[r]}`][_]}):c[`${d}[${$[r]}]`]=c[d][`${$[r]}`],i.children&&(i.children=h(i.children,c,`${d}[${$[r]}]`||V,$)),$[r]++):i.children&&(i.children=h(i.children,c,V,$))}),$[r]=0,c}function R(p,c,V){let $=h(w.deepClone(p),w.deepClone(c));return{obj:B(p),dataObj:$}}function T(p){let c=b(F.pageSchema.schemas[0].children);a.value=c.filter(i=>i.type==="card"&&i.multiple);const V=P(F.pageSchema.schemas[0].children,p);let{obj:$,dataObj:r}=R(V,p,a.value);return p=r,F.pageSchema.schemas[0].children=$,Object.keys(p).forEach(i=>{var N,d,_,U,q,W,Q;if(i.indexOf("@")<0){const x=c.find(L=>L.field===i),me=["datetimerange","daterange","monthrange","dates"];if((x&&(x==null?void 0:x.type)==="checkbox"||(x==null?void 0:x.type)==="select"&&((N=x==null?void 0:x.componentProps)!=null&&N.multiple)||(x==null?void 0:x.type)==="cascader"&&!((_=(d=x==null?void 0:x.componentProps)==null?void 0:d.props)!=null&&_.multiple)||(x==null?void 0:x.type)==="date"&&me.includes((U=x==null?void 0:x.componentProps)==null?void 0:U.type))&&typeof p[i]=="string")p[i]=(q=p[i])==null?void 0:q.split(",");else if((x==null?void 0:x.type)==="cascader"&&((Q=(W=x==null?void 0:x.componentProps)==null?void 0:W.props)!=null&&Q.multiple)&&typeof p[i]=="string")p[i].indexOf(";")>-1?p[i]=p[i].split(";").map(L=>L.split(",")):p[i]=p[i].split(","),p[i].indexOf(";")>-1?p[i]=p[i].split(";").map(L=>L.split(",")):p[i]=p[i].split(",");else if(((x==null?void 0:x.type)==="upload-image"||(x==null?void 0:x.type)==="upload-file")&&typeof p[i]=="string"){let L=[];Object.entries(p).forEach(([J,X])=>{p[i]===X&&J!==x.field&&J.indexOf("@")>-1&&J.indexOf(i)>-1&&(L=J.split("@")[1].split(","))}),p[i]=p[i].split(",").map((J,X)=>({url:J,name:L[X]||J}))}else(x==null?void 0:x.type)==="number"||(x==null?void 0:x.type)==="slider"?p[i]=Number(p[i]):(x==null?void 0:x.type)==="switch"&&(p[i]=typeof p[i]=="boolean"?p[i]:p[i].indexOf("true")>-1)}}),p}e.watch(()=>m.script,p=>{p&&v.setMethods(p,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",v),e.provide("forms",M),e.provide("pageSchema",m),e.provide("disabled",e.computed(()=>F.disabled));const A=e.getCurrentInstance(),g=A==null?void 0:A.proxy;function k(){e.nextTick(()=>{y.value=!0,u("ready",v),g&&v.addComponentInstance("builder",g)})}return w.EventBus.on("updateformData"+(F.id?F.id:""),p=>{u("change",p)}),o({ready:y,pageManager:v,getData:O,setData:n,validate:I,getForms:f,setForms:D,validateAll:S,getFormInstance:C}),(p,c)=>e.unref(w.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:k},{default:e.withCtx(()=>[e.createElementVNode("div",we,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.schemas,(V,$)=>(e.openBlock(),e.createBlock(e.unref(le),{id:F.id,key:$,sourceDateUrl:F.sourceDateUrl,componentSchema:V},null,8,["id","sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",Se,[e.createVNode(e.unref(l))])]),_:1})):(e.openBlock(),e.createElementBlock("div",ye))}});function oe(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ee(t){let o=0,s,l;const u=()=>{o-=1,l&&o<=0&&(l.stop(),s=void 0,l=void 0)};return(...a)=>(o+=1,l||(l=e.effectScope(!0),s=l.run(()=>t(...a))),oe(u),s)}function H(t){return typeof t=="function"?t():e.unref(t)}const De=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const be=t=>typeof t<"u",xe=Object.prototype.toString,Ce=t=>xe.call(t)==="[object Object]",Ae=()=>{};function Oe(t){return e.getCurrentInstance()}function Ie(t,o=!0,s){Oe()?e.onMounted(t,s):o?t():e.nextTick(t)}function Pe(t=!1,o={}){const{truthyValue:s=!0,falsyValue:l=!1}=o,u=e.isRef(t),a=e.ref(t);function E(y){if(arguments.length)return a.value=y,a.value;{const v=H(s);return a.value=a.value===v?H(l):v,a.value}}return u?E:[a,E]}function _e(t,o,s){const l=e.watch(t,(...u)=>(e.nextTick(()=>l()),o(...u)),s);return l}const Y=De?window:void 0;function K(t){var o;const s=H(t);return(o=s==null?void 0:s.$el)!=null?o:s}function Ne(...t){let o,s,l,u;if(typeof t[0]=="string"||Array.isArray(t[0])?([s,l,u]=t,o=Y):[o,s,l,u]=t,!o)return Ae;Array.isArray(s)||(s=[s]),Array.isArray(l)||(l=[l]);const a=[],E=()=>{a.forEach(O=>O()),a.length=0},y=(O,n,I,f)=>(O.addEventListener(n,I,f),()=>O.removeEventListener(n,I,f)),v=e.watch(()=>[K(o),H(u)],([O,n])=>{if(E(),!O)return;const I=Ce(n)?{...n}:n;a.push(...s.flatMap(f=>l.map(D=>y(O,f,D,I))))},{immediate:!0,flush:"post"}),M=()=>{v(),E()};return oe(M),M}function Me(t){return typeof t=="function"?t:typeof t=="string"?o=>o.key===t:Array.isArray(t)?o=>t.includes(o.key):()=>!0}function ae(...t){let o,s,l={};t.length===3?(o=t[0],s=t[1],l=t[2]):t.length===2?typeof t[1]=="object"?(o=!0,s=t[0],l=t[1]):(o=t[0],s=t[1]):(o=!0,s=t[0]);const{target:u=Y,eventName:a="keydown",passive:E=!1,dedupe:y=!1}=l,v=Me(o);return Ne(u,a,O=>{O.repeat&&H(y)||v(O)&&s(O)},E)}function j(t,o,s={}){return ae(t,o,{...s,eventName:"keydown"})}function ee(t,o,s={}){return ae(t,o,{...s,eventName:"keyup"})}function Ve(){const t=e.ref(!1),o=e.getCurrentInstance();return o&&e.onMounted(()=>{t.value=!0},o),t}function $e(t){const o=Ve();return e.computed(()=>(o.value,!!t()))}function Be(t){return JSON.parse(JSON.stringify(t))}function ce(t,o,s={}){const{window:l=Y,...u}=s;let a;const E=$e(()=>l&&"ResizeObserver"in l),y=()=>{a&&(a.disconnect(),a=void 0)},v=e.computed(()=>{const n=H(t);return Array.isArray(n)?n.map(I=>K(I)):[K(n)]}),M=e.watch(v,n=>{if(y(),E.value&&l){a=new ResizeObserver(o);for(const I of n)I&&a.observe(I,u)}},{immediate:!0,flush:"post"}),O=()=>{y(),M()};return oe(O),{isSupported:E,stop:O}}function Fe(t,o={width:0,height:0},s={}){const{window:l=Y,box:u="content-box"}=s,a=e.computed(()=>{var n,I;return(I=(n=K(t))==null?void 0:n.namespaceURI)==null?void 0:I.includes("svg")}),E=e.ref(o.width),y=e.ref(o.height),{stop:v}=ce(t,([n])=>{const I=u==="border-box"?n.borderBoxSize:u==="content-box"?n.contentBoxSize:n.devicePixelContentBoxSize;if(l&&a.value){const f=K(t);if(f){const D=f.getBoundingClientRect();E.value=D.width,y.value=D.height}}else if(I){const f=Array.isArray(I)?I:[I];E.value=f.reduce((D,{inlineSize:S})=>D+S,0),y.value=f.reduce((D,{blockSize:S})=>D+S,0)}else E.value=n.contentRect.width,y.value=n.contentRect.height},s);Ie(()=>{const n=K(t);n&&(E.value="offsetWidth"in n?n.offsetWidth:o.width,y.value="offsetHeight"in n?n.offsetHeight:o.height)});const M=e.watch(()=>K(t),n=>{E.value=n?o.width:0,y.value=n?o.height:0});function O(){v(),M()}return{width:E,height:y,stop:O}}function Re(t,o,s,l={}){var u,a,E;const{clone:y=!1,passive:v=!1,eventName:M,deep:O=!1,defaultValue:n,shouldEmit:I}=l,f=e.getCurrentInstance(),D=s||(f==null?void 0:f.emit)||((u=f==null?void 0:f.$emit)==null?void 0:u.bind(f))||((E=(a=f==null?void 0:f.proxy)==null?void 0:a.$emit)==null?void 0:E.bind(f==null?void 0:f.proxy));let S=M;o||(o="modelValue"),S=S||`update:${o.toString()}`;const C=b=>y?typeof y=="function"?y(b):Be(b):b,F=()=>be(t[o])?C(t[o]):n,m=b=>{I?I(b)&&D(S,b):D(S,b)};if(v){const b=F(),P=e.ref(b);let B=!1;return e.watch(()=>t[o],h=>{B||(B=!0,P.value=C(h),e.nextTick(()=>B=!1))}),e.watch(P,h=>{!B&&(h!==t[o]||O)&&m(h)},{deep:O}),P}else return e.computed({get(){return F()},set(b){m(b)}})}function Te(){const{isDark:t}=Z(),o=Pe(t);return{isDark:t,toggleDark:o}}function ue(){const t=e.ref(!1);return e.onMounted(()=>{de(t),Ue(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function de(t){var o=document.documentElement;o&&(o.classList.contains("dark")?t.value=!0:t.value=!1)}function Ue(t){var o=document.querySelector("html"),s=new MutationObserver(function(l){for(var u of l)if(u.type==="attributes"&&u.attributeName==="class"){const a=u.target;new Array(...a.classList).includes("dark")?t.value=!0:t.value=!1}});s.observe(o,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{s.disconnect()})}function fe(){const t=e.ref(1),o=e.ref(!1),{isDark:s}=ue(),{pressSpace:l,pressShift:u,pressCtrl:a}=pe();return{canvasScale:t,pressSpace:l,pressShift:u,pressCtrl:a,disabledZoom:o,isDark:s}}const Z=Ee(fe);function pe(){const t=e.ref(!1),o=e.ref(!1),s=e.ref(!1);return j(" ",()=>{t.value=!0}),ee(" ",()=>{t.value=!1}),j("Shift",l=>{l.preventDefault(),o.value=!0}),ee("Shift",()=>{o.value=!1}),j("Control",l=>{l.preventDefault(),s.value=!0}),ee("Control",()=>{s.value=!1}),{pressSpace:t,pressShift:o,pressCtrl:s}}function qe(t){const{pressSpace:o}=Z(),s=new Image(1,1);s.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let l=0,u=0;function a(v){var M;o.value&&(l=v.x,u=v.y,(M=v.dataTransfer)==null||M.setDragImage(document.createElement("div"),0,0))}function E(v){if(v.preventDefault(),!v.x||!v.y||!o.value)return;const M=v.x-l,O=v.y-u;l=v.x,u=v.y,t.value&&(t.value.scrollTop-=O,t.value.scrollLeft-=M)}function y(){o.value=!1}return{handleElementDragStart:a,handleElementDrag:E,handleElementDragEnd:y}}function Le(t){const{pressCtrl:o,canvasScale:s,disabledZoom:l}=Z();function u(a){if(!o.value||l.value)return;a.preventDefault();let E=0;a.deltaY<0?E=s.value+.05:E=s.value-.05,!(E>150||E<.5)&&(s.value=E)}return e.watch(()=>s.value,a=>{t.value&&!l.value&&(t.value.style.transform=`scale(${a})`)}),{handleZoom:u,canvasScale:s}}function ke(t,o=16.66){let s;function l(){u(),s=window.setInterval(t,o)}function u(){window.clearInterval(s)}return{startTimedQuery:l,stopTimedQuery:u}}const Je={class:"min-w-750px rounded"},ze={class:"h-full rounded"},Ke=e.defineComponent({__name:"index",setup(t,{expose:o}){const s=w.pluginManager.getComponent("monacoEditor"),l=w.pluginManager.getComponent("modal"),u=e.ref(null),a=e.ref(!1),E=e.ref(!1),y=e.ref({}),v=e.inject("pageSchema"),M=e.ref(null),O=e.ref("");function n(){E.value=!1}function I(){a.value=!1}function f(){a.value=!0,O.value=w.getUUID()}async function D(){try{let S=await M.value.validateAll();if(!Object.keys(S).length){alert("请添加表单组件后再尝试!");return}Object.keys(S).length===1&&(S=S.default),y.value=JSON.stringify(S,null,2),e.nextTick(()=>{var C;(C=u.value)==null||C.setValue(y.value)}),E.value=!0}catch(S){console.error(S)}}return o({handleOpen:f}),(S,C)=>(e.openBlock(),e.createBlock(e.unref(l),{modelValue:a.value,"onUpdate:modelValue":C[1]||(C[1]=F=>a.value=F),title:"预览",class:"w-900px",width:"900px",onClose:I,onOk:D,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Je,[(e.openBlock(),e.createBlock(e.unref(ie),{key:O.value,ref_key:"kb",ref:M,"page-schema":e.unref(v)},null,8,["page-schema"])),e.createVNode(e.unref(l),{modelValue:E.value,"onUpdate:modelValue":C[0]||(C[0]=F=>E.value=F),title:"表单数据",class:"w-860px",width:"860px",onClose:n,onOk:n},{default:e.withCtx(()=>[e.createElementVNode("div",ze,[e.createVNode(e.unref(s),{ref_key:"monacoEditorRef",ref:u,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":y.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]))}}),He={key:0,class:"epic-loading-box"},Ze={class:"epic-designer-main"},We={class:"epic-header-container"},Qe={class:"epic-loading-box"},Ge=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:o,emit:s}){const{t:l}=z.useLocale(),u=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-v2u1WTMm.cjs"))),a=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-CCCx1tbF.cjs"))),E=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-DCCtWMoU.cjs"))),y=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-R2r9Rw5O.cjs"))),v=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),M=ne(),O=se(),n=t;let I={schemas:[{type:"form",id:"root",label:l("page"),children:[],componentProps:{name:l("form"),style:{padding:"16px"}}}],script:`const { defineExpose, find } = epic;
|
|
1
|
+
"use strict";const e=require("vue"),w=require("./pluginManager-DWHAX8kP.cjs"),z=require("./index-BoL2PSBk.cjs"),re=require("./axios-tuVKNgv9.cjs");function he(t,o){let s=null;return(...l)=>{s&&clearTimeout(s),s=setTimeout(()=>{t(...l)},o)}}function ne(){const t=e.ref({}),o=e.ref({}),s=e.ref(!1),l=e.ref([]),u=e.reactive({});function a(m){return t.value[m]}function E(m,b){t.value[m]=b}function y(m){delete t.value[m]}function v(m,b=!1){const P=Object.entries(w.pluginManager.publicMethods).reduce((B,[h,R])=>(B[h]=R.handler,B),{});try{new Function(`const epic = this;${m}`).bind({...P,getComponent:a,find:a,defineExpose:M,publicMethods:P,pluginManager:w.pluginManager})()}catch(B){b&&console.error("[epic:自定义函数]异常:",B)}}function M(m){m!=null&&(o.value=m)}function O(m,...b){if(!m||m.length===0){console.warn("未提供任何动作");return}m.forEach(P=>{const B=P.args?JSON.parse(P.args):b;switch(P.type){case"public":n(P,B);break;case"custom":I(P,B);break;case"component":f(P,B);break;default:console.warn(`未知的动作类型: ${P.type}`);break}})}function n(m,b){var P;try{(P=w.pluginManager.publicMethods[m.methodName])==null||P.handler(...b)}catch(B){console.error(`[Epic:公共函数(${m.methodName})]执行异常:`,B)}}function I(m,b){var P,B;try{(B=(P=o.value)[m.methodName])==null||B.call(P,...b)}catch(h){console.error(`[Epic:自定义函数(${m.methodName})]执行异常:`,h)}}function f(m,b){const P=m.componentId!=null&&a(m.componentId);if(!P){console.warn(`[Epic:组件${m.componentId}]未找到`);return}try{P[m.methodName](...b)}catch(B){console.error(`[Epic:组件${m.componentId}函数(${m.methodName})]执行异常:`,B)}}function D(m=!0){s.value=m}function S(m){const b=w.findSchemas(m,()=>!0);l.value=b.map(P=>P.id)}function C(m,b="default"){if(u[b]){const P=u[b];w.deepCompareAndModify(m,P)}u[b]=m}function F(m,b="default"){if(u[b]){w.deepCompareAndModify(u[b],m,!1);return}u[b]=m}return{componentInstances:t,funcs:o,isDesignMode:s,defaultComponentIds:l,forms:u,addFormData:C,setFormData:F,getComponentInstance:a,find:a,addComponentInstance:E,removeComponentInstance:y,setMethods:v,doActions:O,setDesignMode:D,setDefaultComponentIds:S}}function se(){const t=e.ref([]),o=e.ref([]),s=e.ref(null);let l=0;function u(v,M="插入组件"){const O=Date.now();l+150>O||(l=O,s.value!=null&&(t.value.push(s.value),o.value.splice(0,o.value.length)),s.value={type:M,componentSchema:JSON.stringify(v)},t.value.length>60&&t.value.unshift())}function a(){if(t.value.length===0)return!1;const v=t.value.pop();return s.value!=null&&o.value.push(s.value),s.value=v,JSON.parse(v.componentSchema)}function E(){if(o.value.length===0)return!1;const v=o.value.pop();return s.value!=null&&t.value.push(s.value),s.value=v,JSON.parse(v.componentSchema)}function y(){t.value=[],o.value=[],s.value=null}return{recordList:t,undoList:o,currentRecord:s,push:u,undo:a,redo:E,reset:y}}const ve=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:o}){const s=w.pluginManager.getComponent("form-item"),l=t,u=o,a=e.ref(),E=()=>{u("updateFormItemRef",a.value)};return(y,v)=>l.hasFormItem?(e.openBlock(),e.createBlock(e.unref(s),e.mergeProps({key:0,ref_key:"formItemRef",ref:a,onVnodeMounted:E},l.formItemProps),{default:e.withCtx(()=>[e.renderSlot(y.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(y.$slots,"default",{key:1})}}),le=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:o}){const{proxy:s}=e.getCurrentInstance(),l=t,u=e.ref(null);let a=e.inject("formData",e.reactive({}));const E=e.inject("slots",{}),y=e.inject("pageManager",{}),v=e.inject("disabled",{value:!1}),M=e.inject("ruleFieldPrefix",null),O=e.inject("resetFormData",!1);let n=e.reactive(w.deepClone(l.componentSchema));D();async function I(r){if(["cascader","checkbox","select","radio"].includes(r.type)&&r.componentProps.dynamicId&&l.sourceDateUrl){const d=(await re.axios({url:l.sourceDateUrl,method:"get",params:{id:r.componentProps.dynamicId},headers:{Authorization:"Bearer "+z.api.get("Admin-Token"),lang:z.api.get("saas-locale")||"zh-CN",zone:Intl.DateTimeFormat().resolvedOptions().timeZone}})).data.data;let _=await re.axios({url:d.url,method:d.method,data:d.body?JSON.parse(d.body):{},params:d.params?JSON.parse(d.params):{},headers:{...JSON.parse(d.headers),Authorization:"Bearer "+z.api.get("Admin-Token"),lang:z.api.get("saas-locale")||"zh-CN",zone:Intl.DateTimeFormat().resolvedOptions().timeZone}});if(d&&(d!=null&&d.dataPath)){const q=d.dataPath.split(".").reduce((W,Q)=>W[Q],_.data);r.componentProps.options=f(q,d.dataKey,d.dataValue)}else r.componentProps.options=f(_.data,d.dataKey,d.dataValue);return r}return r}function f(r,i,N){return r&&Object.prototype.toString.call(r)==="[object Array]"?r.map(d=>d.children&&d.children.length?{label:d[i],value:d[N]+"",children:f(d.children,i,N)}:{label:d[i],value:d[N]+""}):[]}e.watch(()=>l.componentSchema,r=>{w.deepEqual(n,r,["children"])||(w.deepCompareAndModify(n,w.deepClone(r)),D())},{deep:!0});function D(){y.isDesignMode.value&&typeof n.field=="string"&&(n.field+="-design-mode")}(l.resetFormData||O)&&(a={});const S=o,C=e.ref(),F=e.ref(),m=r=>{F.value=r},b=e.useAttrs();Object.keys(b).length&&e.provide("nodeAttrs",b);const P=e.shallowRef(null),B=e.computed(()=>{var r,i;return(r=n.componentProps)!=null&&r.hidden?!1:typeof n.show=="boolean"?n.show:((i=n.show)==null?void 0:i.call(n,{values:a}))??!0}),h=e.computed(()=>{var d;const r=B.value&&((d=n.rules)==null?void 0:d.map(_=>({..._,validator:_.validator&&y.funcs.value[_.validator]})));let i=n.field;l.ruleField?i=l.ruleField:M&&n.field&&(i=w.deepClone(M),i.push(n.field));const N={...n,rules:r,rule:r,field:i};return N.children&&delete N.children,N}),R=e.computed(()=>{var N,d,_;const r=((N=T.value)==null?void 0:N.bindModel)??"modelValue",i={};return n.on&&Object.keys(n.on).forEach(U=>{i[`on${w.capitalizeFirstLetter(U)}`]=(...q)=>y.doActions(n.on[U],...q)}),n.type==="selectpage"&&(n.componentProps.defaultData={value:a[n.field],label:a[a[n.field]]}),{...l,...n.componentProps,disabled:l.componentSchema.type==="input"&&l.componentSchema.componentProps&&((d=l.componentSchema.componentProps)!=null&&d.isLink)?!1:(v==null?void 0:v.value)||((_=n.componentProps)==null?void 0:_.disabled),bindModel:r,...i}}),T=e.computed(()=>w.pluginManager.getComponentConfingByType(n.type)??null);e.watchEffect(()=>{u.value=l.modelValue??a[n.field??""]}),e.watch(()=>u.value,()=>{u.value!==(l.modelValue??a[n.field??""])&&c(u.value)}),e.watch(()=>C.value,()=>{A()},{immediate:!0});function A(){var i;const r=C.value||s;n.id&&r&&((n.input||n.type==="table"&&n.field||n.type==="card"&&n.field&&n.multiple)&&(r.setValue=c,r.getValue=()=>a[n.field]||l.modelValue),r.setAttr=(N,d)=>(n.componentProps||(n.componentProps={}),n.componentProps[N]=d),r.getAttr=N=>n.componentProps[N],y.addComponentInstance(n.id,r),(i=T.value)!=null&&i.defaultSchema.input&&n.noFormItem!==!0&&F.value&&y.addComponentInstance(n.id+"formItem",F.value))}function g(){var r;n.id&&(y.removeComponentInstance(n.id),(r=T.value)!=null&&r.defaultSchema.input&&n.noFormItem!==!0&&y.removeComponentInstance(n.id+"formItem"))}async function k(){var i,N,d;if(n=await I(n),typeof((i=n.componentProps)==null?void 0:i.defaultValue)<"u"){const _=y.isDesignMode.value?(N=n.componentProps)==null?void 0:N.defaultValue:a[n.field]??((d=n.componentProps)==null?void 0:d.defaultValue);c(w.deepClone(_))}if(n.type==="slot"){const _=n.slotName;if(!_)return;P.value=e.defineComponent({setup(){return()=>e.renderSlot(E,_,{componentSchema:n,model:a})}});return}const r=w.pluginManager.getComponent(n.type);if(!r){console.error(`组件${n.type}未注册`);return}if(typeof r=="function"){const _=await r();P.value=_.default??_}else P.value=r}function p(r){console.log("%c [ v ]-462","font-size:13px; background:pink; color:#bf2c9f;",r),Object.prototype.toString.call(r)==="[object Array]"?r.forEach(i=>{a[i.value]=i.label}):a[r.value]=r.label,l.id?w.EventBus.emit("updateformData"+l.id,a):w.EventBus.emit("updateformData",a)}function c(r){S("update:modelValue",r),S("change",r),n.field&&(a[n.field]=r),l.id?w.EventBus.emit("updateformData"+l.id,a):w.EventBus.emit("updateformData",a)}function V(r){S("update:dynamicId",r)}let $=null;return e.watch(()=>n,async r=>{const i=JSON.stringify({...r,children:void 0,componentProps:{...r.componentProps,options:null}});if(i===$)return!1;$=i,k()},{immediate:!0,deep:!0}),e.onUnmounted(g),(r,i)=>{var d;const N=e.resolveComponent("ENode");return P.value&&B.value?(e.openBlock(),e.createBlock(ve,{key:0,hasFormItem:e.unref(n).noFormItem!==!0&&((d=T.value)==null?void 0:d.defaultSchema.input),formItemProps:h.value,onUpdateFormItemRef:m},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(P.value),e.mergeProps({ref_key:"componentInstance",ref:C,onVnodeMounted:A,model:e.unref(a)},{...R.value},{[R.value.bindModel]:u.value,["onUpdate:"+R.value.bindModel]:i[0]||(i[0]=_=>u.value=_),[`onUpdate:${R.value.bindModel}`||""]:c,"onUpdate:modelValueLabel":p,"onUpdate:dynamicId":V}),{node:e.withCtx(_=>[e.createVNode(N,e.mergeProps({id:l.id},_,{sourceDateUrl:l.sourceDateUrl}),null,16,["id","sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(r.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function ge(){const t=e.ref(!1),o=ne(),s=e.ref({});function l(){return new Promise(f=>{if(t.value)f();else{const D=e.watch(t,()=>{D(),f()})}})}async function u(f="default"){var S;await l();const D=(S=s.value)==null?void 0:S[f];if(!D)throw new Error(`表单 [name=${f}] 不存在`);return D}async function a(f,D){const S=await u(f);return w.deepClone(await D(S))}async function E(f="default"){return await a(f,D=>D.getData())}function y(f,D="default",S=void 0){var C,F;if(S&&Object.keys(S).length){let m=function(h){let R=[];return h.forEach(T=>{T.children&&(R=[...R,...m(T.children)]),R.push(T)}),R},P=function(h){var T;let R=m((T=S==null?void 0:S.schemas[0])==null?void 0:T.children);return Object.keys(h).forEach(A=>{var p,c,V,$,r,i,N;const g=R.find(d=>d.field===A),k=["datetimerange","daterange","monthrange","dates"];if((g&&(g==null?void 0:g.type)==="checkbox"||(g==null?void 0:g.type)==="select"&&((p=g==null?void 0:g.componentProps)!=null&&p.multiple)||(g==null?void 0:g.type)==="cascader"&&!((V=(c=g==null?void 0:g.componentProps)==null?void 0:c.props)!=null&&V.multiple)||(g==null?void 0:g.type)==="date"&&k.includes(($=g==null?void 0:g.componentProps)==null?void 0:$.type))&&typeof h[A]=="string")h[A]=(r=h[A])==null?void 0:r.split(",");else if((g==null?void 0:g.type)==="cascader"&&((N=(i=g==null?void 0:g.componentProps)==null?void 0:i.props)!=null&&N.multiple)&&typeof h[A]=="string")h[A].indexOf(";")===-1&&h[A].indexOf(";")===-1?h[A][h[A]]:h[A].indexOf(";")>-1?h[A]=h[A].split(";").map(d=>d.split(",")):h[A].indexOf(";")===-1?h[A]=h[A].split(","):h[A].indexOf(";")>-1?h[A]=h[A].split(";").map(d=>d.split(",")):h[A].indexOf(";")===-1&&(h[A]=h[A].split(","));else if(((g==null?void 0:g.type)==="upload-image"||(g==null?void 0:g.type)==="upload-file")&&typeof h[A]=="string"){let d=[];Object.entries(h).forEach(([_,U])=>{h[A]===U&&_!==g.field&&_.indexOf("@")>-1&&_.indexOf(A)>-1&&(d=_.split("@")[1].split(","))}),h[A]=h[A].split(",").map((_,U)=>({url:_,name:d[U]||_}))}else(g==null?void 0:g.type)==="number"||(g==null?void 0:g.type)==="slider"?h[A]=Number(h[A]):(g==null?void 0:g.type)==="switch"&&(h[A]=typeof h[A]=="boolean"?h[A]:h[A].indexOf("true")>-1)}),h}(f);o.setFormData(P,D);const B=(C=s.value)==null?void 0:C[D];B==null||B.clearValidate()}else{o.setFormData(f,D);const m=(F=s.value)==null?void 0:F[D];m==null||m.clearValidate()}}async function v(f="default"){return await a(f,async D=>(await D.validate(),await D.getData()))}async function M(f){await l();const D={};for(const S in s.value){const C=s.value[S];C&&(D[S]=w.deepClone(await f(C)))}return D}async function O(){return await M(f=>f.getData())}function n(f){for(const D in f)y(f[D],D)}async function I(){return await M(async f=>(await f.validate(),await f.getData()))}return{ready:t,pageManager:o,forms:s,getData:E,setData:y,validate:v,getForms:O,setForms:n,validateAll:I,getFormInstance:u}}const ye={key:0,class:"epic-loading-box"},we={class:"epic-builder-main"},Se={class:"epic-loading-box"},ie=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{},id:{}},emits:["change","ready"],setup(t,{expose:o,emit:s}){const l=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),u=s,a=e.ref([]),E=e.ref({}),{ready:y,pageManager:v,forms:M,getData:O,setData:n,validate:I,getForms:f,setForms:D,validateAll:S,getFormInstance:C}=ge(),F=t,m=e.reactive({schemas:[]});e.watch(()=>F.pageSchema,p=>{w.deepCompareAndModify(m,p)},{immediate:!0,deep:!0}),e.watch(()=>F.formData,p=>{if(p){let c=T(p);E.value=c,n(c)}},{immediate:!0,deep:!0});function b(p){let c=[];return p.forEach(V=>{V.children&&(c=[...c,...b(V.children)]),c.push(V)}),c}function P(p,c){function V(r){return JSON.parse(JSON.stringify(r))}function $(r,i){if(r.type==="card"&&r.multiple&&r.field&&Array.isArray(i[r.field]))return i[r.field].map(d=>{var U;const _=V({...r,multiple:!0});return _.children=(U=_.children)==null?void 0:U.map(q=>$(q,d)).flat(),_});const N=V(r);return Array.isArray(N.children)&&(N.children=N.children.map(d=>$(d,i)).flat()),N}return p.map(r=>$(r,c)).flat()}function B(p,c="",V={root:0}){const $=c||"root";return c||(V.root=0),V[$]===void 0&&(V[$]=0),p.map(r=>{r.field&&(r.oldField=JSON.parse(JSON.stringify(r.field)));const i={...r};if(r.type==="card"){const N=r.field||"";r.multiple?(i.field=c?`${c}.${N}[${V[$]}]`:`${N}[${V[$]}]`,V[$]++):r.field&&c&&(i.field=`${c}.${N}`);const d=i.field||c;V[d]=0}else r.field&&c&&(i.field=`${c}.${r.field}`);return r.children&&(i.children=B(r.children,i.field||c,V)),i})}function h(p,c,V="",$={}){const r=V||"root";return $[r]===void 0&&($[r]=0),p.forEach(i=>{const N=i.field||"";let d=V?`${V}.${N}`:`${N}`;i.type==="card"&&i.multiple?(typeof c[d][`${$[r]}`]=="object"?Object.keys(c[d][`${$[r]}`]).forEach(_=>{c[`${d}[${$[r]}].${_}`]=c[d][`${$[r]}`][_]}):c[`${d}[${$[r]}]`]=c[d][`${$[r]}`],i.children&&(i.children=h(i.children,c,`${d}[${$[r]}]`||V,$)),$[r]++):i.children&&(i.children=h(i.children,c,V,$))}),$[r]=0,c}function R(p,c,V){let $=h(w.deepClone(p),w.deepClone(c));return{obj:B(p),dataObj:$}}function T(p){let c=b(F.pageSchema.schemas[0].children);a.value=c.filter(i=>i.type==="card"&&i.multiple);const V=P(F.pageSchema.schemas[0].children,p);let{obj:$,dataObj:r}=R(V,p,a.value);return p=r,F.pageSchema.schemas[0].children=$,Object.keys(p).forEach(i=>{var N,d,_,U,q,W,Q;if(i.indexOf("@")<0){const x=c.find(L=>L.field===i),me=["datetimerange","daterange","monthrange","dates"];if((x&&(x==null?void 0:x.type)==="checkbox"||(x==null?void 0:x.type)==="select"&&((N=x==null?void 0:x.componentProps)!=null&&N.multiple)||(x==null?void 0:x.type)==="cascader"&&!((_=(d=x==null?void 0:x.componentProps)==null?void 0:d.props)!=null&&_.multiple)||(x==null?void 0:x.type)==="date"&&me.includes((U=x==null?void 0:x.componentProps)==null?void 0:U.type))&&typeof p[i]=="string")p[i]=(q=p[i])==null?void 0:q.split(",");else if((x==null?void 0:x.type)==="cascader"&&((Q=(W=x==null?void 0:x.componentProps)==null?void 0:W.props)!=null&&Q.multiple)&&typeof p[i]=="string")p[i].indexOf(";")>-1?p[i]=p[i].split(";").map(L=>L.split(",")):p[i]=p[i].split(","),p[i].indexOf(";")>-1?p[i]=p[i].split(";").map(L=>L.split(",")):p[i]=p[i].split(",");else if(((x==null?void 0:x.type)==="upload-image"||(x==null?void 0:x.type)==="upload-file")&&typeof p[i]=="string"){let L=[];Object.entries(p).forEach(([J,X])=>{p[i]===X&&J!==x.field&&J.indexOf("@")>-1&&J.indexOf(i)>-1&&(L=J.split("@")[1].split(","))}),p[i]=p[i].split(",").map((J,X)=>({url:J,name:L[X]||J}))}else(x==null?void 0:x.type)==="number"||(x==null?void 0:x.type)==="slider"?p[i]=Number(p[i]):(x==null?void 0:x.type)==="switch"&&(p[i]=typeof p[i]=="boolean"?p[i]:p[i].indexOf("true")>-1)}}),p}e.watch(()=>m.script,p=>{p&&v.setMethods(p,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",v),e.provide("forms",M),e.provide("pageSchema",m),e.provide("disabled",e.computed(()=>F.disabled));const A=e.getCurrentInstance(),g=A==null?void 0:A.proxy;function k(){e.nextTick(()=>{y.value=!0,u("ready",v),g&&v.addComponentInstance("builder",g)})}return w.EventBus.on("updateformData"+(F.id?F.id:""),p=>{u("change",p)}),o({ready:y,pageManager:v,getData:O,setData:n,validate:I,getForms:f,setForms:D,validateAll:S,getFormInstance:C}),(p,c)=>e.unref(w.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:k},{default:e.withCtx(()=>[e.createElementVNode("div",we,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.schemas,(V,$)=>(e.openBlock(),e.createBlock(e.unref(le),{id:F.id,key:$,sourceDateUrl:F.sourceDateUrl,componentSchema:V},null,8,["id","sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",Se,[e.createVNode(e.unref(l))])]),_:1})):(e.openBlock(),e.createElementBlock("div",ye))}});function oe(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ee(t){let o=0,s,l;const u=()=>{o-=1,l&&o<=0&&(l.stop(),s=void 0,l=void 0)};return(...a)=>(o+=1,l||(l=e.effectScope(!0),s=l.run(()=>t(...a))),oe(u),s)}function H(t){return typeof t=="function"?t():e.unref(t)}const De=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const be=t=>typeof t<"u",xe=Object.prototype.toString,Ce=t=>xe.call(t)==="[object Object]",Ae=()=>{};function Oe(t){return e.getCurrentInstance()}function Ie(t,o=!0,s){Oe()?e.onMounted(t,s):o?t():e.nextTick(t)}function Pe(t=!1,o={}){const{truthyValue:s=!0,falsyValue:l=!1}=o,u=e.isRef(t),a=e.ref(t);function E(y){if(arguments.length)return a.value=y,a.value;{const v=H(s);return a.value=a.value===v?H(l):v,a.value}}return u?E:[a,E]}function _e(t,o,s){const l=e.watch(t,(...u)=>(e.nextTick(()=>l()),o(...u)),s);return l}const Y=De?window:void 0;function K(t){var o;const s=H(t);return(o=s==null?void 0:s.$el)!=null?o:s}function Ne(...t){let o,s,l,u;if(typeof t[0]=="string"||Array.isArray(t[0])?([s,l,u]=t,o=Y):[o,s,l,u]=t,!o)return Ae;Array.isArray(s)||(s=[s]),Array.isArray(l)||(l=[l]);const a=[],E=()=>{a.forEach(O=>O()),a.length=0},y=(O,n,I,f)=>(O.addEventListener(n,I,f),()=>O.removeEventListener(n,I,f)),v=e.watch(()=>[K(o),H(u)],([O,n])=>{if(E(),!O)return;const I=Ce(n)?{...n}:n;a.push(...s.flatMap(f=>l.map(D=>y(O,f,D,I))))},{immediate:!0,flush:"post"}),M=()=>{v(),E()};return oe(M),M}function Me(t){return typeof t=="function"?t:typeof t=="string"?o=>o.key===t:Array.isArray(t)?o=>t.includes(o.key):()=>!0}function ae(...t){let o,s,l={};t.length===3?(o=t[0],s=t[1],l=t[2]):t.length===2?typeof t[1]=="object"?(o=!0,s=t[0],l=t[1]):(o=t[0],s=t[1]):(o=!0,s=t[0]);const{target:u=Y,eventName:a="keydown",passive:E=!1,dedupe:y=!1}=l,v=Me(o);return Ne(u,a,O=>{O.repeat&&H(y)||v(O)&&s(O)},E)}function j(t,o,s={}){return ae(t,o,{...s,eventName:"keydown"})}function ee(t,o,s={}){return ae(t,o,{...s,eventName:"keyup"})}function Ve(){const t=e.ref(!1),o=e.getCurrentInstance();return o&&e.onMounted(()=>{t.value=!0},o),t}function $e(t){const o=Ve();return e.computed(()=>(o.value,!!t()))}function Be(t){return JSON.parse(JSON.stringify(t))}function ce(t,o,s={}){const{window:l=Y,...u}=s;let a;const E=$e(()=>l&&"ResizeObserver"in l),y=()=>{a&&(a.disconnect(),a=void 0)},v=e.computed(()=>{const n=H(t);return Array.isArray(n)?n.map(I=>K(I)):[K(n)]}),M=e.watch(v,n=>{if(y(),E.value&&l){a=new ResizeObserver(o);for(const I of n)I&&a.observe(I,u)}},{immediate:!0,flush:"post"}),O=()=>{y(),M()};return oe(O),{isSupported:E,stop:O}}function Fe(t,o={width:0,height:0},s={}){const{window:l=Y,box:u="content-box"}=s,a=e.computed(()=>{var n,I;return(I=(n=K(t))==null?void 0:n.namespaceURI)==null?void 0:I.includes("svg")}),E=e.ref(o.width),y=e.ref(o.height),{stop:v}=ce(t,([n])=>{const I=u==="border-box"?n.borderBoxSize:u==="content-box"?n.contentBoxSize:n.devicePixelContentBoxSize;if(l&&a.value){const f=K(t);if(f){const D=f.getBoundingClientRect();E.value=D.width,y.value=D.height}}else if(I){const f=Array.isArray(I)?I:[I];E.value=f.reduce((D,{inlineSize:S})=>D+S,0),y.value=f.reduce((D,{blockSize:S})=>D+S,0)}else E.value=n.contentRect.width,y.value=n.contentRect.height},s);Ie(()=>{const n=K(t);n&&(E.value="offsetWidth"in n?n.offsetWidth:o.width,y.value="offsetHeight"in n?n.offsetHeight:o.height)});const M=e.watch(()=>K(t),n=>{E.value=n?o.width:0,y.value=n?o.height:0});function O(){v(),M()}return{width:E,height:y,stop:O}}function Re(t,o,s,l={}){var u,a,E;const{clone:y=!1,passive:v=!1,eventName:M,deep:O=!1,defaultValue:n,shouldEmit:I}=l,f=e.getCurrentInstance(),D=s||(f==null?void 0:f.emit)||((u=f==null?void 0:f.$emit)==null?void 0:u.bind(f))||((E=(a=f==null?void 0:f.proxy)==null?void 0:a.$emit)==null?void 0:E.bind(f==null?void 0:f.proxy));let S=M;o||(o="modelValue"),S=S||`update:${o.toString()}`;const C=b=>y?typeof y=="function"?y(b):Be(b):b,F=()=>be(t[o])?C(t[o]):n,m=b=>{I?I(b)&&D(S,b):D(S,b)};if(v){const b=F(),P=e.ref(b);let B=!1;return e.watch(()=>t[o],h=>{B||(B=!0,P.value=C(h),e.nextTick(()=>B=!1))}),e.watch(P,h=>{!B&&(h!==t[o]||O)&&m(h)},{deep:O}),P}else return e.computed({get(){return F()},set(b){m(b)}})}function Te(){const{isDark:t}=Z(),o=Pe(t);return{isDark:t,toggleDark:o}}function ue(){const t=e.ref(!1);return e.onMounted(()=>{de(t),Ue(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function de(t){var o=document.documentElement;o&&(o.classList.contains("dark")?t.value=!0:t.value=!1)}function Ue(t){var o=document.querySelector("html"),s=new MutationObserver(function(l){for(var u of l)if(u.type==="attributes"&&u.attributeName==="class"){const a=u.target;new Array(...a.classList).includes("dark")?t.value=!0:t.value=!1}});s.observe(o,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{s.disconnect()})}function fe(){const t=e.ref(1),o=e.ref(!1),{isDark:s}=ue(),{pressSpace:l,pressShift:u,pressCtrl:a}=pe();return{canvasScale:t,pressSpace:l,pressShift:u,pressCtrl:a,disabledZoom:o,isDark:s}}const Z=Ee(fe);function pe(){const t=e.ref(!1),o=e.ref(!1),s=e.ref(!1);return j(" ",()=>{t.value=!0}),ee(" ",()=>{t.value=!1}),j("Shift",l=>{l.preventDefault(),o.value=!0}),ee("Shift",()=>{o.value=!1}),j("Control",l=>{l.preventDefault(),s.value=!0}),ee("Control",()=>{s.value=!1}),{pressSpace:t,pressShift:o,pressCtrl:s}}function qe(t){const{pressSpace:o}=Z(),s=new Image(1,1);s.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let l=0,u=0;function a(v){var M;o.value&&(l=v.x,u=v.y,(M=v.dataTransfer)==null||M.setDragImage(document.createElement("div"),0,0))}function E(v){if(v.preventDefault(),!v.x||!v.y||!o.value)return;const M=v.x-l,O=v.y-u;l=v.x,u=v.y,t.value&&(t.value.scrollTop-=O,t.value.scrollLeft-=M)}function y(){o.value=!1}return{handleElementDragStart:a,handleElementDrag:E,handleElementDragEnd:y}}function Le(t){const{pressCtrl:o,canvasScale:s,disabledZoom:l}=Z();function u(a){if(!o.value||l.value)return;a.preventDefault();let E=0;a.deltaY<0?E=s.value+.05:E=s.value-.05,!(E>150||E<.5)&&(s.value=E)}return e.watch(()=>s.value,a=>{t.value&&!l.value&&(t.value.style.transform=`scale(${a})`)}),{handleZoom:u,canvasScale:s}}function ke(t,o=16.66){let s;function l(){u(),s=window.setInterval(t,o)}function u(){window.clearInterval(s)}return{startTimedQuery:l,stopTimedQuery:u}}const Je={class:"min-w-750px rounded"},ze={class:"h-full rounded"},Ke=e.defineComponent({__name:"index",setup(t,{expose:o}){const s=w.pluginManager.getComponent("monacoEditor"),l=w.pluginManager.getComponent("modal"),u=e.ref(null),a=e.ref(!1),E=e.ref(!1),y=e.ref({}),v=e.inject("pageSchema"),M=e.ref(null),O=e.ref("");function n(){E.value=!1}function I(){a.value=!1}function f(){a.value=!0,O.value=w.getUUID()}async function D(){try{let S=await M.value.validateAll();if(!Object.keys(S).length){alert("请添加表单组件后再尝试!");return}Object.keys(S).length===1&&(S=S.default),y.value=JSON.stringify(S,null,2),e.nextTick(()=>{var C;(C=u.value)==null||C.setValue(y.value)}),E.value=!0}catch(S){console.error(S)}}return o({handleOpen:f}),(S,C)=>(e.openBlock(),e.createBlock(e.unref(l),{modelValue:a.value,"onUpdate:modelValue":C[1]||(C[1]=F=>a.value=F),title:"预览",class:"w-900px",width:"900px",onClose:I,onOk:D,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Je,[(e.openBlock(),e.createBlock(e.unref(ie),{key:O.value,ref_key:"kb",ref:M,"page-schema":e.unref(v)},null,8,["page-schema"])),e.createVNode(e.unref(l),{modelValue:E.value,"onUpdate:modelValue":C[0]||(C[0]=F=>E.value=F),title:"表单数据",class:"w-860px",width:"860px",onClose:n,onOk:n},{default:e.withCtx(()=>[e.createElementVNode("div",ze,[e.createVNode(e.unref(s),{ref_key:"monacoEditorRef",ref:u,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":y.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]))}}),He={key:0,class:"epic-loading-box"},Ze={class:"epic-designer-main"},We={class:"epic-header-container"},Qe={class:"epic-loading-box"},Ge=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:o,emit:s}){const{t:l}=z.useLocale(),u=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-v2u1WTMm.cjs"))),a=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-CCCx1tbF.cjs"))),E=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Bd31VLwK.cjs"))),y=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-R2r9Rw5O.cjs"))),v=w.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),M=ne(),O=se(),n=t;let I={schemas:[{type:"form",id:"root",label:l("page"),children:[],componentProps:{name:l("form"),style:{padding:"16px"}}}],script:`const { defineExpose, find } = epic;
|
|
2
2
|
|
|
3
3
|
function test (){
|
|
4
4
|
console.log('test')
|
|
@@ -7,4 +7,4 @@ function test (){
|
|
|
7
7
|
// 通过defineExpose暴露的函数或者属性
|
|
8
8
|
defineExpose({
|
|
9
9
|
test
|
|
10
|
-
})`};e.watchEffect(()=>{if(n.defaultSchema){I=n.defaultSchema;return}n.source&&w.pluginManager.setSourceData(n.source),n.formMode&&(I.schemas=w.pluginManager.formSchemas)}),M.setDesignMode(),M.setDefaultComponentIds(I.schemas);const f=s,D=e.ref(null),S=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),C=e.reactive({schemas:[],script:I.script}),{disabledZoom:F}=Z();e.watchEffect(()=>{F.value=n.disabledZoom}),e.watchEffect(()=>{const c=C.script;c&&c!==""&&M.setMethods(c)}),e.provide("pageSchema",C),e.provide("revoke",O),e.provide("pageManager",M),e.provide("designerProps",e.computed(()=>n)),e.provide("designer",{setCheckedNode:b,setHoverNode:P,setDisableHover:h,handleToggleDeviceMode:k,reset:A,state:S}),w.EventBus.on("saveSourceData",c=>{f("saveSourceData",c)}),w.EventBus.on("deleteSourceData",c=>{f("deleteSourceData",c)}),w.EventBus.on("updateSourceData",c=>{f("updateSourceData",c)});function m(){C.schemas=w.deepClone(I.schemas),b(C.schemas[0]),O.push(C.schemas,"初始化撤销功能")}async function b(c=C.schemas[0]){S.checkedNode=c,S.matched=w.getMatchedById(C.schemas,c.id)}async function P(c=null){var V;if(!c||S.disableHover)return S.hoverNode=null,!1;if((c==null?void 0:c.id)===((V=S.hoverNode)==null?void 0:V.id))return!1;S.hoverNode=c}function B(){e.nextTick(()=>{f("ready",{pageManager:M})})}async function h(c=!1){S.disableHover=c}function R(c){w.deepCompareAndModify(C,w.deepClone(c))}function T(){return e.toRaw(C)}function A(){w.deepEqual(C.schemas,I.schemas)&&C.script===I.script||(w.deepCompareAndModify(C.schemas,I.schemas),C.script=I.script,b(C.schemas[0]),O.push(C.schemas,"重置操作"),f("reset",C))}function g(){f("save",e.toRaw(C))}function k(c){f("toggleDeviceMode",c)}function p(){D.value.handleOpen()}return m(),o({revoke:O,setData:R,getData:T,reset:A,preview:p}),(c,V)=>e.unref(w.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:B},{default:e.withCtx(()=>[e.createElementVNode("div",Ze,[e.createElementVNode("div",We,[e.renderSlot(c.$slots,"header",{},()=>[n.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(u),{key:0,onPreview:p,onSave:g},{header:e.withCtx(()=>[e.renderSlot(c.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(c.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(c.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(c.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(c.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(c.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":c.hiddenHeader}])},[e.createVNode(e.unref(a)),e.createVNode(e.unref(E)),e.createVNode(e.unref(y))],2),e.createVNode(Ke,{ref_key:"previewRef",ref:D},null,512)])]),fallback:e.withCtx(()=>[e.createElementVNode("div",Qe,[e.createVNode(e.unref(v))])]),_:3})):(e.openBlock(),e.createElementBlock("div",He))}}),Ye={component:async()=>await Promise.resolve().then(()=>require("./index-
|
|
10
|
+
})`};e.watchEffect(()=>{if(n.defaultSchema){I=n.defaultSchema;return}n.source&&w.pluginManager.setSourceData(n.source),n.formMode&&(I.schemas=w.pluginManager.formSchemas)}),M.setDesignMode(),M.setDefaultComponentIds(I.schemas);const f=s,D=e.ref(null),S=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),C=e.reactive({schemas:[],script:I.script}),{disabledZoom:F}=Z();e.watchEffect(()=>{F.value=n.disabledZoom}),e.watchEffect(()=>{const c=C.script;c&&c!==""&&M.setMethods(c)}),e.provide("pageSchema",C),e.provide("revoke",O),e.provide("pageManager",M),e.provide("designerProps",e.computed(()=>n)),e.provide("designer",{setCheckedNode:b,setHoverNode:P,setDisableHover:h,handleToggleDeviceMode:k,reset:A,state:S}),w.EventBus.on("saveSourceData",c=>{f("saveSourceData",c)}),w.EventBus.on("deleteSourceData",c=>{f("deleteSourceData",c)}),w.EventBus.on("updateSourceData",c=>{f("updateSourceData",c)});function m(){C.schemas=w.deepClone(I.schemas),b(C.schemas[0]),O.push(C.schemas,"初始化撤销功能")}async function b(c=C.schemas[0]){S.checkedNode=c,S.matched=w.getMatchedById(C.schemas,c.id)}async function P(c=null){var V;if(!c||S.disableHover)return S.hoverNode=null,!1;if((c==null?void 0:c.id)===((V=S.hoverNode)==null?void 0:V.id))return!1;S.hoverNode=c}function B(){e.nextTick(()=>{f("ready",{pageManager:M})})}async function h(c=!1){S.disableHover=c}function R(c){w.deepCompareAndModify(C,w.deepClone(c))}function T(){return e.toRaw(C)}function A(){w.deepEqual(C.schemas,I.schemas)&&C.script===I.script||(w.deepCompareAndModify(C.schemas,I.schemas),C.script=I.script,b(C.schemas[0]),O.push(C.schemas,"重置操作"),f("reset",C))}function g(){f("save",e.toRaw(C))}function k(c){f("toggleDeviceMode",c)}function p(){D.value.handleOpen()}return m(),o({revoke:O,setData:R,getData:T,reset:A,preview:p}),(c,V)=>e.unref(w.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:B},{default:e.withCtx(()=>[e.createElementVNode("div",Ze,[e.createElementVNode("div",We,[e.renderSlot(c.$slots,"header",{},()=>[n.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(u),{key:0,onPreview:p,onSave:g},{header:e.withCtx(()=>[e.renderSlot(c.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(c.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(c.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(c.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(c.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(c.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":c.hiddenHeader}])},[e.createVNode(e.unref(a)),e.createVNode(e.unref(E)),e.createVNode(e.unref(y))],2),e.createVNode(Ke,{ref_key:"previewRef",ref:D},null,512)])]),fallback:e.withCtx(()=>[e.createElementVNode("div",Qe,[e.createVNode(e.unref(v))])]),_:3})):(e.openBlock(),e.createElementBlock("div",He))}}),Ye={component:async()=>await Promise.resolve().then(()=>require("./index-BX-xUakg.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"},{t:te}=z.useLocale(),Xe={component:async()=>await Promise.resolve().then(()=>require("./index-Ch9jeYmj.cjs")),defaultSchema:{label:te("page"),type:"page",componentProps:{},children:[]},config:{attribute:[{label:te("pageName"),type:"input",componentProps:{placeholder:te("pleaseEnter")},field:"componentProps.name"}]}},{t:G}=z.useLocale();function je(t){t.component("EInputSize",async()=>await Promise.resolve().then(()=>require("./index-CpevxZqj.cjs"))),t.component("EColEditor",async()=>await Promise.resolve().then(()=>require("./index-FgdbKgb5.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-Bt5-ufJn.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-V0ErjLAa.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-BUy9UtUU.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-B3YX3dM8.cjs"))),t.component("EDataSource",async()=>await Promise.resolve().then(()=>require("./index-BEUYVwRA.cjs"))),t.component("EColumnEditor",async()=>await Promise.resolve().then(()=>require("./index-DeZxYu-f.cjs"))),t.component("PaddingMarginControl",async()=>await Promise.resolve().then(()=>require("./index-DYQi05p8.cjs"))),t.component("ESourceDataSelect",async()=>await Promise.resolve().then(()=>require("./index-CKtym_o1.cjs"))),t.registerActivitybar({id:"component_view",title:G("component"),icon:"icon--epic--extension-outline",component:async()=>await Promise.resolve().then(()=>require("./index-BHZbtFEF.cjs"))}),t.registerActivitybar({id:"outline_view",title:G("outline"),icon:"icon--epic--account-tree-outline-rounded",component:async()=>await Promise.resolve().then(()=>require("./outline-BE98qFHQ.cjs"))}),t.registerRightSidebar({id:"attribute_view",title:G("attribute"),component:async()=>await Promise.resolve().then(()=>require("./attributeView-B6m9Ugo7.cjs"))}),t.registerRightSidebar({id:"style_view",title:G("style"),component:async()=>await Promise.resolve().then(()=>require("./styleView-HRlIalXM.cjs"))}),t.registerRightSidebar({id:"event_view",title:"事件",component:async()=>await Promise.resolve().then(()=>require("./eventView-5fa6mfSD.cjs"))}),[Ye,Xe].forEach(s=>{t.registerComponent(s)})}je(w.pluginManager);exports._sfc_main=le;exports._sfc_main$1=ie;exports._sfc_main$2=Ge;exports.debounce=he;exports.getDarkState=de;exports.initStore=fe;exports.useDark=ue;exports.useElementDrag=qe;exports.useElementSize=Fe;exports.useElementZoom=Le;exports.useKeyPress=pe;exports.usePageManager=ne;exports.useResizeObserver=ce;exports.useRevoke=se;exports.useStore=Z;exports.useTheme=Te;exports.useTimedQuery=ke;exports.useVModel=Re;exports.watchOnce=_e;
|
|
@@ -2,7 +2,7 @@ import { defineComponent as $, inject as M, resolveComponent as z, openBlock as
|
|
|
2
2
|
import { d as K } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
3
3
|
import { p, E as N } from "./pluginManager-BCnrHPYv.js";
|
|
4
4
|
import { _ as C } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
|
-
import { g as S } from "./index-
|
|
5
|
+
import { g as S } from "./index-CiHMFeXK.js";
|
|
6
6
|
import "element-plus";
|
|
7
7
|
import { u as P } from "./index-B1s67XDZ.js";
|
|
8
8
|
import { _ as Q } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index-qb-xohCc.cjs"),e=require("./pluginManager-DWHAX8kP.cjs");exports.EBuilder=a._sfc_main$1;exports.EDesigner=a._sfc_main$2;exports.ENode=a._sfc_main;exports.debounce=a.debounce;exports.getDarkState=a.getDarkState;exports.initStore=a.initStore;exports.useDark=a.useDark;exports.useElementDrag=a.useElementDrag;exports.useElementZoom=a.useElementZoom;exports.useKeyPress=a.useKeyPress;exports.usePageManager=a.usePageManager;exports.useRevoke=a.useRevoke;exports.useStore=a.useStore;exports.useTheme=a.useTheme;exports.useTimedQuery=a.useTimedQuery;exports.EventBus=e.EventBus;exports.PluginManager=e.PluginManager;exports.capitalizeFirstLetter=e.capitalizeFirstLetter;exports.convertKFormData=e.convertKFormData;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.getFormFields=e.getFormFields;exports.getFormSchemas=e.getFormSchemas;exports.getMatchedById=e.getMatchedById;exports.getUUID=e.getUUID;exports.getValueByPath=e.getValueByPath;exports.loadAsyncComponent=e.loadAsyncComponent;exports.mapSchemas=e.mapSchemas;exports.pluginManager=e.pluginManager;exports.recursionConvertedNode=e.recursionConvertedNode;exports.setValueByPath=e.setValueByPath;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as s, j as t, _ as r, f as o, o as n, p as d, n as m, c as u, e as i, m as g, k as c, l, u as h, h as p, a as f } from "./index-
|
|
1
|
+
import { i as s, j as t, _ as r, f as o, o as n, p as d, n as m, c as u, e as i, m as g, k as c, l, u as h, h as p, a as f } from "./index-CiHMFeXK.js";
|
|
2
2
|
import { E as S, P as E, c as B, q as D, a as P, d as k, b as F, n as I, o as M, f as v, h as C, j as N, k as b, e as j, g as q, i as x, l as A, m as K, p as T, r as U, s as V } from "./pluginManager-BCnrHPYv.js";
|
|
3
3
|
export {
|
|
4
4
|
s as EBuilder,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent as W, ref as u, watch as x, openBlock as _, createBlock as A, unref as F, withCtx as G, createElementBlock as Q, Fragment as X, renderList as Y, nextTick as ee } from "vue";
|
|
2
2
|
import { a as q } from "./axios-CXDYiOMX.js";
|
|
3
3
|
import { a as h } from "./index-B1s67XDZ.js";
|
|
4
|
-
import { ElSelect as ae, ElOption as
|
|
5
|
-
import { _ as
|
|
4
|
+
import { ElSelect as ae, ElOption as le } from "element-plus";
|
|
5
|
+
import { _ as te } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
const oe = /* @__PURE__ */ W({
|
|
7
7
|
__name: "selectPage",
|
|
8
8
|
props: {
|
|
@@ -30,18 +30,18 @@ const oe = /* @__PURE__ */ W({
|
|
|
30
30
|
}
|
|
31
31
|
), x(v, (e) => {
|
|
32
32
|
P("update:modelValue", e);
|
|
33
|
-
let
|
|
33
|
+
let l = n.value.find((t) => t.value === e);
|
|
34
34
|
P("update:modelValueLabel", {
|
|
35
|
-
label:
|
|
36
|
-
value:
|
|
35
|
+
label: l.label || a.defaultData.label,
|
|
36
|
+
value: l.value || a.defaultData.value
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
39
|
const n = u(a.defaultData && Object.keys(a.defaultData).length ? [a.defaultData] : []), s = u(!1), m = u(0), c = u(1), T = u(""), p = u(!1), i = u(null), f = u(null);
|
|
40
40
|
function B() {
|
|
41
41
|
n.value = [], m.value = 0, c.value = 1, p.value = !1;
|
|
42
42
|
}
|
|
43
|
-
async function
|
|
44
|
-
var e,
|
|
43
|
+
async function g() {
|
|
44
|
+
var e, l, t, r, E, K, L, z, C, N;
|
|
45
45
|
if (!(s.value || p.value)) {
|
|
46
46
|
s.value = !0;
|
|
47
47
|
try {
|
|
@@ -51,8 +51,8 @@ const oe = /* @__PURE__ */ W({
|
|
|
51
51
|
data: o.value.body ? JSON.parse(o.value.body) : {},
|
|
52
52
|
params: o.value.params ? {
|
|
53
53
|
...JSON.parse(o.value.params),
|
|
54
|
-
[`${(
|
|
55
|
-
[`${(r = (
|
|
54
|
+
[`${(l = (e = a == null ? void 0 : a.componentSchema) == null ? void 0 : e.componentProps) == null ? void 0 : l.pageKey}`]: c.value,
|
|
55
|
+
[`${(r = (t = a == null ? void 0 : a.componentSchema) == null ? void 0 : t.componentProps) == null ? void 0 : r.searchKey}`]: T.value
|
|
56
56
|
} : {},
|
|
57
57
|
headers: {
|
|
58
58
|
...JSON.parse(o.value.headers),
|
|
@@ -67,10 +67,10 @@ const oe = /* @__PURE__ */ W({
|
|
|
67
67
|
const Z = ((E = o.value) == null ? void 0 : E.dataPath.split(".")).reduce((w, V) => w[V], d.data), j = (K = o.value) == null ? void 0 : K.dataPath.split(".");
|
|
68
68
|
j.pop();
|
|
69
69
|
const R = j.reduce((w, V) => w[V], d.data);
|
|
70
|
-
let k =
|
|
70
|
+
let k = b(Z, o.value.dataKey, o.value.dataValue);
|
|
71
71
|
c.value === 1 ? n.value = k : n.value = n.value.concat(k), m.value = R[(z = (L = a == null ? void 0 : a.componentSchema) == null ? void 0 : L.componentProps) == null ? void 0 : z.pageTotalKey];
|
|
72
72
|
} else {
|
|
73
|
-
let S =
|
|
73
|
+
let S = b(d.data, o.value.dataKey, o.value.dataValue);
|
|
74
74
|
c.value === 1 ? n.value = S : n.value = n.value.concat(S), m.value = d.data[(N = (C = a == null ? void 0 : a.componentSchema) == null ? void 0 : C.componentProps) == null ? void 0 : N.pageTotalKey];
|
|
75
75
|
}
|
|
76
76
|
n.value.length >= m.value && (p.value = !0);
|
|
@@ -82,23 +82,23 @@ const oe = /* @__PURE__ */ W({
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
const o = u();
|
|
85
|
-
function
|
|
85
|
+
function b(e, l, t) {
|
|
86
86
|
return e && Object.prototype.toString.call(e) === "[object Array]" ? e.map((r) => r.children && r.children.length ? {
|
|
87
|
-
label: r[
|
|
88
|
-
value: r[
|
|
89
|
-
children:
|
|
87
|
+
label: r[l],
|
|
88
|
+
value: r[t] + "",
|
|
89
|
+
children: b(r.children, l, t)
|
|
90
90
|
} : {
|
|
91
|
-
label: r[
|
|
92
|
-
value: r[
|
|
91
|
+
label: r[l],
|
|
92
|
+
value: r[t] + ""
|
|
93
93
|
}) : [];
|
|
94
94
|
}
|
|
95
95
|
async function U() {
|
|
96
|
-
var
|
|
96
|
+
var l, t;
|
|
97
97
|
let e = await q({
|
|
98
|
-
url: a.sourceDateUrl
|
|
98
|
+
url: a.sourceDateUrl,
|
|
99
99
|
method: "get",
|
|
100
100
|
params: {
|
|
101
|
-
id: (
|
|
101
|
+
id: (t = (l = a == null ? void 0 : a.componentSchema) == null ? void 0 : l.componentProps) == null ? void 0 : t.dynamicId
|
|
102
102
|
},
|
|
103
103
|
headers: {
|
|
104
104
|
Authorization: "Bearer " + h.get("Admin-Token"),
|
|
@@ -112,16 +112,16 @@ const oe = /* @__PURE__ */ W({
|
|
|
112
112
|
}
|
|
113
113
|
U();
|
|
114
114
|
function $(e) {
|
|
115
|
-
T.value = e, c.value = 1, B(),
|
|
115
|
+
T.value = e, c.value = 1, B(), g();
|
|
116
116
|
}
|
|
117
117
|
function J(e) {
|
|
118
|
-
e ? (B(),
|
|
118
|
+
e ? (B(), g(), ee(() => setTimeout(M, 0))) : H();
|
|
119
119
|
}
|
|
120
120
|
function M() {
|
|
121
121
|
const e = document.querySelector(`.${O} .el-select-dropdown__wrap`);
|
|
122
122
|
e ? (i.value = e, e.addEventListener("scroll", y)) : (f.value = new MutationObserver(() => {
|
|
123
|
-
const
|
|
124
|
-
|
|
123
|
+
const l = document.querySelector(".paginated-select-dropdown .el-select-dropdown__wrap");
|
|
124
|
+
l && (i.value = l, l.addEventListener("scroll", y), f.value.disconnect());
|
|
125
125
|
}), f.value.observe(document.body, { childList: !0, subtree: !0 }));
|
|
126
126
|
}
|
|
127
127
|
function H() {
|
|
@@ -131,11 +131,11 @@ const oe = /* @__PURE__ */ W({
|
|
|
131
131
|
function y() {
|
|
132
132
|
const e = i.value;
|
|
133
133
|
if (!e || s.value || p.value) return;
|
|
134
|
-
e.scrollTop + e.clientHeight >= e.scrollHeight - 10 && (c.value++,
|
|
134
|
+
e.scrollTop + e.clientHeight >= e.scrollHeight - 10 && (c.value++, g());
|
|
135
135
|
}
|
|
136
|
-
return (e,
|
|
136
|
+
return (e, l) => (_(), A(F(ae), {
|
|
137
137
|
modelValue: v.value,
|
|
138
|
-
"onUpdate:modelValue":
|
|
138
|
+
"onUpdate:modelValue": l[0] || (l[0] = (t) => v.value = t),
|
|
139
139
|
filterable: "",
|
|
140
140
|
remote: "",
|
|
141
141
|
clearable: "",
|
|
@@ -148,16 +148,16 @@ const oe = /* @__PURE__ */ W({
|
|
|
148
148
|
style: { width: "100%" }
|
|
149
149
|
}, {
|
|
150
150
|
default: G(() => [
|
|
151
|
-
(_(!0), Q(X, null, Y(n.value, (
|
|
152
|
-
key:
|
|
153
|
-
label:
|
|
154
|
-
value:
|
|
151
|
+
(_(!0), Q(X, null, Y(n.value, (t) => (_(), A(F(le), {
|
|
152
|
+
key: t.value,
|
|
153
|
+
label: t.label,
|
|
154
|
+
value: t.value
|
|
155
155
|
}, null, 8, ["label", "value"]))), 128))
|
|
156
156
|
]),
|
|
157
157
|
_: 1
|
|
158
158
|
}, 8, ["modelValue", "placeholder", "loading"]));
|
|
159
159
|
}
|
|
160
|
-
}), ie = /* @__PURE__ */
|
|
160
|
+
}), ie = /* @__PURE__ */ te(oe, [["__scopeId", "data-v-e1d8d544"]]);
|
|
161
161
|
export {
|
|
162
162
|
ie as default
|
|
163
163
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),z=require("./axios-tuVKNgv9.cjs"),h=require("./index-BoL2PSBk.cjs"),C=require("element-plus"),J=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),Z=a.defineComponent({__name:"selectPage",props:{modelValue:[String,Number],placeholder:String,requestFn:{type:Function,default:()=>{}},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"label"},pageSize:{type:Number,default:20},defaultData:{type:Object,default:()=>{}},componentSchema:{type:Object,default:()=>{}},sourceDateUrl:{type:String,default:""}},emits:["update:modelValue","update:modelValueLabel"],setup(_,{emit:N}){const O=`paginated-select-dropdown-${Math.random().toString(36).slice(2,8)}`,l=_,P=N,v=a.ref(l.modelValue);a.watch(()=>l.modelValue,e=>{v.value=e}),a.watch(v,e=>{P("update:modelValue",e);let t=r.value.find(o=>o.value===e);P("update:modelValueLabel",{label:t.label||l.defaultData.label,value:t.value||l.defaultData.value})});const r=a.ref(l.defaultData&&Object.keys(l.defaultData).length?[l.defaultData]:[]),s=a.ref(!1),p=a.ref(0),c=a.ref(1),B=a.ref(""),m=a.ref(!1),i=a.ref(null),f=a.ref(null);function D(){r.value=[],p.value=0,c.value=1,m.value=!1}async function g(){var e,t,o,u,T,k,q,x,E,K;if(!(s.value||m.value)){s.value=!0;try{const d=await z.axios({url:n.value.url,method:n.value.method,data:n.value.body?JSON.parse(n.value.body):{},params:n.value.params?{...JSON.parse(n.value.params),[`${(t=(e=l==null?void 0:l.componentSchema)==null?void 0:e.componentProps)==null?void 0:t.pageKey}`]:c.value,[`${(u=(o=l==null?void 0:l.componentSchema)==null?void 0:o.componentProps)==null?void 0:u.searchKey}`]:B.value}:{},headers:{...JSON.parse(n.value.headers),Authorization:"Bearer "+h.api.get("Admin-Token"),lang:h.api.get("saas-locale")||"zh-CN",zone:Intl.DateTimeFormat().resolvedOptions().timeZone}});if(n.value&&n.value.dataPath){const $=((T=n.value)==null?void 0:T.dataPath.split(".")).reduce((w,V)=>w[V],d.data),L=(k=n.value)==null?void 0:k.dataPath.split(".");L.pop();const H=L.reduce((w,V)=>w[V],d.data);let j=b($,n.value.dataKey,n.value.dataValue);c.value===1?r.value=j:r.value=r.value.concat(j),p.value=H[(x=(q=l==null?void 0:l.componentSchema)==null?void 0:q.componentProps)==null?void 0:x.pageTotalKey]}else{let S=b(d.data,n.value.dataKey,n.value.dataValue);c.value===1?r.value=S:r.value=r.value.concat(S),p.value=d.data[(K=(E=l==null?void 0:l.componentSchema)==null?void 0:E.componentProps)==null?void 0:K.pageTotalKey]}r.value.length>=p.value&&(m.value=!0)}catch(d){console.error("fetch error:",d)}finally{s.value=!1}}}const n=a.ref();function b(e,t,o){return e&&Object.prototype.toString.call(e)==="[object Array]"?e.map(u=>u.children&&u.children.length?{label:u[t],value:u[o]+"",children:b(u.children,t,o)}:{label:u[t],value:u[o]+""}):[]}async function A(){var t,o;let e=await z.axios({url:l.sourceDateUrl,method:"get",params:{id:(o=(t=l==null?void 0:l.componentSchema)==null?void 0:t.componentProps)==null?void 0:o.dynamicId},headers:{Authorization:"Bearer "+h.api.get("Admin-Token"),lang:h.api.get("saas-locale")||"zh-CN",zone:Intl.DateTimeFormat().resolvedOptions().timeZone}});e.data.code===200&&(n.value=e.data.data)}A();function F(e){B.value=e,c.value=1,D(),g()}function I(e){e?(D(),g(),a.nextTick(()=>setTimeout(M,0))):U()}function M(){const e=document.querySelector(`.${O} .el-select-dropdown__wrap`);e?(i.value=e,e.addEventListener("scroll",y)):(f.value=new MutationObserver(()=>{const t=document.querySelector(".paginated-select-dropdown .el-select-dropdown__wrap");t&&(i.value=t,t.addEventListener("scroll",y),f.value.disconnect())}),f.value.observe(document.body,{childList:!0,subtree:!0}))}function U(){var e;i.value&&i.value.removeEventListener("scroll",y),(e=f.value)==null||e.disconnect()}function y(){const e=i.value;if(!e||s.value||m.value)return;e.scrollTop+e.clientHeight>=e.scrollHeight-10&&(c.value++,g())}return(e,t)=>(a.openBlock(),a.createBlock(a.unref(C.ElSelect),{modelValue:v.value,"onUpdate:modelValue":t[0]||(t[0]=o=>v.value=o),filterable:"",remote:"",clearable:"",placeholder:_.placeholder,"remote-method":F,loading:s.value,teleported:!0,onVisibleChange:I,"popper-class":O,style:{width:"100%"}},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(r.value,o=>(a.openBlock(),a.createBlock(a.unref(C.ElOption),{key:o.value,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]))}}),R=J._export_sfc(Z,[["__scopeId","data-v-e1d8d544"]]);exports.default=R;
|