vislite
Version:
灵活、快速、简单的数据可视化交互式跨端前端库
26 lines (19 loc) • 726 B
text/typescript
import type TreeConfigType from '../../../types/TreeConfig'
import type { TreeResultType } from '../../../types/Tree'
import toPlainTree from './toPlainTree'
import { initOption } from '../option'
class Tree {
readonly name: string = 'Tree'
private __config: TreeConfigType
constructor(config: TreeConfigType = {}) {
this.__config = initOption(config, {
root: (initTree: any) => initTree,
children: (parentTree: any) => parentTree.children,
id: (treedata: any) => treedata.name
})
}
use(initTree: any, noOpens = {}): TreeResultType {
return toPlainTree(initTree, this.__config, noOpens)
}
}
export default Tree