diff --git a/src/folderOverview/FileExplorer.ts b/src/folderOverview/FileExplorer.ts index ebd4c82..8a37611 100644 --- a/src/folderOverview/FileExplorer.ts +++ b/src/folderOverview/FileExplorer.ts @@ -70,7 +70,9 @@ export class FileExplorerOverview { newFolderElement.querySelectorAll('div.nav-folder-title').forEach((el) => { const folder = plugin.app.vault.getAbstractFileByPath(el.getAttribute('data-path') || ''); if (!(folder instanceof TFolder)) return; - if (yaml.storeFolderCondition) { + if (yaml.alwaysCollapse) { + folder.collapsed = true; + } else if (yaml.storeFolderCondition) { if (folder.collapsed) { el.classList.add('is-collapsed'); } else { diff --git a/src/folderOverview/FolderOverview.ts b/src/folderOverview/FolderOverview.ts index c11c18d..ea43924 100644 --- a/src/folderOverview/FolderOverview.ts +++ b/src/folderOverview/FolderOverview.ts @@ -29,6 +29,7 @@ export type yamlSettings = { storeFolderCondition: boolean; showFolderNotes: boolean; disableCollapseIcon: boolean; + alwaysCollapse: boolean; }; export class FolderOverview { @@ -74,6 +75,7 @@ export class FolderOverview { storeFolderCondition: yaml?.storeFolderCondition === undefined || yaml?.storeFolderCondition === null ? plugin.settings.defaultOverview.storeFolderCondition : yaml?.storeFolderCondition, showFolderNotes: yaml?.showFolderNotes === undefined || yaml?.showFolderNotes === null ? plugin.settings.defaultOverview.showFolderNotes : yaml?.showFolderNotes, disableCollapseIcon: yaml?.disableCollapseIcon === undefined || yaml?.disableCollapseIcon === null ? plugin.settings.defaultOverview.disableCollapseIcon : yaml?.disableCollapseIcon, + alwaysCollapse: yaml?.alwaysCollapse || plugin.settings.defaultOverview.alwaysCollapse, } const customChild = new CustomMarkdownRenderChild(el, this); diff --git a/src/settings/FolderOverviewSettings.ts b/src/settings/FolderOverviewSettings.ts index 5b93733..0a821df 100644 --- a/src/settings/FolderOverviewSettings.ts +++ b/src/settings/FolderOverviewSettings.ts @@ -244,6 +244,17 @@ export async function renderFolderOverview(settingsTab: SettingsTab) { plugin.saveSettings(); }); }); - } + new Setting(containerEl) + .setName('Collapse all in the tree by default') + .setDesc('Collapse every folder in the file explorer in the overview by default') + .addToggle((toggle) => { + toggle + .setValue(overviewSettings.alwaysCollapse) + .onChange(async (value) => { + overviewSettings.alwaysCollapse = value; + plugin.saveSettings(); + }); + }); + } }