resolve: #640
This commit is contained in:
parent
3572897aed
commit
12a104f001
|
|
@ -73,6 +73,7 @@
|
|||
style="background-color: inherit; overflow: hidden"
|
||||
>
|
||||
<script id="code">
|
||||
var cachedNodes = null;
|
||||
function init() {
|
||||
window.addEventListener("message", handler, false);
|
||||
window.parent.postMessage({ type: "ready" }, "*");
|
||||
|
|
@ -265,12 +266,6 @@
|
|||
return null;
|
||||
}
|
||||
|
||||
const noteIcon = `<svg t="1652008007954" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10521" width="18" height="18"><defs><style>path{fill:currentColor;}</style></defs><path d="M574.3 896H159.7c-17.6 0-31.9-14.3-31.9-32V160c0-17.7 14.3-32 31.9-32h382.7v160c0 35.3 28.6 64 63.8 64h159.5v192c0 17.7 14.3 32 31.9 32 17.6 0 31.9-14.3 31.9-32V270.2c0-8.5-3.3-16.6-9.3-22.6L647.4 73.4c-6-6-14.1-9.4-22.6-9.4h-497C92.6 64 64 92.7 64 128v768c0 35.3 28.6 64 63.8 64h446.5c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM638.1 288c-17.6 0-31.9-14.3-31.9-32V128l159.5 160H638.1z" p-id="10522"></path><path d="M418.8 673H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32h193.3c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM608.2 481H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32h382.7c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM225.5 353h191.4c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32zM862.7 959.4c-23.6 0-47-8.8-64.8-26.6l-24.4-24.4c-12.5-12.5-12.5-32.8 0-45.3s32.7-12.5 45.1 0l24.4 24.4c11.3 11.4 30.7 10.4 43.2-2.1 12.5-12.5 13.4-31.9 2.1-43.3L749.2 702.6c-11.3-11.4-30.7-10.4-43.2 2.1-6.2 6.3-9.8 14.4-10 22.8-0.2 7.9 2.6 15.1 7.9 20.4 12.5 12.5 12.5 32.8 0 45.3s-32.7 12.5-45.1 0c-36.2-36.3-35.2-96.3 2.1-133.8 37.4-37.5 97.2-38.4 133.4-2.1l139.1 139.5c36.2 36.3 35.2 96.3-2.1 133.8-19 19.2-43.9 28.8-68.6 28.8z" p-id="10523"></path><path d="M696.3 883.1c-23.6 0-47-8.8-64.8-26.6l-139-139.6c-17.7-17.8-27.2-41.7-26.6-67.2 0.6-25 10.8-48.6 28.7-66.6 17.9-17.9 41.5-28.2 66.4-28.8 25.5-0.6 49.3 8.9 67 26.6l24.4 24.4c12.5 12.5 12.5 32.8 0 45.3s-32.7 12.5-45.1 0l-24.4-24.4c-5.3-5.3-12.5-8.1-20.4-7.9-8.4 0.2-16.5 3.8-22.8 10-6.2 6.3-9.8 14.4-10 22.8-0.2 7.9 2.6 15.1 7.9 20.4L676.7 811c11.3 11.4 30.7 10.4 43.2-2.1 12.5-12.5 13.4-31.9 2.1-43.3-12.5-12.5-12.5-32.8 0-45.3s32.7-12.5 45.1 0c36.2 36.3 35.3 96.3-2.1 133.8-19.1 19.3-44 29-68.7 29z" p-id="10524"></path></svg>`;
|
||||
|
||||
function getData() {
|
||||
window.parent.postMessage({ type: "getMindMapData" }, "*");
|
||||
}
|
||||
|
||||
function walkNode(node, callback) {
|
||||
if (!node) {
|
||||
return;
|
||||
|
|
@ -279,44 +274,6 @@
|
|||
node.children.forEach((child) => walkNode(child, callback));
|
||||
}
|
||||
|
||||
function setData(nodes, expandLevel) {
|
||||
console.log(nodes);
|
||||
const tree = getTreeView();
|
||||
const expandedStatus = {};
|
||||
if (tree) {
|
||||
const rootNodes = tree.getNodes();
|
||||
console.log(tree, rootNodes);
|
||||
rootNodes.forEach((root) => {
|
||||
walkNode(root, (node) => {
|
||||
expandedStatus[node.itemData.name] = node.itemData.expanded;
|
||||
});
|
||||
});
|
||||
}
|
||||
console.log(expandedStatus);
|
||||
const treeData = [];
|
||||
nodes.map((node) => {
|
||||
treeData.push({
|
||||
id: String(node.model.id),
|
||||
name: node.model.name,
|
||||
level: node.model.level,
|
||||
icon: node.model.level === 7 ? noteIcon : undefined,
|
||||
lineIndex: node.model.lineIndex,
|
||||
endIndex: node.model.endIndex,
|
||||
isDirectory: node.children.length > 0,
|
||||
expanded:
|
||||
node.model.name in expandedStatus
|
||||
? expandedStatus[node.model.name]
|
||||
: node.model.level < expandLevel,
|
||||
parentId:
|
||||
node.model.level > 1 ? String(node.parent.model.id) : undefined,
|
||||
});
|
||||
});
|
||||
$(() => {
|
||||
createTreeView("#treeview", treeData);
|
||||
createSortable("#treeview", "treeData");
|
||||
});
|
||||
}
|
||||
|
||||
function jumpNode(e) {
|
||||
var itemData = e.itemData;
|
||||
if (itemData.noteLink) {
|
||||
|
|
@ -341,6 +298,70 @@
|
|||
}
|
||||
}
|
||||
|
||||
const noteIcon = `<svg t="1652008007954" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10521" width="18" height="18"><defs><style>path{fill:currentColor;}</style></defs><path d="M574.3 896H159.7c-17.6 0-31.9-14.3-31.9-32V160c0-17.7 14.3-32 31.9-32h382.7v160c0 35.3 28.6 64 63.8 64h159.5v192c0 17.7 14.3 32 31.9 32 17.6 0 31.9-14.3 31.9-32V270.2c0-8.5-3.3-16.6-9.3-22.6L647.4 73.4c-6-6-14.1-9.4-22.6-9.4h-497C92.6 64 64 92.7 64 128v768c0 35.3 28.6 64 63.8 64h446.5c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM638.1 288c-17.6 0-31.9-14.3-31.9-32V128l159.5 160H638.1z" p-id="10522"></path><path d="M418.8 673H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32h193.3c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM608.2 481H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32h382.7c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM225.5 353h191.4c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32zM862.7 959.4c-23.6 0-47-8.8-64.8-26.6l-24.4-24.4c-12.5-12.5-12.5-32.8 0-45.3s32.7-12.5 45.1 0l24.4 24.4c11.3 11.4 30.7 10.4 43.2-2.1 12.5-12.5 13.4-31.9 2.1-43.3L749.2 702.6c-11.3-11.4-30.7-10.4-43.2 2.1-6.2 6.3-9.8 14.4-10 22.8-0.2 7.9 2.6 15.1 7.9 20.4 12.5 12.5 12.5 32.8 0 45.3s-32.7 12.5-45.1 0c-36.2-36.3-35.2-96.3 2.1-133.8 37.4-37.5 97.2-38.4 133.4-2.1l139.1 139.5c36.2 36.3 35.2 96.3-2.1 133.8-19 19.2-43.9 28.8-68.6 28.8z" p-id="10523"></path><path d="M696.3 883.1c-23.6 0-47-8.8-64.8-26.6l-139-139.6c-17.7-17.8-27.2-41.7-26.6-67.2 0.6-25 10.8-48.6 28.7-66.6 17.9-17.9 41.5-28.2 66.4-28.8 25.5-0.6 49.3 8.9 67 26.6l24.4 24.4c12.5 12.5 12.5 32.8 0 45.3s-32.7 12.5-45.1 0l-24.4-24.4c-5.3-5.3-12.5-8.1-20.4-7.9-8.4 0.2-16.5 3.8-22.8 10-6.2 6.3-9.8 14.4-10 22.8-0.2 7.9 2.6 15.1 7.9 20.4L676.7 811c11.3 11.4 30.7 10.4 43.2-2.1 12.5-12.5 13.4-31.9 2.1-43.3-12.5-12.5-12.5-32.8 0-45.3s32.7-12.5 45.1 0c36.2 36.3 35.3 96.3-2.1 133.8-19.1 19.3-44 29-68.7 29z" p-id="10524"></path></svg>`;
|
||||
|
||||
function getData() {
|
||||
window.parent.postMessage({ type: "getMindMapData" }, "*");
|
||||
}
|
||||
|
||||
function setData(nodes, expandLevel) {
|
||||
console.log(nodes);
|
||||
const tree = getTreeView();
|
||||
const expandedStatus = {};
|
||||
if (tree) {
|
||||
const rootNodes = tree.getNodes();
|
||||
console.log(tree, rootNodes);
|
||||
rootNodes.forEach((root) => {
|
||||
walkNode(root, (node) => {
|
||||
expandedStatus[node.itemData.name] = node.itemData.expanded;
|
||||
});
|
||||
});
|
||||
}
|
||||
if (cachedNodes?.length === nodes?.length) {
|
||||
let isSame = true;
|
||||
for (let i = 0; i < nodes.length; i += 1) {
|
||||
const current = nodes[i];
|
||||
const cached = cachedNodes[i];
|
||||
if (
|
||||
current.model.name !== cached.model.name ||
|
||||
current.model.level !== cached.model.level ||
|
||||
current.model.lineIndex !== cached.model.lineIndex ||
|
||||
current.model.endIndex !== cached.model.endIndex
|
||||
) {
|
||||
isSame = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (isSame) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
cachedNodes = nodes;
|
||||
console.log(expandedStatus);
|
||||
const treeData = [];
|
||||
nodes.map((node) => {
|
||||
treeData.push({
|
||||
id: String(node.model.id),
|
||||
name: node.model.name,
|
||||
level: node.model.level,
|
||||
icon: node.model.level === 7 ? noteIcon : undefined,
|
||||
lineIndex: node.model.lineIndex,
|
||||
endIndex: node.model.endIndex,
|
||||
isDirectory: node.children.length > 0,
|
||||
expanded:
|
||||
node.model.name in expandedStatus
|
||||
? expandedStatus[node.model.name]
|
||||
: node.model.level < expandLevel,
|
||||
parentId:
|
||||
node.model.level > 1 ? String(node.parent.model.id) : undefined,
|
||||
});
|
||||
});
|
||||
$(() => {
|
||||
createTreeView("#treeview", treeData);
|
||||
createSortable("#treeview", "treeData");
|
||||
});
|
||||
}
|
||||
|
||||
function handler(e) {
|
||||
console.log(e);
|
||||
if (e.data.type === "setMindMapData") {
|
||||
|
|
|
|||
Loading…
Reference in New Issue