add testmap array to payload

This commit is contained in:
faiztyanirh 2026-03-09 11:22:39 +07:00
parent 4f5ba718e8
commit 1860b62d73
3 changed files with 10 additions and 12 deletions

View File

@ -1022,7 +1022,7 @@ export function getTestFormActions(handlers) {
]; ];
} }
export function buildTestPayload({ mainForm, activeFormStates, testType, refNumData, refTxtData }) { export function buildTestPayload({ mainForm, activeFormStates, testType, refNumData, refTxtData, mapData }) {
let payload = { let payload = {
...mainForm ...mainForm
}; };
@ -1034,12 +1034,13 @@ export function buildTestPayload({ mainForm, activeFormStates, testType, refNumD
payload[key] = refNumData; payload[key] = refNumData;
} else if (key === 'refTxt' && refTxtData?.length > 0) { } else if (key === 'refTxt' && refTxtData?.length > 0) {
payload[key] = refTxtData; payload[key] = refTxtData;
} else if(key === 'group') { } else if(key === 'group') {
payload[key] = { payload[key] = {
...state.form, ...state.form,
Members: state.form?.Members?.map((m) => m.value).filter(Boolean) ?? [] Members: state.form?.Members?.map((m) => m.value).filter(Boolean) ?? []
}; };
} else if (key === 'map' && mapData?.length > 0) {
payload[key] = mapData;
} else if (state?.form) { } else if (state?.form) {
payload[key] = { payload[key] = {
...state.form ...state.form

View File

@ -45,6 +45,7 @@
let resetMap = $state(); let resetMap = $state();
let refNumData = $state([]); let refNumData = $state([]);
let refTxtData = $state([]); let refTxtData = $state([]);
let mapData = $state([]);
const { masterDetail, formFields, formActions, schema, initialForm } = props.context; const { masterDetail, formFields, formActions, schema, initialForm } = props.context;
@ -116,7 +117,6 @@
} }
}); });
// const helpers = useDictionaryForm(formState);
const helpers = useDictionaryForm(formState, () => activeFormStates); const helpers = useDictionaryForm(formState, () => activeFormStates);
const handlers = { const handlers = {
@ -136,15 +136,18 @@
async function handleSave() { async function handleSave() {
const mainForm = masterDetail.formState.form; const mainForm = masterDetail.formState.form;
const testType = mainForm.TestType; const testType = mainForm.TestType;
const cleanMapData = mapData.map(({ options, ...rest }) => rest);
const payload = buildTestPayload({ const payload = buildTestPayload({
mainForm, mainForm,
activeFormStates, activeFormStates,
testType: testType, testType: testType,
refNumData: refNumData, refNumData: refNumData,
refTxtData: refTxtData refTxtData: refTxtData,
mapData: cleanMapData,
}); });
console.log(payload); console.log(payload);
// const result = await formState.save(masterDetail.mode); // const result = await formState.save(masterDetail.mode);
// toast('Test Created!'); // toast('Test Created!');
@ -437,11 +440,6 @@
} }
} }
// $inspect({
// definition: formState.errors,
// active: activeFormStates.map(fs => fs.errors)
// });
// $inspect({ // $inspect({
// definition: formState.errors, // definition: formState.errors,
// active: Object.values(activeFormStates).map(fs => fs.errors) // active: Object.values(activeFormStates).map(fs => fs.errors)
@ -487,7 +485,7 @@
<Group {groupFormState} {testGroupFormFields} /> <Group {groupFormState} {testGroupFormFields} />
</Tabs.Content> </Tabs.Content>
<Tabs.Content value="map"> <Tabs.Content value="map">
<Map {mapFormState} testMapFormFields={testMapFormFieldsTransformed} bind:resetMap /> <Map {mapFormState} testMapFormFields={testMapFormFieldsTransformed} bind:tempMap={mapData} bind:resetMap />
</Tabs.Content> </Tabs.Content>
<Tabs.Content value="reference"> <Tabs.Content value="reference">
<div class="w-full h-full flex items-start"> <div class="w-full h-full flex items-start">

View File

@ -7,9 +7,8 @@
import Trash2Icon from "@lucide/svelte/icons/trash-2"; import Trash2Icon from "@lucide/svelte/icons/trash-2";
import { untrack } from "svelte"; import { untrack } from "svelte";
let { resetMap = $bindable(), ...props } = $props() let { tempMap = $bindable([]), resetMap = $bindable(), ...props } = $props()
let tempMap = $state([]);
let editingId = $state(null); let editingId = $state(null);
let idCounter = $state(0); let idCounter = $state(0);