From d98f0120a4dea4d5d4db7acd344529ca1703f435 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Mon, 4 Nov 2024 10:42:54 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E9=A6=96=E6=AC=A1=E6=89=93=E5=BC=80?= =?UTF-8?q?=E5=85=B3=E7=B3=BB=E5=9B=BE=E4=B8=8D=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/layout/dock/Graph.ts | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/app/src/layout/dock/Graph.ts b/app/src/layout/dock/Graph.ts index 84729af24..1d20b6459 100644 --- a/app/src/layout/dock/Graph.ts +++ b/app/src/layout/dock/Graph.ts @@ -1,5 +1,5 @@ import {Tab} from "../Tab"; -import {setPanelFocus} from "../util"; +import {getInstanceById, setPanelFocus} from "../util"; import {getDockByType} from "../tabUtil"; import {Model} from "../Model"; import {Constants} from "../../constants"; @@ -7,11 +7,12 @@ import {addScript} from "../../protyle/util/addScript"; import {BlockPanel} from "../../block/Panel"; import {fullscreen} from "../../protyle/breadcrumb/action"; import {fetchPost} from "../../util/fetch"; -import {isCurrentEditor, openFileById} from "../../editor/util"; +import {openFileById} from "../../editor/util"; import {updateHotkeyTip} from "../../protyle/util/compatibility"; import {openGlobalSearch} from "../../search/util"; import {App} from "../../index"; import {checkFold} from "../../util/noRelyPCFunction"; +import {Editor} from "../../editor"; declare const vis: any; @@ -469,8 +470,20 @@ export class Graph extends Model { if (id) { this.blockId = id; } - if (!refresh && this.type === "pin" && this.blockId && !isCurrentEditor(this.blockId)) { - return; + if (!refresh && this.type === "pin" && this.blockId) { + const isActive = Array.from(document.querySelectorAll(".fn__flex > .layout-tab-bar > .item--focus")).find(activeElement => { + const tab = getInstanceById(activeElement.getAttribute("data-id")); + if (tab instanceof Tab && tab.model instanceof Editor) { + if (tab.model.editor.protyle.block.rootID === this.blockId || + tab.model.editor.protyle.block.parentID === this.blockId || + tab.model.editor.protyle.block.id === this.blockId) { + return true; + } + } + }) + if (!isActive) { + return; + } } this.graphData = response.data; window.siyuan.config.graph.local = response.data.conf;