gepic
Version:
基于vue3的设计器,可视化开发页面表单
2 lines (1 loc) • 1.56 kB
JavaScript
;const e=require("vue"),b=require("vuedraggable"),f=require("../../../../../../utils/manager/pluginManager.cjs");require("@vueuse/core");require("../../../../../../hooks/store/index.cjs");const k=require("./nodeItem.vue.cjs"),C=e.defineComponent({name:"EditNodeItem",__name:"editNodeItem",props:{schemas:{}},emits:["update:schemas"],setup(m,{emit:l}){const a=e.inject("designer"),r=e.inject("pageSchema"),d=e.inject("revoke"),c=m,g=l,i=e.computed({get(){return c.schemas},set(o){g("update:schemas",o)}});function u(o){a.setCheckedNode(i.value[o]),a.setDisableHover(!0)}function p(){a.setDisableHover(),d.push(r.schemas,"拖拽组件")}function v(){d.push(r.schemas,"插入组件")}function h(o){var n,t,s;return o.id===((n=r.schemas[0])==null?void 0:n.id)||(s=(t=f.pluginManager.getComponentConfingByType(o.type))==null?void 0:t.editConstraints)!=null&&s.immovable?"unmover-item":"draggable-item"}return(o,n)=>(e.openBlock(),e.createBlock(e.unref(b),e.mergeProps({modelValue:i.value,"onUpdate:modelValue":n[0]||(n[0]=t=>i.value=t),"item-key":"id","component-data":{type:"transition-group"},class:"epic-draggable-range"},{animation:200,group:"edit-draggable",handle:".draggable-item",ghostClass:"moveing"},{onStart:n[1]||(n[1]=t=>u(t.oldIndex)),onEnd:n[2]||(n[2]=t=>p()),onAdd:n[3]||(n[3]=t=>{u(t.newIndex),v()})}),{item:e.withCtx(({element:t,index:s})=>[(e.openBlock(),e.createElementBlock("div",{key:s,class:e.normalizeClass(["widget-box",h(t)])},[e.createVNode(k,{schema:t},null,8,["schema"])],2))]),_:1},16,["modelValue"]))}});module.exports=C;