mirror of
https://github.com/lostpaul/obsidian-folder-notes.git
synced 2026-07-22 07:40:24 +00:00
Update main.ts
This commit is contained in:
parent
708169c582
commit
ea9be9a0b8
1 changed files with 18 additions and 12 deletions
30
src/main.ts
30
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();
|
||||
|
|
|
|||
Loading…
Reference in a new issue