From 3503b7c7218eac56c457edbba6432fa09c0e9794 Mon Sep 17 00:00:00 2001 From: Nicola Krumschmidt Date: Fri, 18 Dec 2020 14:50:01 +0100 Subject: [PATCH 1/3] Reset value of v-input to NULL if input is empty --- app/src/components/v-input/v-input.vue | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/src/components/v-input/v-input.vue b/app/src/components/v-input/v-input.vue index e01adcd716..681061482a 100644 --- a/app/src/components/v-input/v-input.vue +++ b/app/src/components/v-input/v-input.vue @@ -84,6 +84,10 @@ export default defineComponent({ type: [String, Number], default: null, }, + nullable: { + type: Boolean, + default: true, + }, slug: { type: Boolean, default: false, @@ -197,6 +201,11 @@ export default defineComponent({ function emitValue(event: InputEvent) { let value = (event.target as HTMLInputElement).value; + if (props.nullable === true && value === '') { + emit('input', null); + return; + } + if (props.type === 'number') { emit('input', Number(value)); } else { From d5890df4c2299d996e142cdc54ff0604b4427542 Mon Sep 17 00:00:00 2001 From: Nicola Krumschmidt Date: Mon, 28 Dec 2020 01:27:02 +0100 Subject: [PATCH 2/3] Add Nullable option to text-input interface --- app/src/interfaces/text-input/index.ts | 15 +++++++++++++++ app/src/interfaces/text-input/text-input.vue | 5 +++++ app/src/lang/translations/en-US.yaml | 2 ++ 3 files changed, 22 insertions(+) diff --git a/app/src/interfaces/text-input/index.ts b/app/src/interfaces/text-input/index.ts index 8baee8cbcb..8c42f14269 100644 --- a/app/src/interfaces/text-input/index.ts +++ b/app/src/interfaces/text-input/index.ts @@ -87,5 +87,20 @@ export default defineInterface(({ i18n }) => ({ default_value: false, }, }, + { + field: 'nullable', + name: i18n.t('interfaces.text-input.nullable'), + type: 'boolean', + meta: { + width: 'half', + interface: 'toggle', + options: { + label: i18n.t('interfaces.text-input.nullable_label'), + }, + }, + schema: { + default_value: true, + }, + }, ], })); diff --git a/app/src/interfaces/text-input/text-input.vue b/app/src/interfaces/text-input/text-input.vue index a966c608e1..2b0342cd24 100644 --- a/app/src/interfaces/text-input/text-input.vue +++ b/app/src/interfaces/text-input/text-input.vue @@ -1,6 +1,7 @@