diff --git a/src/components/Discover/Conformance/MoreModal.vue b/src/components/Discover/Conformance/MoreModal.vue index 7617523..4dcfe4e 100644 --- a/src/components/Discover/Conformance/MoreModal.vue +++ b/src/components/Discover/Conformance/MoreModal.vue @@ -121,7 +121,7 @@ * results with expandable activity sequences. */ -import { ref, computed, watch, nextTick, useTemplateRef } from "vue"; +import { ref, computed, watch, nextTick, useTemplateRef, onBeforeUnmount } from "vue"; import { storeToRefs } from "pinia"; import { useConformanceStore } from "@/stores/conformance"; import cytoscapeMapTrace from "@/module/cytoscapeMapTrace.js"; @@ -151,6 +151,7 @@ const infiniteData = ref(null); const maxItems = ref(false); const infiniteFinish = ref(true); // Whether infinite scroll loading is complete const startNum = ref(0); +const cyTraceInstance = ref(null); const processMap = ref({ nodes: [], edges: [], @@ -364,8 +365,9 @@ function createCy() { setNodesData(); setEdgesData(); + cyTraceInstance.value?.destroy(); if (graphId !== null) - cytoscapeMapTrace( + cyTraceInstance.value = cytoscapeMapTrace( processMap.value.nodes, processMap.value.edges, graphId, @@ -409,6 +411,10 @@ function handleScroll(event) { if (overScrollHeight) fetchData(); } + +onBeforeUnmount(() => { + cyTraceInstance.value?.destroy(); +});