Update main.ts

This commit is contained in:
Lost Paul 2023-03-15 16:04:31 +01:00
parent 708169c582
commit ea9be9a0b8

View file

@ -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();