gepic
Version:
基于vue3的设计器,可视化开发页面表单
2 lines (1 loc) • 2.49 kB
JavaScript
;const e=require("vue"),B=require("../../../../node/src/node.vue.cjs"),L=require("./editNodeItem.vue.cjs"),v=require("../../../../../../utils/manager/pluginManager.cjs");require("@vueuse/core");require("../../../../../../hooks/store/index.cjs");const q=e.defineComponent({name:"ENodeItem",__name:"nodeItem",props:{schema:{},name:{}},setup(g){const _=e.useAttrs(),u=e.inject("designer"),k=e.inject("pageManager",{}),y=e.inject("pageSchema",{}),C=e.ref(null);e.provide("nodeAttrs",_);const o=g,N=e.computed(()=>!o.schema.children),i=e.computed(()=>{var c,a,p,h,f;const t=k.componentInstances.value,n=(c=o.schema)==null?void 0:c.id,r=v.pluginManager.getComponentConfingByType((a=o.schema)==null?void 0:a.type)??null;if(!n||!(t!=null&&t[n]))return null;if(r!=null&&r.defaultSchema.input&&((p=o.schema)==null?void 0:p.noFormItem)!==!0)return(h=t[n+"formItem"])==null?void 0:h.$el;const s=t[n];return((f=s==null?void 0:s.$el)==null?void 0:f.nodeName)==="#text"?null:s==null?void 0:s.$el});e.watch(()=>i.value,t=>{var n,r;t&&(t.addEventListener("click",l,!1),t.addEventListener("mouseover",d,!1),t.addEventListener("mouseout",m,!1),N.value?(n=t.classList)==null||n.add("epic-node-mask"):(r=t.classList)==null||r.remove("epic-node-mask"))}),e.onUnmounted(()=>{var t,n,r;(t=i.value)==null||t.removeEventListener("click",l,!1),(n=i.value)==null||n.removeEventListener("mouseover",d,!1),(r=i.value)==null||r.removeEventListener("mouseout",m,!1)});function l(t){t.stopPropagation(),u.setCheckedNode(o.schema)}function d(t){var n;o.schema.id!==((n=y.schemas[0])==null?void 0:n.id)&&(t.stopPropagation(),u.setHoverNode(o.schema))}function m(t){t.stopPropagation(),u.setHoverNode(null)}return(t,n)=>{var s,c;const r=e.resolveComponent("ENodeItem");return e.openBlock(),e.createBlock(e.unref(B),{ref_key:"nodeRef",ref:C,"component-schema":o.schema},e.createSlots({_:2},[(c=(s=e.unref(v.pluginManager).getComponentConfingByType(o.schema.type))==null?void 0:s.editConstraints)!=null&&c.childImmovable?{name:"edit-node",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.schema.children,a=>(e.openBlock(),e.createBlock(r,{key:a.id,schema:a},null,8,["schema"]))),128))]),key:"0"}:{name:"edit-node",fn:e.withCtx(()=>[o.schema.children?(e.openBlock(),e.createBlock(L,{key:0,schemas:o.schema.children,"onUpdate:schemas":n[0]||(n[0]=a=>o.schema.children=a)},null,8,["schemas"])):e.createCommentVNode("",!0)]),key:"1"}]),1032,["component-schema"])}}});module.exports=q;