Fix memory leaks from Tippy.js instances and unremoved event listeners

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-09 13:54:38 +08:00
parent 9acd722929
commit 881dccc1ab
5 changed files with 48 additions and 21 deletions

View File

@@ -306,6 +306,7 @@ export default function cytoscapeMap(
// creat tippy.js
let tip;
cy.on("mouseover", "node", function (event) {
tip?.destroy();
const node = event.target;
let ref = node.popperRef();
let dummyDomEle = document.createElement("div");
@@ -319,7 +320,8 @@ export default function cytoscapeMap(
if (node.data("label").length > 10) tip.show();
});
cy.on("mouseout", "node", function (event) {
tip?.hide();
tip?.destroy();
tip = null;
});
// here we remember and recall positions

View File

@@ -96,6 +96,7 @@ export default function cytoscapeMapTrace(nodes, edges, graphId) {
// creat tippy.js
let tip;
cy.on("mouseover", "node", function (event) {
tip?.destroy();
const node = event.target;
let ref = node.popperRef();
let dummyDomEle = document.createElement("div");
@@ -109,6 +110,7 @@ export default function cytoscapeMapTrace(nodes, edges, graphId) {
tip.show();
});
cy.on("mouseout", "node", function (event) {
tip.hide();
tip?.destroy();
tip = null;
});
}