From 692d7f482de35dd98699e3c450cc853bd10860ea Mon Sep 17 00:00:00 2001 From: Chris Gurney Date: Fri, 27 Dec 2024 08:21:58 -0500 Subject: [PATCH] chore: add error highlighting to textarea subfields --- src/Settings/UI/Modals/ToolbarSettingsModal.ts | 6 ++++-- src/styles.css | 3 ++- styles.css | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Settings/UI/Modals/ToolbarSettingsModal.ts b/src/Settings/UI/Modals/ToolbarSettingsModal.ts index 44880e36..91784376 100644 --- a/src/Settings/UI/Modals/ToolbarSettingsModal.ts +++ b/src/Settings/UI/Modals/ToolbarSettingsModal.ts @@ -1197,11 +1197,13 @@ export default class ToolbarSettingsModal extends Modal { .setValue(initialValue ? initialValue : '') .onChange( debounce(async (value: string) => { - config[param.parameter as keyof ScriptConfig] = value; + let isValid = this.updateItemComponentStatus(value, param.type, cb.inputEl.parentElement); + config[param.parameter as keyof ScriptConfig] = isValid ? value : ''; this.toolbar.updated = new Date().toISOString(); await this.plugin.settingsManager.save(); this.renderPreview(toolbarItem); // to make sure error state is refreshed - }, 500)); + }, 500)); + this.updateItemComponentStatus(initialValue ? initialValue : '', param.type, cb.inputEl.parentElement); }); break; } diff --git a/src/styles.css b/src/styles.css index 650b6b63..0ffe7d95 100644 --- a/src/styles.css +++ b/src/styles.css @@ -886,7 +886,8 @@ body { .setting-item-control:has(input[type="text"].note-toolbar-setting-error) { flex-wrap: wrap; } -input[type="text"].note-toolbar-setting-error { +input[type="text"].note-toolbar-setting-error, +.note-toolbar-setting-error textarea { box-shadow: 0 0 0 1px var(--text-error); } .note-toolbar-setting-error { diff --git a/styles.css b/styles.css index a28741ee..e546ee17 100644 --- a/styles.css +++ b/styles.css @@ -1691,7 +1691,8 @@ body { .setting-item-control:has(input[type="text"].note-toolbar-setting-error) { flex-wrap: wrap; } -input[type="text"].note-toolbar-setting-error { +input[type="text"].note-toolbar-setting-error, +.note-toolbar-setting-error textarea { box-shadow: 0 0 0 1px var(--text-error); } .note-toolbar-setting-error {