diff --git a/src/lib/components/order/ordertest/config/ordertest-form-config.js b/src/lib/components/order/ordertest/config/ordertest-form-config.js index 9a386b8..197eeb1 100644 --- a/src/lib/components/order/ordertest/config/ordertest-form-config.js +++ b/src/lib/components/order/ordertest/config/ordertest-form-config.js @@ -6,29 +6,11 @@ import { cleanEmptyStrings } from "$lib/utils/cleanEmptyStrings"; export const orderTestSchema = z.object({ Tests: z.array( z.object({ - id: z.number(), TestSiteCode: z.string(), - TestSiteName: z.string() }) ) .min(1, " "), }) -.superRefine((data, ctx) => { - if (!data.Tests) return; - - const values = data.Tests.map((m) => m.testCode).filter(Boolean); - const duplicates = values.filter((v, i) => values.indexOf(v) !== i); - - if (duplicates.length) { - const uniqueDuplicates = [...new Set(duplicates)]; - - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: `Duplicate test : ${uniqueDuplicates.join(', ')}`, - path: ['Tests'] - }); - } - }); export const orderTestInitialForm = { InternalOID: '', @@ -145,7 +127,7 @@ export const orderTestFormFields = [ key: "Tests", required: true, withLabel: false, - type: "tests2", + type: "tests", optionsEndpoint: `${API.BASE_URL}${API.TEST}`, otherEndpoint: `${API.BASE_URL}${API.DISCIPLINE}`, valueKey: 'TestSiteID', diff --git a/src/lib/components/order/ordertest/page/create-page.svelte b/src/lib/components/order/ordertest/page/create-page.svelte index 2d47e99..b6db2cb 100644 --- a/src/lib/components/order/ordertest/page/create-page.svelte +++ b/src/lib/components/order/ordertest/page/create-page.svelte @@ -41,7 +41,7 @@ // toast.error(errorMessages) // } } -$inspect(formState.form) +$inspect(formState.errors) const primaryAction = $derived({ label: 'Save', onClick: handleSave, diff --git a/src/lib/components/order/ordertest/page/master-page.svelte b/src/lib/components/order/ordertest/page/master-page.svelte index 1a359da..b70bb5f 100644 --- a/src/lib/components/order/ordertest/page/master-page.svelte +++ b/src/lib/components/order/ordertest/page/master-page.svelte @@ -74,8 +74,6 @@ patientStore.pending = null; } }) - - $inspect(orderStore) {#snippet searchParamSnippet()} diff --git a/src/lib/components/reusable/form/order-form-renderer.svelte b/src/lib/components/reusable/form/order-form-renderer.svelte index dff17c0..b3a66a8 100644 --- a/src/lib/components/reusable/form/order-form-renderer.svelte +++ b/src/lib/components/reusable/form/order-form-renderer.svelte @@ -1,31 +1,16 @@ {#snippet Fieldset({ @@ -328,116 +264,11 @@
- {:else if type === "tests"} - {@const selectedLabel = selectedTest?.label || 'Choose'} - {@const filteredOptions = getFilteredOptions(key)} -
-
- { - selectedTest = filteredOptions.find((opt) => opt.value === val) ?? null; - }} - onOpenChange={(open) => { - if (open && optionsEndpoint) { - formState.fetchOptions?.( - { key, optionsEndpoint, valueKey, labelKey }, - formState.form - ); - } - }} - > - - {selectedLabel} - - -
- -
- {#if formState.loadingOptions?.[key]} - Loading... - {:else} - {#if !required} - - None - - {/if} - {#each filteredOptions as option} - - {option.label} - - {/each} - {/if} -
-
-
- -
- - - - No - Test Code - Test Name - - - - - {#if formState.form.Tests.length === 0} - - - No data. Add a test from Search Test above. - - - {:else} - {#each formState.form.Tests as test, index (test.id)} - - {index + 1} - {test.TestSiteCode} - {test.TestSiteName} - -
- - - - - - -

Delete

-
-
-
-
-
-
- {/each} - {/if} -
-
- {:else if type === "tests2"} - {@const filteredOptions = getFilteredOptions(key)} + {:else if type === "tests"}
-
-
+
+

Test list

@@ -446,13 +277,22 @@ onValueChange={(val) => selectedDiscipline = val || null} > - {discipline.find(d => d.id === selectedDiscipline)?.name || 'All Disciplines'} + {discipline.find(d => d.DisciplineID === selectedDiscipline)?.DisciplineName || 'All Disciplines'} +
+ +
- All - - {#each discipline as disc} + {#each filteredDiscipline as disc} {disc.DisciplineName} {/each} +
{#each tests as test} -
+
toggleTest(test)} + onkeydown={(e) => e.key === 'Enter' || e.key === ' ' ? toggleTest(test) : null} + > toggleTest(test)} + onclick={(e) => e.stopPropagation()} /> {test.rawItem.TestSiteCode} @@ -492,12 +339,12 @@ {/each}
- {selectedTests2.length} selected + {selectedTests.length} selected @@ -523,14 +370,22 @@ - removeTest2(test)} - > - - + + + + removeTest(test)} + > + + + + +

Delete

+
+
+ +
{/each}