mirror of
https://github.com/dragonwocky/obsidian-tray.git
synced 2025-04-04 12:09:03 +00:00
fix: prevent type-specific format descs from duplicating on menu reopen
This commit is contained in:
parent
f48cd63a02
commit
84a02f157a
34
main.js
34
main.js
@ -31,8 +31,8 @@ const LOG_PREFIX = "obsidian-tray",
|
|||||||
Format:
|
Format:
|
||||||
<a href="https://momentjs.com/docs/#/displaying/format/" target="_blank" rel="noopener">
|
<a href="https://momentjs.com/docs/#/displaying/format/" target="_blank" rel="noopener">
|
||||||
Moment.js format string</a>
|
Moment.js format string</a>
|
||||||
<br>Preview:
|
|
||||||
`,
|
`,
|
||||||
|
REQUIRES_RESTART = `<span class="mod-warning">Changing this option requires a restart to take effect.</span>`,
|
||||||
// 16x16 base64 obsidian icon: generated from obsidian.asar/icon.png
|
// 16x16 base64 obsidian icon: generated from obsidian.asar/icon.png
|
||||||
OBSIDIAN_BASE64_ICON = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHZSURBVDhPlZKxTxRBFMa/XZcF7nIG7mjxjoRCwomJxgsFdhaASqzQxFDzB1AQKgstLGxIiBQGJBpiCCGx8h+wgYaGgAWNd0dyHofeEYVwt/PmOTMZV9aDIL/s5pvZvPfN9yaL/+HR3eXcypta0m4juFbP5GHuXc9IbunDFc9db/G81/ZzhDMN7g8td47mll4R5BfHwZN4LOaA+fHa259PbUmIYzWkt3e2NZNo3/V9v1vvU6kkstk+tLW3ItUVr/m+c3N8MlkwxYqmBFcbwUQQCNOcyVzDwEAWjuPi5DhAMV/tKOYPX5hCyz8Gz1zX5SmWjBvZfmTSaRBJkGAIoxJHv+pVW2yIGNxOJ8bUVNcFEWLxuG1ia6JercTbttwQTeDwPS0kCMXiXtgk/jQrFUw7ptYSMWApF40yo/ytjHq98fdk3ayVE+cn2CxMb6ruz9qAJKFUKoWza1VJSi/n0+ffgYHdWW2gHuxXymg0gjCB0sjpmiaDnkL3RzDyzLqBUKns2ztQqUR0fk2TwSrGSf1eczqF5vsPZRCQSSAFLk6gqctgQRkc6TWRQLV2YMYQki9OoNkqzFQ9r+WOGuW5CrJbOzyAlPKr6MSGLbkcDwbf35oY/jRkt6cAfgNwowruAMz9AgAAAABJRU5ErkJggg==`,
|
OBSIDIAN_BASE64_ICON = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHZSURBVDhPlZKxTxRBFMa/XZcF7nIG7mjxjoRCwomJxgsFdhaASqzQxFDzB1AQKgstLGxIiBQGJBpiCCGx8h+wgYaGgAWNd0dyHofeEYVwt/PmOTMZV9aDIL/s5pvZvPfN9yaL/+HR3eXcypta0m4juFbP5GHuXc9IbunDFc9db/G81/ZzhDMN7g8td47mll4R5BfHwZN4LOaA+fHa259PbUmIYzWkt3e2NZNo3/V9v1vvU6kkstk+tLW3ItUVr/m+c3N8MlkwxYqmBFcbwUQQCNOcyVzDwEAWjuPi5DhAMV/tKOYPX5hCyz8Gz1zX5SmWjBvZfmTSaRBJkGAIoxJHv+pVW2yIGNxOJ8bUVNcFEWLxuG1ia6JercTbttwQTeDwPS0kCMXiXtgk/jQrFUw7ptYSMWApF40yo/ytjHq98fdk3ayVE+cn2CxMb6ruz9qAJKFUKoWza1VJSi/n0+ffgYHdWW2gHuxXymg0gjCB0sjpmiaDnkL3RzDyzLqBUKns2ztQqUR0fk2TwSrGSf1eczqF5vsPZRCQSSAFLk6gqctgQRkc6TWRQLV2YMYQki9OoNkqzFQ9r+WOGuW5CrJbOzyAlPKr6MSGLbkcDwbf35oY/jRkt6cAfgNwowruAMz9AgAAAABJRU5ErkJggg==`,
|
||||||
log = (message) => console.log(`${LOG_PREFIX}: ${message}`);
|
log = (message) => console.log(`${LOG_PREFIX}: ${message}`);
|
||||||
@ -231,15 +231,18 @@ const OPTIONS = [
|
|||||||
Adds an icon to your system tray/menubar to bring hidden Obsidian windows
|
Adds an icon to your system tray/menubar to bring hidden Obsidian windows
|
||||||
back into focus on click or force a full quit/relaunch of the app through
|
back into focus on click or force a full quit/relaunch of the app through
|
||||||
the right-click menu.
|
the right-click menu.
|
||||||
<br><span class="mod-warning">Changing this option requires a restart to take effect.</span>
|
<br>${REQUIRES_RESTART}
|
||||||
`,
|
`,
|
||||||
type: "toggle",
|
type: "toggle",
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "toggleWindowFocusHotkey",
|
key: "toggleWindowFocusHotkey",
|
||||||
|
desc: ACCELERATOR_FORMAT,
|
||||||
type: "hotkey",
|
type: "hotkey",
|
||||||
default: "CmdOrCtrl+Shift+Tab",
|
default: "CmdOrCtrl+Shift+Tab",
|
||||||
|
onBeforeChange: unregisterHotkeys,
|
||||||
|
onChange: registerHotkeys,
|
||||||
},
|
},
|
||||||
"Quick notes",
|
"Quick notes",
|
||||||
{
|
{
|
||||||
@ -250,14 +253,20 @@ const OPTIONS = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "quickNoteDateFormat",
|
key: "quickNoteDateFormat",
|
||||||
desc: "New quick notes will use a filename of this pattern.",
|
desc: `
|
||||||
|
New quick notes will use a filename of this pattern. ${MOMENT_FORMAT}
|
||||||
|
<br>Preview: <b class="u-pop" data-preview></b>
|
||||||
|
`,
|
||||||
type: "moment",
|
type: "moment",
|
||||||
default: DEFAULT_DATE_FORMAT,
|
default: DEFAULT_DATE_FORMAT,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "quickNoteHotkey",
|
key: "quickNoteHotkey",
|
||||||
|
desc: ACCELERATOR_FORMAT,
|
||||||
type: "hotkey",
|
type: "hotkey",
|
||||||
default: "CmdOrCtrl+Shift+Q",
|
default: "CmdOrCtrl+Shift+Q",
|
||||||
|
onBeforeChange: unregisterHotkeys,
|
||||||
|
onChange: registerHotkeys,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -286,19 +295,7 @@ class SettingsTab extends obsidian.PluginSettingTab {
|
|||||||
setting.setName(opt);
|
setting.setName(opt);
|
||||||
setting.setHeading();
|
setting.setHeading();
|
||||||
} else {
|
} else {
|
||||||
if (opt.default) {
|
if (opt.default) opt.placeholder ??= `Example: ${opt.default}`;
|
||||||
opt.placeholder ??= `Example: ${opt.default}`;
|
|
||||||
}
|
|
||||||
if (opt.type === "hotkey") {
|
|
||||||
opt.desc ??= "";
|
|
||||||
opt.desc += ACCELERATOR_FORMAT;
|
|
||||||
opt.onBeforeChange = unregisterHotkeys;
|
|
||||||
opt.onChange = registerHotkeys;
|
|
||||||
}
|
|
||||||
if (opt.type === "moment") {
|
|
||||||
opt.desc = `${opt.desc ? `${opt.desc}<br>` : ""}${MOMENT_FORMAT}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
setting.setName(keyToLabel(opt.key));
|
setting.setName(keyToLabel(opt.key));
|
||||||
setting.setDesc(htmlToFragment(opt.desc));
|
setting.setDesc(htmlToFragment(opt.desc));
|
||||||
const onChange = async (value) => {
|
const onChange = async (value) => {
|
||||||
@ -316,13 +313,12 @@ class SettingsTab extends obsidian.PluginSettingTab {
|
|||||||
});
|
});
|
||||||
} else if (opt.type === "moment") {
|
} else if (opt.type === "moment") {
|
||||||
setting.addMomentFormat((moment) => {
|
setting.addMomentFormat((moment) => {
|
||||||
const sampleEl = setting.descEl.createEl("b");
|
const previewEl = setting.descEl.querySelector("[data-preview]");
|
||||||
sampleEl.className = "u-pop";
|
if (previewEl) moment.setSampleEl(previewEl);
|
||||||
moment
|
moment
|
||||||
.setPlaceholder(opt.placeholder)
|
.setPlaceholder(opt.placeholder)
|
||||||
.setDefaultFormat(opt.default ?? "")
|
.setDefaultFormat(opt.default ?? "")
|
||||||
.setValue(this.plugin.settings[opt.key] ?? opt.default ?? "")
|
.setValue(this.plugin.settings[opt.key] ?? opt.default ?? "")
|
||||||
.setSampleEl(sampleEl)
|
|
||||||
.onChange(onChange);
|
.onChange(onChange);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user