From ea9be9a0b8554a606b1c388705f9460e45153b90 Mon Sep 17 00:00:00 2001 From: Lost Paul <70213368+LostPaul@users.noreply.github.com> Date: Wed, 15 Mar 2023 16:04:31 +0100 Subject: [PATCH] Update main.ts --- src/main.ts | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/main.ts b/src/main.ts index cb2e7c3..4e7ad8f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -9,15 +9,18 @@ export default class FolderNotesPlugin extends Plugin { console.log('loading folder notes plugin'); await this.loadSettings(); this.settingsTab = new SettingsTab(this.app, this); + this.addSettingTab(this.settingsTab); if (this.settings.hideFolderNote) { document.body.classList.add('hide-folder-note'); } else { document.body.classList.remove('hide-folder-note'); } this.registerEvent(this.app.vault.on('create', (file: TAbstractFile) => { + console.log('create', file); if (!this.settings.autoCreate) return; if (file instanceof TFolder) { const path = file.path + '/' + file.name + '.md'; + if (!path) return; this.createFolderNote(path); } })); @@ -51,14 +54,15 @@ export default class FolderNotesPlugin extends Plugin { .forEach((element: HTMLElement) => { element.onclick = (event: MouseEvent) => this.handleFolderClick(event); }); - } + } }) }); - this.observer.observe(document.body, { - childList: true, - subtree: true, - }); - + if (this.app.workspace.layoutReady) { + this.observer.observe(document.body, { + childList: true, + subtree: true, + }); + } } async handleFolderClick(event: MouseEvent) { @@ -70,9 +74,10 @@ export default class FolderNotesPlugin extends Plugin { if (this.app.vault.getAbstractFileByPath(path)) { this.openFolderNote(path); + if (!this.settings.hideFolderNote) return; event.target.parentElement?.parentElement?.getElementsByClassName('nav-folder-children').item(0)?.querySelectorAll('div.nav-file') .forEach((element: HTMLElement) => { - if (element.innerText === (event.target as HTMLElement)?.innerText) { + if (element.innerText === (event.target as HTMLElement)?.innerText && !element.classList.contains('is-folder-note')) { element.classList.add('is-folder-note'); } }); @@ -80,12 +85,13 @@ export default class FolderNotesPlugin extends Plugin { } else if (event.altKey || event.ctrlKey) { if ((this.settings.altKey && event.altKey) || (this.settings.ctrlKey && event.ctrlKey)) { this.createFolderNote(path); + if (!this.settings.hideFolderNote) return; event.target.parentElement?.parentElement?.getElementsByClassName('nav-folder-children').item(0)?.querySelectorAll('div.nav-file') - .forEach((element: HTMLElement) => { - if (element.innerText === (event.target as HTMLElement)?.innerText) { - element.classList.add('is-folder-note'); - } - }); + .forEach((element: HTMLElement) => { + if (element.innerText === (event.target as HTMLElement)?.innerText && !element.classList.contains('is-folder-note')) { + element.classList.add('is-folder-note'); + } + }); } else { event.target.onclick = null; event.target.click();