${meta?.title || node.name}
@@ -578,12 +582,11 @@ export const GraphViewManager = {
},
_hideTooltip() {
- if (this._infoPanel) this._infoPanel.style.display = 'none';
- if (this._previewPanel) this._previewPanel.style.display = 'none';
+ // Panels are now sticky โ only hide via close button
},
_showPreviewTooltip(node, preview, screenX, screenY) {
- if (!this._previewPanel || this._ctrlHoverNode !== node) return;
+ if (!this._previewContent || this._ctrlHoverNode !== node) return;
const cacheKey = `${this._vault}:${node.path}`;
const cached = this._previewCache[cacheKey];
const meta = cached?.meta;
@@ -600,7 +603,7 @@ export const GraphViewManager = {
if (items.length > 0) fmSummary = `
${items.join(' ยท ')}
`;
}
const tags = (meta?.tags || node.tags || []).slice(0, 8);
- this._previewPanel.innerHTML = `
+ this._previewContent.innerHTML = `
${meta?.title || node.name}
${node.path}
${fmSummary}
@@ -843,7 +846,7 @@ export function initGraphView() {
gm._dragNode = null;
gm._panning = false;
canvas.style.cursor = 'grab';
- gm._hideTooltip();
+ // Panels stay visible until closed via button
});
canvas.addEventListener('wheel', (e) => gm._onWheel(e), { passive: false });
window.addEventListener('resize', () => gm._onResize());
@@ -854,4 +857,10 @@ export function initGraphView() {
gm.close();
}
});
+
+ // Close buttons for sticky panels
+ const infoClose = document.getElementById('graph-info-close');
+ if (infoClose) infoClose.addEventListener('click', () => { if (gm._infoPanel) gm._infoPanel.style.display = 'none'; });
+ const previewClose = document.getElementById('graph-preview-close');
+ if (previewClose) previewClose.addEventListener('click', () => { if (gm._previewPanel) gm._previewPanel.style.display = 'none'; });
}