UNPKG

gepic

Version:

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

2 lines (1 loc) 2.06 kB
"use strict";const e=require("vue"),x=require("./treeNodes.vue.cjs"),V=require("../../icon/src/icon.vue.cjs"),K=require("../../../../utils/manager/pluginManager.cjs");require("@vueuse/core");require("../../../../hooks/store/index.cjs");const N={class:"epic-tree h-full flex flex-col"},C={class:"epic-search-box px-10px py-6px"},E={class:"epic-tree-main flex-1 overflow-auto h-0"},q={class:"text-center pt-42px text-gray-400"},w=e.defineComponent({name:"ETree",__name:"tree",props:{options:{type:Array,default:()=>[]},hoverKey:{type:String,default:""},selectedKeys:{type:Array,default:()=>[]},draggable:{type:Boolean,default:!1}},emits:["update:selectedKeys","nodeClick"],setup(f,{emit:_}){const h=e.useSlots();e.provide("slots",h);const m=K.pluginManager.getComponent("input"),s=e.ref(""),y=e.ref([]),n=f,c=_,u=e.computed({get(){return n.selectedKeys},set(l){c("update:selectedKeys",l)}}),a=e.computed({get(){return d(n.options,s.value)},set(l){console.log(l)}});function d(l,t){const o=[];return l.forEach(r=>{var p;if((p=r.label)!=null&&p.includes(t))o.push(r);else if(r.children){const i=d(r.children,t);if(i.length>0){const v={...r};v.children=i,o.push(v)}}}),o}function g(l,t){u.value=[l],c("nodeClick",{id:l,componentSchema:t})}return e.provide("expandedKeys",y),e.provide("selectedKeys",u),e.provide("treeProps",n),e.provide("handleSelect",g),(l,t)=>(e.openBlock(),e.createElementBlock("div",N,[e.createElementVNode("div",C,[e.createVNode(e.unref(m),{modelValue:s.value,"onUpdate:modelValue":t[0]||(t[0]=o=>s.value=o),value:s.value,"onUpdate:value":t[1]||(t[1]=o=>s.value=o),placeholder:"搜索节点",clearable:"","allow-clear":""},{prefix:e.withCtx(()=>[e.createVNode(e.unref(V),{name:"icon--epic--search-rounded"})]),_:1},8,["modelValue","value"])]),e.createElementVNode("div",E,[e.createElementVNode("ul",null,[e.createVNode(x,{schemas:a.value,"onUpdate:schemas":t[2]||(t[2]=o=>a.value=o)},null,8,["schemas"])]),e.withDirectives(e.createElementVNode("div",q," 没有查询到的数据 ",512),[[e.vShow,!a.value.length]])])]))}});module.exports=w;