diff --git a/src/main.ts b/src/main.ts index 1c80383..ab5670e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -19,6 +19,7 @@ const DEFAULT_SETTINGS: AdvancedURISettings = { openFileWithoutWriteInNewPane: false, idField: "id", useUID: false, + addFilepathWhenUsingUID: false, }; export default class AdvancedURI extends Plugin { @@ -853,7 +854,8 @@ export default class AdvancedURI extends Plugin { const file = this.app.vault.getAbstractFileByPath(parameters.filepath); if (this.settings.useUID && file instanceof TFile) { - parameters.filepath = undefined; + if (!this.settings.addFilepathWhenUsingUID) + parameters.filepath = undefined; parameters.uid = await this.getUIDFromFile(file); } for (const parameter in parameters) { diff --git a/src/settings.ts b/src/settings.ts index 893c525..3a23add 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -15,46 +15,71 @@ export class SettingsTab extends PluginSettingTab { new Setting(containerEl) .setName("Open file on write") - .addToggle(cb => cb.onChange(value => { - this.plugin.settings.openFileOnWrite = value; - this.plugin.saveSettings(); - }).setValue(this.plugin.settings.openFileOnWrite)); + .addToggle(cb => cb + .setValue(this.plugin.settings.openFileOnWrite) + .onChange(value => { + this.plugin.settings.openFileOnWrite = value; + this.plugin.saveSettings(); + })); new Setting(containerEl) .setName("Open file on write in a new pane") .setDisabled(this.plugin.settings.openFileOnWrite) - .addToggle(cb => cb.onChange(value => { - this.plugin.settings.openFileOnWriteInNewPane = value; - this.plugin.saveSettings(); - }).setValue(this.plugin.settings.openFileOnWriteInNewPane)); + .addToggle(cb => cb + .setValue(this.plugin.settings.openFileOnWriteInNewPane) + .onChange(value => { + this.plugin.settings.openFileOnWriteInNewPane = value; + this.plugin.saveSettings(); + })); new Setting(containerEl) .setName("Open daily note in a new pane") - .addToggle(cb => cb.onChange(value => { - this.plugin.settings.openDailyInNewPane = value; - this.plugin.saveSettings(); - }).setValue(this.plugin.settings.openDailyInNewPane)); + .addToggle(cb => cb + .setValue(this.plugin.settings.openDailyInNewPane) + .onChange(value => { + this.plugin.settings.openDailyInNewPane = value; + this.plugin.saveSettings(); + })); new Setting(containerEl) .setName("Open file without write in new pane") - .addToggle(cb => cb.onChange(value => { - this.plugin.settings.openFileWithoutWriteInNewPane = value; - this.plugin.saveSettings(); - }).setValue(this.plugin.settings.openFileWithoutWriteInNewPane)); + .addToggle(cb => cb + .setValue(this.plugin.settings.openFileWithoutWriteInNewPane) + .onChange(value => { + this.plugin.settings.openFileWithoutWriteInNewPane = value; + this.plugin.saveSettings(); + })); new Setting(containerEl) .setName("Use UID instead of file paths") - .addToggle(cb => cb.onChange(value => { - this.plugin.settings.useUID = value; - this.plugin.saveSettings(); - }).setValue(this.plugin.settings.useUID)); + .addToggle(cb => cb + .setValue(this.plugin.settings.useUID) + .onChange(value => { + this.plugin.settings.useUID = value; + this.plugin.saveSettings(); + this.display(); + }) + ); + if (this.plugin.settings.useUID) { + new Setting(containerEl) + .setName("Add filepath parameter") + .setDesc("When using UID instead of file paths, you can still add the filepath parameter to know what this URI is about. It's NOT actually used.") + .addToggle(cb => cb + .setValue(this.plugin.settings.addFilepathWhenUsingUID) + .onChange(value => { + this.plugin.settings.addFilepathWhenUsingUID = value; + this.plugin.saveSettings(); + })); + } new Setting(containerEl) .setName("UID field in frontmatter") - .addText(cb => cb.onChange(value => { - this.plugin.settings.idField = value; - this.plugin.saveSettings(); - }).setValue(this.plugin.settings.idField)); + .addText(cb => cb + .setValue(this.plugin.settings.idField) + .onChange(value => { + this.plugin.settings.idField = value; + this.plugin.saveSettings(); + })); new Setting(containerEl) .setName('Donate') diff --git a/src/types.ts b/src/types.ts index eae5ec0..f013f7e 100644 --- a/src/types.ts +++ b/src/types.ts @@ -85,6 +85,7 @@ export interface AdvancedURISettings { openFileWithoutWriteInNewPane: boolean; idField: string; useUID: boolean; + addFilepathWhenUsingUID: boolean; } export interface Parameters {