From b1e03cd36bfa3b273164a0b462aed9423e955122 Mon Sep 17 00:00:00 2001 From: Lost Paul <70213368+LostPaul@users.noreply.github.com> Date: Fri, 3 Jan 2025 22:36:34 +0100 Subject: [PATCH] When there isn't a active file it defaults to the default settings --- src/folderOverview/FolderOverview.ts | 3 ++- src/folderOverview/view.ts | 35 +++++++++++----------------- 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/src/folderOverview/FolderOverview.ts b/src/folderOverview/FolderOverview.ts index e8e3877..3aa1e7e 100644 --- a/src/folderOverview/FolderOverview.ts +++ b/src/folderOverview/FolderOverview.ts @@ -464,8 +464,9 @@ export function getCodeBlockEndLine(text: string, startLine: number, count = 1) return line; } -export async function getOverviews(plugin: FolderNotesPlugin, file: TFile) { +export async function getOverviews(plugin: FolderNotesPlugin, file: TFile | null) { // is an object with unkown keys + if (!file) return []; const overviews: { [key: string]: string }[] = []; const content = await plugin.app.vault.read(file); if (!content) return overviews; diff --git a/src/folderOverview/view.ts b/src/folderOverview/view.ts index 88d6d09..f9a13e9 100644 --- a/src/folderOverview/view.ts +++ b/src/folderOverview/view.ts @@ -53,7 +53,7 @@ export class FolderOverviewView extends ItemView { ctx?: MarkdownPostProcessorContext, file?: TFile | null ) { - + this.contentEl = contentEl; this.yaml = yaml; this.defaultSettings = defaultSettings; @@ -67,17 +67,6 @@ export class FolderOverviewView extends ItemView { } const activeFile = plugin.app.workspace.getActiveFile(); - if (!activeFile) { - let msg = contentEl.querySelector('.fn-no-file-msg'); - if (!msg) { - msg = contentEl.createEl('p', { cls: 'fn-no-file-msg' }); - } - msg.textContent = 'No active file found'; - return; - } else { - const msg = contentEl.querySelector('.fn-no-file-msg'); - if (msg) msg.remove(); - } const overviews = await getOverviews(plugin, activeFile); @@ -93,16 +82,18 @@ export class FolderOverviewView extends ItemView { .setName('Select overview') .setClass('fn-select-overview-setting') .addDropdown((cb) => { - const options = overviews.reduce((acc, overview) => { - acc[overview.id] = parseOverviewTitle( - overview as any as yamlSettings, - plugin, - activeFile.parent - ); - return acc; - }, {} as Record); - - cb.addOptions(options); + if (activeFile) { + const options = overviews.reduce((acc, overview) => { + acc[overview.id] = parseOverviewTitle( + overview as any as yamlSettings, + plugin, + activeFile.parent + ); + return acc; + }, {} as Record); + cb.addOptions(options); + } + cb.addOption('default', 'Default'); cb.setValue(yaml?.id ?? 'default'); console.log(yaml);