UNPKG

@meleon/uni-ui

Version:

A uniapp components library written in vue3 and typescript

1 lines 1.1 kB
import{isUndefined}from"@meleon/uni-ui/utils";const generateEnable=e=>{const{subEnable:t,superEnable:a}=e;return isUndefined(t)?null!=a&&a:t},generateNode=e=>{const{treeNodeData:t,treeOptions:a,parentNode:n}=e,r=!(t.children&&0!==t.children.length),l=n?n.level+1:0,s={checkable:generateEnable({subEnable:t.checkable,superEnable:a.checkable}),selectable:generateEnable({subEnable:t.selectable,superEnable:a.selectable}),disabled:!!t.disabled,isLeaf:r,level:l};return Object.assign(Object.assign(Object.assign({},s),t),{treeNodeProps:s,treeNodeData:t,parentNode:n,parentNodeKey:null==n?void 0:n.key,parentNodeKeysPath:n?[...n.parentNodeKeysPath||[],n.key]:[]})};export const translateData2Node=(e,t,a)=>{if(!e)return[];const n=[];return e.forEach((e=>{const r=generateNode({treeNodeData:e,treeOptions:t,parentNode:a});r.children=translateData2Node(e.children||[],t,r),n.push(r)})),n};export const translate2FlatterNode=(e,t=[])=>(e.forEach((e=>{t.push(e),e.children&&translate2FlatterNode(e.children,t)})),t);export const translateNodeList2Map=e=>{const t=new Map;return e.forEach((e=>{t.set(e.key,e)})),t};