dareway-rui
Version:
124 lines (97 loc) • 3.44 kB
JavaScript
;
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