mirror of
https://github.com/lostpaul/obsidian-folder-notes.git
synced 2026-07-22 07:40:24 +00:00
Support frontmatter title plugin for folder overview
This commit is contained in:
parent
243aa671f1
commit
ae1f67c84b
5 changed files with 50 additions and 21 deletions
|
|
@ -26,25 +26,27 @@ export class FrontMatterTitlePluginHandler {
|
|||
await this.deffer.awaitFeatures();
|
||||
}
|
||||
}
|
||||
const dispatcher = this.api?.getEventDispatcher();
|
||||
if (dispatcher) {
|
||||
this.dispatcher = dispatcher;
|
||||
if (plugin.settings.frontMatterTitle.enabled) {
|
||||
const dispatcher = this.api?.getEventDispatcher();
|
||||
if (dispatcher) {
|
||||
this.dispatcher = dispatcher;
|
||||
}
|
||||
const event: Listener<Events, 'manager:update'> = {
|
||||
name: 'manager:update',
|
||||
cb: (data) => {
|
||||
this.fmptUpdateFileName(data as any, true);
|
||||
},
|
||||
};
|
||||
// Keep ref to remove listener
|
||||
const ref = dispatcher?.addListener(event);
|
||||
if (ref) {
|
||||
this.eventRef = ref;
|
||||
}
|
||||
// this.plugin.app.vault.getFiles().forEach((file) => {
|
||||
// this.handleRename({ id: '', result: false, path: file.path }, false);
|
||||
// });
|
||||
this.plugin.updateAllBreadcrumbs();
|
||||
}
|
||||
const event: Listener<Events, 'manager:update'> = {
|
||||
name: 'manager:update',
|
||||
cb: (data) => {
|
||||
this.fmptUpdateFileName(data as any, true);
|
||||
},
|
||||
};
|
||||
// Keep ref to remove listener
|
||||
const ref = dispatcher?.addListener(event);
|
||||
if (ref) {
|
||||
this.eventRef = ref;
|
||||
}
|
||||
// this.plugin.app.vault.getFiles().forEach((file) => {
|
||||
// this.handleRename({ id: '', result: false, path: file.path }, false);
|
||||
// });
|
||||
this.plugin.updateAllBreadcrumbs();
|
||||
})();
|
||||
}
|
||||
deleteEvent() {
|
||||
|
|
@ -123,4 +125,23 @@ export class FrontMatterTitlePluginHandler {
|
|||
folder.newName = newName;
|
||||
this.modifiedFolders.set(folder.path, folder);
|
||||
}
|
||||
|
||||
async getNewFolderName(folder: TFolder): Promise<string | null> {
|
||||
if (this.modifiedFolders.has(folder.path)) {
|
||||
const modifiedFolder = this.modifiedFolders.get(folder.path);
|
||||
if (modifiedFolder) {
|
||||
return modifiedFolder.newName;
|
||||
}
|
||||
}
|
||||
const folderNote = getFolderNote(this.plugin, folder.path);
|
||||
if (!folderNote) return null;
|
||||
const resolver = this.api?.getResolverFactory()?.createResolver('#feature-id#');
|
||||
return resolver?.resolve(folderNote?.path ?? '') ?? null;
|
||||
}
|
||||
|
||||
async getNewFileName(file: TFile): Promise<string | null> {
|
||||
const resolver = this.api?.getResolverFactory()?.createResolver('#feature-id#');
|
||||
const changedName = resolver?.resolve(file?.path ?? '');
|
||||
return changedName ?? null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 4eb8381ae1df5a95b94159263a6be31284d40ade
|
||||
Subproject commit 49aa6fcb8d065a5b22e8792f92f6faa968080c03
|
||||
|
|
@ -5,7 +5,14 @@ export async function renderFolderOverview(settingsTab: SettingsTab) {
|
|||
const { plugin } = settingsTab;
|
||||
const overviewSettings = plugin.settings.defaultOverview;
|
||||
const containerEl = settingsTab.settingsPage;
|
||||
containerEl.createEl('p', { text: 'Edit the default settings for folder overviews', cls: 'setting-item-description' });
|
||||
const pEl = containerEl.createEl('p', {
|
||||
text: 'Edit the default settings for new folder overviews, ',
|
||||
cls: 'setting-item-description',
|
||||
});
|
||||
const span = createSpan({ text: "this won't apply to already existing overviews.", cls: '' });
|
||||
const accentColor = (settingsTab.app.vault.getConfig('accentColor') as string) || '#7d5bed';
|
||||
span.setAttr('style', `color: ${accentColor};`);
|
||||
pEl.appendChild(span);
|
||||
|
||||
createOverviewSettings(containerEl, overviewSettings, plugin, plugin.settings.defaultOverview, settingsTab.display, undefined, undefined, undefined, settingsTab);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -470,7 +470,7 @@ export async function renderGeneral(settingsTab: SettingsTab) {
|
|||
settingsTab.plugin.fmtpHandler?.fmptUpdateFileName({ id: '', result: false, path: file.path, pathOnly: false }, false);
|
||||
});
|
||||
settingsTab.plugin.fmtpHandler?.deleteEvent();
|
||||
settingsTab.plugin.fmtpHandler = null;
|
||||
settingsTab.plugin.fmtpHandler = new FrontMatterTitlePluginHandler(settingsTab.plugin);
|
||||
}
|
||||
settingsTab.display();
|
||||
})
|
||||
|
|
|
|||
|
|
@ -128,6 +128,7 @@ export const DEFAULT_SETTINGS: FolderNotesSettings = {
|
|||
hideLinkList: true,
|
||||
hideFolderOverview: false,
|
||||
useActualLinks: false,
|
||||
fmtpIntegration: false,
|
||||
},
|
||||
useSubmenus: true,
|
||||
syncMove: true,
|
||||
|
|
|
|||
Loading…
Reference in a new issue