vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 2.14 kB
JavaScript
"use strict";const e=require("vue"),p=require("../../CheckBox/index.cjs"),C=require("../../CollapseTransition/index.cjs"),b=require("./hook/useNodeTree.cjs"),B=require("@vuux/icons"),c=e.defineComponent({__name:"node",props:{node:{},flatTreeData:{},nodeKey:{},checkbox:{type:Boolean},returnParentData:{type:Boolean},line:{type:Boolean},labelField:{}},emits:["update-select"],setup(l,{emit:d}){const t=l,{node:n,checkbox:o,labelField:i}=t,u=d,{classNames:m,handleToggle:s,updateSelect:f,handleCheckChange:k}=b.useNodeTree(n,u);return(h,r)=>(e.openBlock(),e.createElementBlock("ul",{class:e.normalizeClass(["tree-node",{"node-line":t.line}])},[e.createElementVNode("li",{class:e.normalizeClass(["tree-item",{"item-line":t.line}]),onClick:r[1]||(r[1]=(...a)=>e.unref(s)&&e.unref(s)(...a))},[e.createVNode(e.unref(B.Icon),{name:"Icon6657361",size:15,class:e.normalizeClass(e.unref(m))},null,8,["class"]),e.unref(o)?(e.openBlock(),e.createBlock(e.unref(p.CheckBox),{key:0,"model-value":e.unref(n).isSelect,indeterminate:e.unref(n).isIndeterminate,disabled:e.unref(n).disabled,onClickCapture:r[0]||(r[0]=e.withModifiers(()=>{},["stop"])),"onUpdate:modelValue":e.unref(k)},null,8,["model-value","indeterminate","disabled","onUpdate:modelValue"])):e.createCommentVNode("",!0),e.createElementVNode("p",{class:e.normalizeClass(["tree-label",{"is-disabled":e.unref(n).disabled}])},e.toDisplayString(e.unref(n)[e.unref(i)]),3)],2),e.createVNode(e.unref(C.CollapseTransition),null,{default:e.withCtx(()=>[e.unref(n).isOpen&&e.unref(n).children?.length?(e.openBlock(),e.createElementBlock("li",{key:0,class:e.normalizeClass({"is-children":e.unref(n).children})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n).children,a=>(e.openBlock(),e.createBlock(c,{key:a[l.nodeKey],node:a,line:t.line,flatTreeData:l.flatTreeData,nodeKey:l.nodeKey,checkbox:e.unref(o),returnParentData:l.returnParentData,labelField:e.unref(i),onUpdateSelect:e.unref(f)},null,8,["node","line","flatTreeData","nodeKey","checkbox","returnParentData","labelField","onUpdateSelect"]))),128))],2)):e.createCommentVNode("",!0)]),_:1})],2))}});module.exports=c;