|
|
@ -64,13 +64,16 @@
|
|
|
|
var treeData = [];
|
|
|
|
var treeData = [];
|
|
|
|
|
|
|
|
|
|
|
|
function toggleNode(nodeId) {
|
|
|
|
function toggleNode(nodeId) {
|
|
|
|
|
|
|
|
console.log('toggleNode', nodeId);
|
|
|
|
var node = findNodeById(treeData, nodeId);
|
|
|
|
var node = findNodeById(treeData, nodeId);
|
|
|
|
if (node) {
|
|
|
|
if (node) {
|
|
|
|
node.open = !node.open;
|
|
|
|
node.open = !node.open;
|
|
|
|
|
|
|
|
// 强制重新渲染整个表格
|
|
|
|
updateTable();
|
|
|
|
updateTable();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function findNodeById(nodes, id) {
|
|
|
|
function findNodeById(nodes, id) {
|
|
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
|
|
if (nodes[i].id == id) return nodes[i];
|
|
|
|
if (nodes[i].id == id) return nodes[i];
|
|
|
@ -92,8 +95,8 @@
|
|
|
|
html += '<tr class="level-' + level + '">';
|
|
|
|
html += '<tr class="level-' + level + '">';
|
|
|
|
html += '<td style="padding-left:' + (level * 20) + 'px">';
|
|
|
|
html += '<td style="padding-left:' + (level * 20) + 'px">';
|
|
|
|
if (node.children && node.children.length > 0) {
|
|
|
|
if (node.children && node.children.length > 0) {
|
|
|
|
html += '<span class="toggle-icon" onclick="toggleNode(' + node.id + ')">' +
|
|
|
|
html += '<span class="toggle-icon" onclick="toggleNode(\'' + node.id + '\')">' +
|
|
|
|
(node.open ? '▼' : '▶') + '</span>';
|
|
|
|
(node.open ? '▼' : '▶') + '</span>';
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
html += '<span style="display:inline-block; width:16px;"></span>';
|
|
|
|
html += '<span style="display:inline-block; width:16px;"></span>';
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -125,4 +128,4 @@
|
|
|
|
});
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
</html>
|