refactor: 💡 Fix ts error

This commit is contained in:
Jin 2025-03-18 18:44:48 +01:00
parent e12be14dc9
commit b18cfb5d20
5 changed files with 27 additions and 8 deletions

View File

@ -411,7 +411,11 @@ async function openInAppHelp($button: JQuery<HTMLElement>) {
if (inAppHelpPage) {
// Dynamic import to avoid import issues in tests.
const appContext = (await import("../components/app_context.js")).default;
const subContexts = appContext.tabManager.getActiveContext().getSubContexts();
const activeContext = appContext.tabManager.getActiveContext();
if (!activeContext) {
return;
}
const subContexts = activeContext.getSubContexts();
const targetNote = `_help_${inAppHelpPage}`;
const helpSubcontext = subContexts.find((s) => s.viewScope?.viewMode === "contextual-help");
const viewScope: ViewScope = {

View File

@ -115,7 +115,10 @@ export default class RecentChangesDialog extends BasicWidget {
await ws.waitForMaxKnownEntityChangeId();
appContext.tabManager.getActiveContext().setNote(change.noteId);
const activeContext = appContext.tabManager.getActiveContext();
if (activeContext) {
activeContext.setNote(change.noteId);
}
}
});
@ -141,7 +144,10 @@ export default class RecentChangesDialog extends BasicWidget {
// Skip clicks on the link or deleted notes
if (e.target?.nodeName !== "A" && !change.current_isDeleted) {
// Open the current note
appContext.tabManager.getActiveContext().setNote(change.noteId);
const activeContext = appContext.tabManager.getActiveContext();
if (activeContext) {
activeContext.setNote(change.noteId);
}
}
})
.toggleClass("deleted-note", !!change.current_isDeleted)

View File

@ -140,13 +140,19 @@ export default class QuickSearchWidget extends BasicWidget {
if (!e.target || e.target.nodeName !== "A") {
// click on the link is handled by link handling, but we want the whole item clickable
appContext.tabManager.getActiveContext().setNote(note.noteId);
const activeContext = appContext.tabManager.getActiveContext();
if (activeContext) {
activeContext.setNote(note.noteId);
}
}
});
shortcutService.bindElShortcut($link, "return", () => {
this.dropdown.hide();
appContext.tabManager.getActiveContext().setNote(note.noteId);
const activeContext = appContext.tabManager.getActiveContext();
if (activeContext) {
activeContext.setNote(note.noteId);
}
});
this.$dropdownMenu.append($link);

View File

@ -419,13 +419,13 @@ export default class TabRowWidget extends BasicWidget {
closeActiveTabCommand({ $el }: CommandListenerData<"closeActiveTab">) {
const ntxId = $el.closest(".note-tab").attr("data-ntx-id");
appContext.tabManager.removeNoteContext(ntxId);
appContext.tabManager.removeNoteContext(ntxId ?? null);
}
setTabCloseEvent($tab: JQuery<HTMLElement>) {
$tab.on("mousedown", (e) => {
if (e.which === 2) {
appContext.tabManager.removeNoteContext($tab.attr("data-ntx-id"));
appContext.tabManager.removeNoteContext($tab.attr("data-ntx-id") ?? null);
return true; // event has been handled
}

View File

@ -87,7 +87,10 @@ export default class EmptyTypeWidget extends TypeWidget {
return false;
}
appContext.tabManager.getActiveContext().setNote(suggestion.notePath);
const activeContext = appContext.tabManager.getActiveContext();
if (activeContext) {
activeContext.setNote(suggestion.notePath);
}
});
this.$workspaceNotes = this.$widget.find(".workspace-notes");