From 441c4df4f6d3e26cf866418e5ddaea90bedd2c6a Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 4 May 2023 23:38:00 +0200 Subject: [PATCH] Fix: normalization of URLs, formatting, stabilize inputHelper --- UI/InputElement/InputHelper.svelte | 42 ++++++++++++---------- UI/InputElement/ValidatedInput.svelte | 7 +--- UI/InputElement/Validators/UrlValidator.ts | 4 --- 3 files changed, 25 insertions(+), 28 deletions(-) diff --git a/UI/InputElement/InputHelper.svelte b/UI/InputElement/InputHelper.svelte index 7d480abfca..ba91c274c2 100644 --- a/UI/InputElement/InputHelper.svelte +++ b/UI/InputElement/InputHelper.svelte @@ -1,26 +1,32 @@ {#if construct !== undefined} - construct(value, properties)} /> + new VariableUiElement(construct.mapD(construct => construct(value, properties)))}/> {/if} diff --git a/UI/InputElement/ValidatedInput.svelte b/UI/InputElement/ValidatedInput.svelte index 69db3df57f..f0bf5b715a 100644 --- a/UI/InputElement/ValidatedInput.svelte +++ b/UI/InputElement/ValidatedInput.svelte @@ -11,10 +11,10 @@ export let value: UIEventSource; // Internal state, only copied to 'value' so that no invalid values leak outside let _value = new UIEventSource(value.data ?? ""); - onDestroy(value.addCallbackAndRunD(v => _value.setData(v ?? ""))); export let type: ValidatorType; export let feedback: UIEventSource | undefined = undefined; export let getCountry: () => string | undefined + let validator : Validator = Validators.get(type) $: { // The type changed -> reset some values @@ -23,11 +23,6 @@ feedback = feedback?.setData(validator?.getFeedback(_value.data, getCountry)); } - onDestroy(value.addCallbackAndRun(v => { - if(v === undefined || v === ""){ - _value.setData("") - } - })) onDestroy(_value.addCallbackAndRun(v => { if (validator.isValid(v, getCountry)) { feedback?.setData(undefined); diff --git a/UI/InputElement/Validators/UrlValidator.ts b/UI/InputElement/Validators/UrlValidator.ts index 3b346852ea..85c8fefe67 100644 --- a/UI/InputElement/Validators/UrlValidator.ts +++ b/UI/InputElement/Validators/UrlValidator.ts @@ -45,10 +45,6 @@ export default class UrlValidator extends Validator { cleaned = cleaned.substr(0, cleaned.length - 1) } - if (!str.startsWith("http") && cleaned.startsWith("https://")) { - cleaned = cleaned.substr("https://".length) - } - return cleaned } catch (e) { console.error(e)