Skip to content

Commit cc95dea

Browse files
committed
fix: Fix UX conflicts between changes for better folder templates UX and file regex templates
refs: #1428, #975, #471
1 parent c7d62f4 commit cc95dea

File tree

1 file changed

+45
-33
lines changed

1 file changed

+45
-33
lines changed

src/settings/Settings.ts

+45-33
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export const DEFAULT_SETTINGS: Settings = {
3232
syntax_highlighting: true,
3333
syntax_highlighting_mobile: false,
3434
enabled_templates_hotkeys: [""],
35-
startup_templates: [""]
35+
startup_templates: [""],
3636
};
3737

3838
export interface Settings {
@@ -122,8 +122,8 @@ export class TemplaterSettingTab extends PluginSettingTab {
122122
const mobileDesc = document.createDocumentFragment();
123123
mobileDesc.append(
124124
"Adds syntax highlighting for Templater commands in edit mode on " +
125-
"mobile. Use with caution: this may break live preview on mobile " +
126-
"platforms."
125+
"mobile. Use with caution: this may break live preview on mobile " +
126+
"platforms."
127127
);
128128

129129
new Setting(this.containerEl)
@@ -471,7 +471,8 @@ export class TemplaterSettingTab extends PluginSettingTab {
471471
);
472472

473473
new Setting(this.containerEl).addButton((button: ButtonComponent) => {
474-
button.setButtonText("Add new folder template")
474+
button
475+
.setButtonText("Add new folder template")
475476
.setTooltip("Add additional folder template")
476477
.setCta()
477478
.onClick(() => {
@@ -486,13 +487,21 @@ export class TemplaterSettingTab extends PluginSettingTab {
486487
}
487488

488489
add_file_templates_setting(): void {
489-
this.containerEl.createEl("h2", { text: "File Regex Templates" });
490+
new Setting(this.containerEl)
491+
.setName("File Regex Templates")
492+
.setHeading();
490493

491494
const descHeading = document.createDocumentFragment();
492495
descHeading.append(
493496
"File Regex Templates are triggered when a new ",
494497
descHeading.createEl("strong", { text: "empty" }),
495-
" file is created that matches one of them. Templater will fill the empty file with the specified template."
498+
" file is created that matches one of them. Templater will fill the empty file with the specified template.",
499+
descHeading.createEl("br"),
500+
"The first match from the top is used, so the order of the rules is important.",
501+
descHeading.createEl("br"),
502+
"Use ",
503+
descHeading.createEl("code", { text: ".*" }),
504+
" as a final catch-all, if you need it."
496505
);
497506

498507
new Setting(this.containerEl).setDesc(descHeading);
@@ -525,26 +534,6 @@ export class TemplaterSettingTab extends PluginSettingTab {
525534
return;
526535
}
527536

528-
new Setting(this.containerEl)
529-
.setName("Add New")
530-
.setDesc(
531-
"Add new file regex. The first match from the top is used, so the order of the rules is important. Use `.*` as a final catch-all, if you need it."
532-
)
533-
.addButton((button: ButtonComponent) => {
534-
button
535-
.setTooltip("Add additional file regex")
536-
.setButtonText("+")
537-
.setCta()
538-
.onClick(() => {
539-
this.plugin.settings.file_templates.push({
540-
regex: "",
541-
template: "",
542-
});
543-
this.plugin.save_settings();
544-
this.display();
545-
});
546-
});
547-
548537
this.plugin.settings.file_templates.forEach((file_template, index) => {
549538
const s = new Setting(this.containerEl)
550539
.addText((cb) => {
@@ -615,6 +604,21 @@ export class TemplaterSettingTab extends PluginSettingTab {
615604
});
616605
s.infoEl.remove();
617606
});
607+
608+
new Setting(this.containerEl).addButton((button: ButtonComponent) => {
609+
button
610+
.setButtonText("Add new file regex")
611+
.setTooltip("Add additional file regex")
612+
.setCta()
613+
.onClick(() => {
614+
this.plugin.settings.file_templates.push({
615+
regex: "",
616+
template: "",
617+
});
618+
this.plugin.save_settings();
619+
this.display();
620+
});
621+
});
618622
}
619623

620624
add_startup_templates_setting(): void {
@@ -691,7 +695,9 @@ export class TemplaterSettingTab extends PluginSettingTab {
691695
}
692696

693697
add_user_script_functions_setting(): void {
694-
new Setting(this.containerEl).setName("User script functions").setHeading();
698+
new Setting(this.containerEl)
699+
.setName("User script functions")
700+
.setHeading();
695701

696702
let desc = document.createDocumentFragment();
697703
desc.append(
@@ -776,7 +782,9 @@ export class TemplaterSettingTab extends PluginSettingTab {
776782
}),
777783
"It can be dangerous to execute arbitrary system commands from untrusted sources. Only run system commands that you understand, from trusted sources."
778784
);
779-
new Setting(this.containerEl).setName("User system command functions").setHeading();
785+
new Setting(this.containerEl)
786+
.setName("User system command functions")
787+
.setHeading();
780788

781789
new Setting(this.containerEl)
782790
.setName("Enable user system command functions")
@@ -946,21 +954,25 @@ export class TemplaterSettingTab extends PluginSettingTab {
946954
.setName("Donate")
947955
.setDesc(
948956
"If you like this Plugin, consider donating to support continued development."
949-
)
950-
957+
);
951958

952959
const a1 = document.createElement("a");
953960
a1.setAttribute("href", "https://github.com/sponsors/silentvoid13");
954961
a1.addClass("templater_donating");
955962
const img1 = document.createElement("img");
956-
img1.src = "https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86";
963+
img1.src =
964+
"https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86";
957965
a1.appendChild(img1);
958966

959967
const a2 = document.createElement("a");
960-
a2.setAttribute("href", "https://www.paypal.com/donate?hosted_button_id=U2SRGAFYXT32Q");
968+
a2.setAttribute(
969+
"href",
970+
"https://www.paypal.com/donate?hosted_button_id=U2SRGAFYXT32Q"
971+
);
961972
a2.addClass("templater_donating");
962973
const img2 = document.createElement("img");
963-
img2.src = "https://img.shields.io/badge/paypal-silentvoid13-yellow?style=social&logo=paypal";
974+
img2.src =
975+
"https://img.shields.io/badge/paypal-silentvoid13-yellow?style=social&logo=paypal";
964976
a2.appendChild(img2);
965977

966978
s.settingEl.appendChild(a1);

0 commit comments

Comments
 (0)