Normalise settings values
This commit is contained in:
parent
51f69a39af
commit
04a24d0b38
1 changed files with 24 additions and 19 deletions
|
|
@ -137,7 +137,6 @@ export class SyncSettingsTab extends PluginSettingTab {
|
||||||
"Server address",
|
"Server address",
|
||||||
"remoteUri"
|
"remoteUri"
|
||||||
);
|
);
|
||||||
|
|
||||||
new Setting(containerEl)
|
new Setting(containerEl)
|
||||||
.setName(title)
|
.setName(title)
|
||||||
.setDesc(
|
.setDesc(
|
||||||
|
|
@ -147,10 +146,10 @@ export class SyncSettingsTab extends PluginSettingTab {
|
||||||
.addText((text) =>
|
.addText((text) =>
|
||||||
text
|
text
|
||||||
.setPlaceholder("https://example.com:3000")
|
.setPlaceholder("https://example.com:3000")
|
||||||
.setValue(this.editedServerUri)
|
.setValue(this.editedServerUri.toLowerCase().trim())
|
||||||
.onChange((value) => {
|
.onChange((value) => {
|
||||||
this.editedServerUri = value;
|
this.editedServerUri = value.toLowerCase().trim();
|
||||||
updateTitle(value);
|
updateTitle(value.toLowerCase().trim());
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -158,7 +157,6 @@ export class SyncSettingsTab extends PluginSettingTab {
|
||||||
"Access token",
|
"Access token",
|
||||||
"token"
|
"token"
|
||||||
);
|
);
|
||||||
|
|
||||||
new Setting(containerEl)
|
new Setting(containerEl)
|
||||||
.setName(tokenTitle)
|
.setName(tokenTitle)
|
||||||
.setClass("sync-settings-access-token")
|
.setClass("sync-settings-access-token")
|
||||||
|
|
@ -169,16 +167,15 @@ export class SyncSettingsTab extends PluginSettingTab {
|
||||||
.addTextArea((text) =>
|
.addTextArea((text) =>
|
||||||
text
|
text
|
||||||
.setPlaceholder("ey...")
|
.setPlaceholder("ey...")
|
||||||
.setValue(this.editedToken)
|
.setValue(this.editedToken.trim())
|
||||||
.onChange((value) => {
|
.onChange((value) => {
|
||||||
this.editedToken = value;
|
this.editedToken = value.trim();
|
||||||
updateTokenTitle(value);
|
updateTokenTitle(value.trim());
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
const [vaultNameTitle, updateVaultNameTitle] =
|
const [vaultNameTitle, updateVaultNameTitle] =
|
||||||
this.unsavedAwareSettingName("Vault name", "vaultName");
|
this.unsavedAwareSettingName("Vault name", "vaultName");
|
||||||
|
|
||||||
new Setting(containerEl)
|
new Setting(containerEl)
|
||||||
.setName(vaultNameTitle)
|
.setName(vaultNameTitle)
|
||||||
.setDesc(
|
.setDesc(
|
||||||
|
|
@ -188,23 +185,17 @@ export class SyncSettingsTab extends PluginSettingTab {
|
||||||
.addText((text) =>
|
.addText((text) =>
|
||||||
text
|
text
|
||||||
.setPlaceholder("My Obsidian Vault")
|
.setPlaceholder("My Obsidian Vault")
|
||||||
.setValue(this.editedVaultName)
|
.setValue(this.editedVaultName.toLowerCase().trim())
|
||||||
.onChange((value) => {
|
.onChange((value) => {
|
||||||
this.editedVaultName = value;
|
this.editedVaultName = value.toLowerCase().trim();
|
||||||
updateVaultNameTitle(value);
|
updateVaultNameTitle(value.toLowerCase().trim());
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
new Setting(containerEl)
|
new Setting(containerEl)
|
||||||
.addButton((button) =>
|
.addButton((button) =>
|
||||||
button.setButtonText("Apply").onClick(async () => {
|
button.setButtonText("Apply").onClick(async () => {
|
||||||
if (
|
if (this.areThereUnsavedChanges()) {
|
||||||
this.editedVaultName !==
|
|
||||||
this.syncClient.getSettings().vaultName ||
|
|
||||||
this.editedServerUri !==
|
|
||||||
this.syncClient.getSettings().remoteUri ||
|
|
||||||
this.editedToken !== this.syncClient.getSettings().token
|
|
||||||
) {
|
|
||||||
await this.syncClient.setSettings({
|
await this.syncClient.setSettings({
|
||||||
vaultName: this.editedVaultName,
|
vaultName: this.editedVaultName,
|
||||||
remoteUri: this.editedServerUri,
|
remoteUri: this.editedServerUri,
|
||||||
|
|
@ -221,6 +212,12 @@ export class SyncSettingsTab extends PluginSettingTab {
|
||||||
)
|
)
|
||||||
.addButton((button) =>
|
.addButton((button) =>
|
||||||
button.setButtonText("Test connection").onClick(async () => {
|
button.setButtonText("Test connection").onClick(async () => {
|
||||||
|
if (this.areThereUnsavedChanges()) {
|
||||||
|
new Notice(
|
||||||
|
"There are unsaved changes, testing with the currently saved settings"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
new Notice(
|
new Notice(
|
||||||
(await this.syncClient.checkConnection()).serverMessage
|
(await this.syncClient.checkConnection()).serverMessage
|
||||||
);
|
);
|
||||||
|
|
@ -229,6 +226,14 @@ export class SyncSettingsTab extends PluginSettingTab {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private areThereUnsavedChanges(): boolean {
|
||||||
|
return (
|
||||||
|
this.editedServerUri !== this.syncClient.getSettings().remoteUri ||
|
||||||
|
this.editedToken !== this.syncClient.getSettings().token ||
|
||||||
|
this.editedVaultName !== this.syncClient.getSettings().vaultName
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
private renderSyncSettings(containerEl: HTMLElement): void {
|
private renderSyncSettings(containerEl: HTMLElement): void {
|
||||||
containerEl.createEl("h3", { text: "Sync" });
|
containerEl.createEl("h3", { text: "Sync" });
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue