UNPKG

epic-designer-dev

Version:

基于vue3的设计器,可视化开发页面表单。在epic-designer的基础上新增了字典选择器

2 lines (1 loc) 2.34 kB
"use strict";const e=require("vue");;/* empty css */const k=require("../icon/icon.vue2.cjs");require("@vueuse/core");require("../../../../hooks/src/store/index.cjs");const C=require("../../../../utils/src/manager/pluginManager.cjs"),N=require("./treeNodes.vue.cjs"),q=e.defineComponent({name:"ETreeNodeItem",__name:"treeNodeItem",props:{schema:{}},setup(h){const n=h,a=e.inject("slots",{}),l=e.inject("pageSchema",{}),t=e.inject("expandedKeys"),m=e.inject("treeProps"),f=e.inject("selectedKeys"),_=e.inject("handleSelect"),r=e.computed(()=>t.value.includes(n.schema.id??"")),v=e.defineComponent({setup(){return()=>{var c;return e.h("span",{class:{checked:f.value.includes(n.schema.id),hover:m.hoverKey===n.schema.id,text:!0},onClick:()=>_(n.schema.id,n.schema)},((c=a["tree-node"])==null?void 0:c.call(a,n))??e.h("span",{class:"epic-text-padding flex"},{default:()=>{var s;return[e.h("span",{class:"max-w-full truncate"},n.schema.label??((s=C.pluginManager.getComponentConfingByType(n.schema.type))==null?void 0:s.defaultSchema.label)),e.h("span",{class:"epic-node-type-text flex-1 w-0 truncate"},n.schema.id)]}}))}}});function x(){const c=n.schema.id;if(!c)return!1;t.value.includes(c)?t.value=t.value.filter(s=>s!==c):t.value.push(c)}function g(){var s;const c=n.schema.id;if(!c||!((s=n.schema.children)!=null&&s.length))return!1;t.value.push(c)}return g(),(c,s)=>{var i,o,d,u,p;return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["epic-tree-node",{expanded:(i=n.schema.children)==null?void 0:i.length,"level-1":n.schema.id===((o=e.unref(l).schemas[0])==null?void 0:o.id)}])},[e.createElementVNode("a",null,[(d=n.schema.children)!=null&&d.length&&n.schema.id!==((u=e.unref(l).schemas[0])==null?void 0:u.id)?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["icon-expanded",{expanded:r.value}]),onClick:x},[e.createVNode(e.unref(k),{name:"icon--epic--caret-right-outlined"})],2)):e.createCommentVNode("",!0),e.createVNode(e.unref(v))]),(p=n.schema.children)!=null&&p.length?(e.openBlock(),e.createBlock(N,{key:0,schemas:n.schema.children,"onUpdate:schemas":s[0]||(s[0]=y=>n.schema.children=y),class:e.normalizeClass(["epic-tree-sublist",{expanded:r.value}]),"parent-schema":n.schema},null,8,["schemas","class","parent-schema"])):e.createCommentVNode("",!0)],2)}}});module.exports=q;