UNPKG

dareway-rui

Version:

124 lines (97 loc) 3.44 kB
'use strict'; var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault'); Object.defineProperty(exports, '__esModule', { value: true }); exports.getVMPathByTreeNodeName = getVMPathByTreeNodeName; exports.setLoadedToSelectedTreeNode = setLoadedToSelectedTreeNode; exports.getTreeNodePathByName = getTreeNodePathByName; exports.generateDefaultIconIdToTreeNodes = generateDefaultIconIdToTreeNodes; exports.getTreeNodesDepth = getTreeNodesDepth; var _lodash = _interopRequireDefault(require('lodash')); /** * 根据节点名称获取节点vmPath */ function getVMPathByTreeNodeName(treeNodes, selectedTreeNodeName) { for (var i = 0; i < treeNodes.length; i++) { if (treeNodes[i].name == selectedTreeNodeName) { return treeNodes[i].vmPath; } if ('children' in treeNodes[i] && treeNodes[i].children) { var vmPath = getVMPathByTreeNodeName(treeNodes[i].children, selectedTreeNodeName); if (vmPath != null) { return vmPath; } } } return null; } /** * 为指定的节点设置参数 loaded */ function setLoadedToSelectedTreeNode(treeNodes, selectTreeNodeName) { var nodes = _lodash.default.clone(treeNodes); for (var i = 0; i < nodes.length; i++) { if (nodes[i].name == selectTreeNodeName && !nodes[i].isLoaded) { nodes[i].isLoaded = true; } if ('children' in nodes[i] && nodes[i].children) { nodes[i].children = setLoadedToSelectedTreeNode(nodes[i].children, selectTreeNodeName); } } return nodes; } /** * 根据节点名称获取节点在数中的路径 <路径不包含节点名称> */ function getTreeNodePathByName(treeNodes, nodeName) { if (treeNodes == undefined || treeNodes == null) return []; var path = []; for (var i = 0; i < treeNodes.length; i++) { var node = treeNodes[i]; if (node.name == nodeName) { path.push(node.name); break; } if ('children' in node && node.children) { var childPath = getTreeNodePathByName(node.children, nodeName); if (childPath.length > 0) { path = [node.name].concat(childPath); break; } } } return path; } /** * 为节点生成默认iconId */ function generateDefaultIconIdToTreeNodes(treeNodes) { var nodes = _lodash.default.clone(treeNodes); for (var i = 0; i < nodes.length; i++) { var node = nodes[i]; if (!('iconId' in node)) { node.iconId = 'children' in node ? 'folder' : 'file'; } if ('children' in node && node.children) { node.children = generateDefaultIconIdToTreeNodes(node.children); } } return nodes; } /** * 获取节点树深度 */ function getTreeNodesDepth(treeNodes) { if (treeNodes == null || treeNodes.length < 1) return 0; var depth = 1; for (var i = 0; i < treeNodes.length; i++) { var node = treeNodes[i]; if ('children' in node && node.children) { var childDepth = getTreeNodesDepth(node.children); depth = childDepth + 1 > depth ? childDepth + 1 : depth; } } return depth; } //@ sourceMappingURL=common.js.map