From 830563feadc3cd1063eccaba6a8aed863957d2e9 Mon Sep 17 00:00:00 2001 From: melohagan <101575380+melohagan@users.noreply.github.com> Date: Thu, 25 Jan 2024 12:08:00 +0000 Subject: [PATCH] Feature/auto confirm barcode scanner (#12859) * Add autoConfirm scan * Don't auto confirm if validation fails * Set status light to red if invalid --- packages/client/manifest.json | 6 ++++++ .../components/app/forms/CodeScanner.svelte | 18 ++++++++++++++++-- .../app/forms/CodeScannerField.svelte | 3 +++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/packages/client/manifest.json b/packages/client/manifest.json index 2a9bc6f258..83a5b858db 100644 --- a/packages/client/manifest.json +++ b/packages/client/manifest.json @@ -3969,6 +3969,12 @@ "key": "allowManualEntry", "defaultValue": false }, + { + "type": "boolean", + "label": "Auto confirm", + "key": "autoConfirm", + "defaultValue": false + }, { "type": "boolean", "label": "Play sound on scan", diff --git a/packages/client/src/components/app/forms/CodeScanner.svelte b/packages/client/src/components/app/forms/CodeScanner.svelte index ff860d216f..2a546eb64c 100644 --- a/packages/client/src/components/app/forms/CodeScanner.svelte +++ b/packages/client/src/components/app/forms/CodeScanner.svelte @@ -14,11 +14,13 @@ export let value export let disabled = false export let allowManualEntry = false + export let autoConfirm = false export let scanButtonText = "Scan code" export let beepOnScan = false export let beepFrequency = 2637 export let customFrequency = 1046 export let preferredCamera = "environment" + export let validator const dispatch = createEventDispatcher() @@ -41,6 +43,9 @@ beep() } dispatch("change", decodedText) + if (autoConfirm && !validator?.(decodedText)) { + camModal?.hide() + } } } @@ -127,7 +132,11 @@