Add active class to folder when opening folder note

This commit is contained in:
Callum Loh 2023-04-12 15:30:51 +01:00
parent 83b867fc5f
commit e1e2013eaf

View file

@ -10,6 +10,7 @@ export default class FolderNotesPlugin extends Plugin {
observer: MutationObserver;
settings: FolderNotesSettings;
settingsTab: SettingsTab;
activeFolderDom: HTMLElement | null;
activeFileExplorer: FileExplorerWorkspaceLeaf;
async onload() {
@ -68,6 +69,17 @@ export default class FolderNotesPlugin extends Plugin {
}));
this.registerEvent(this.app.workspace.on('file-open', (openFile: TFile | null) => {
if(this.activeFolderDom) {
this.activeFolderDom.removeClass('is-active');
this.activeFolderDom = null;
}
if(!openFile || !openFile.basename) { return; }
if(openFile.basename !== openFile.parent.name) { return; }
this.activeFolderDom = this.getEL(openFile.parent.path);
if(this.activeFolderDom) this.activeFolderDom.addClass('is-active');
}));
this.registerEvent(this.app.vault.on('rename', (file: TAbstractFile, oldPath: string) => {
if (!this.settings.syncFolderName) {
// cleanup after ourselves
@ -326,6 +338,7 @@ export default class FolderNotesPlugin extends Plugin {
document.body.classList.remove('folder-note-underline');
document.body.classList.remove('hide-folder-note');
document.body.classList.remove('fn-whitespace-stop-collapsing');
if(this.activeFolderDom) { this.activeFolderDom.removeClass('is-active'); }
}
async loadSettings() {