gepic
Version:
基于vue3的设计器,可视化开发页面表单
2 lines (1 loc) • 1.85 kB
JavaScript
;const e=require("vue"),g=require("./treeNodeItem.vue.cjs"),_=require("vuedraggable"),p=require("../../../../utils/manager/pluginManager.cjs");require("@vueuse/core");require("../../../../hooks/store/index.cjs");const f={key:1},C=e.defineComponent({name:"ETreeNodes",__name:"treeNodes",props:{schemas:{},parentSchema:{}},emits:["update:schemas"],setup(h,{emit:k}){const i=e.inject("designer"),l=e.inject("pageSchema"),v=e.inject("treeProps"),c=h,b=k,r=e.computed({get(){return c.schemas},set(n){b("update:schemas",n)}});function y(n){i.setDisableHover(!0),i.setCheckedNode(r.value[n])}function B(n){var a,o,s;return n.id===((a=l.schemas[0])==null?void 0:a.id)||(s=(o=p.pluginManager.getComponentConfingByType(n.type))==null?void 0:o.editConstraints)!=null&&s.immovable?"unmover-item":"draggable-item"}return(n,a)=>{var o,s,u,m,d;return(u=(s=e.unref(p.pluginManager).getComponentConfingByType(((o=c.parentSchema)==null?void 0:o.type)||""))==null?void 0:s.editConstraints)!=null&&u.childImmovable?(e.openBlock(),e.createElementBlock("ul",f,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,t=>(e.openBlock(),e.createBlock(g,{key:t.id,schema:t},null,8,["schema"]))),128))])):(e.openBlock(),e.createBlock(e.unref(_),e.mergeProps({key:0,modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=t=>r.value=t),"item-key":"id","component-data":{},class:"epic-draggable-range"},{animation:200,tag:"ul",group:"tree-draggable",ghostClass:"moveing",draggable:".draggable-item",disabled:!e.unref(v).draggable||((m=r.value[0])==null?void 0:m.id)===((d=e.unref(l).schemas[0])==null?void 0:d.id)},{onStart:a[1]||(a[1]=t=>y(t.oldIndex))}),{item:e.withCtx(({element:t,index:S})=>[(e.openBlock(),e.createBlock(g,{key:t.id,class:e.normalizeClass(B(t)),schema:t},null,8,["class","schema"]))]),_:1},16,["modelValue"]))}}});module.exports=C;