UNPKG

epic-designer

Version:

基于vue3的设计器,可视化开发页面表单

2 lines (1 loc) 1.93 kB
"use strict";const e=require("vue");;/* empty css */const B=require("vuedraggable"),m=require("./treeNodeItem.vue.cjs");require("@vueuse/core");require("../../../../hooks/src/store/index.cjs");const d=require("../../../../utils/src/manager/pluginManager.cjs"),_={key:1},C=e.defineComponent({name:"ETreeNodes",__name:"treeNodes",props:{parentSchema:{},schemas:{}},emits:["update:schemas"],setup(p,{emit:g}){const i=p,h=g,c=e.inject("designer"),l=e.inject("pageSchema"),k=e.inject("treeProps"),r=e.computed({get(){return i.schemas},set(t){h("update:schemas",t)}});function v(t){c.setDisabledHover(!0),c.setSelectedNode(r.value[t])}function b(t){var a,o,s;return t.id===((a=l.schemas[0])==null?void 0:a.id)||(s=(o=d.pluginManager.getComponentConfingByType(t.type))==null?void 0:o.editConstraints)!=null&&s.immovable?"epic-unmover-item":"epic-draggable-item"}const y=e.computed(()=>{var t,a;return!k.draggable||((t=r.value[0])==null?void 0:t.id)===((a=l.schemas[0])==null?void 0:a.id)});return(t,a)=>{var o,s,u;return(u=(s=e.unref(d.pluginManager).getComponentConfingByType(((o=i.parentSchema)==null?void 0:o.type)||""))==null?void 0:s.editConstraints)!=null&&u.childImmovable?(e.openBlock(),e.createElementBlock("ul",_,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,n=>(e.openBlock(),e.createBlock(m,{key:n.id,schema:n},null,8,["schema"]))),128))])):(e.openBlock(),e.createBlock(e.unref(B),e.mergeProps({key:0,modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=n=>r.value=n),"item-key":"id","component-data":{},class:"epic-draggable-range"},{animation:200,tag:"ul",group:"tree-draggable",ghostClass:"moveing",draggable:".epic-draggable-item",disabled:y.value},{onStart:a[1]||(a[1]=n=>v(n.oldIndex))}),{item:e.withCtx(({element:n})=>[(e.openBlock(),e.createBlock(m,{key:n.id,class:e.normalizeClass(b(n)),schema:n},null,8,["class","schema"]))]),_:1},16,["modelValue"]))}}});module.exports=C;