From 2c65826a91cac2337db1cd3b7875110d559423ce Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Mon, 14 Jul 2025 15:54:46 -0500 Subject: [PATCH] Fix display value (labels) for PVS fields --- src/qqq/utils/qqq/QFMDBridge.tsx | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/qqq/utils/qqq/QFMDBridge.tsx b/src/qqq/utils/qqq/QFMDBridge.tsx index a25330d..3708216 100644 --- a/src/qqq/utils/qqq/QFMDBridge.tsx +++ b/src/qqq/utils/qqq/QFMDBridge.tsx @@ -73,10 +73,20 @@ function QFMDBridgeForm({fields, record, handleChange, handleSubmit}: QFMDBridge for (let field of fields) { initialValues[field.name] = record.values.get(field.name); + if(initialValues[field.name] === undefined && field.defaultValue !== undefined) + { + initialValues[field.name] = field.defaultValue; + } + } const [lastValues, setLastValues] = useState(initialValues); const [loaded, setLoaded] = useState(false); + /////////////////////////////////////////////////////////////////////////////// + // store reference to record display values in a state var - see usage below // + /////////////////////////////////////////////////////////////////////////////// + const [recordDisplayValues, setRecordDisplayValues] = useState(record?.displayValues ?? new Map()) + useEffect(() => { (async () => @@ -91,7 +101,12 @@ function QFMDBridgeForm({fields, record, handleChange, handleSubmit}: QFMDBridge const possibleValues = await qController.possibleValues(null, null, field.possibleValueSourceName, null, [value], [], record.values, "form"); if (possibleValues && possibleValues.length > 0) { - record.displayValues.set(field.name, possibleValues[0].label); + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // originally, we put this in record.displayValues, but, sometimes that would then be empty at the usage point below... // + // this works, so, we'll go with it // + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + recordDisplayValues.set(field.name, possibleValues[0].label) + setRecordDisplayValues(recordDisplayValues); } } } @@ -109,7 +124,7 @@ function QFMDBridgeForm({fields, record, handleChange, handleSubmit}: QFMDBridge dynamicFormFields, formValidations, } = DynamicFormUtils.getFormData(fields); - DynamicFormUtils.addPossibleValueProps(dynamicFormFields, fields, null, null, record ? record.displayValues : new Map()); + DynamicFormUtils.addPossibleValueProps(dynamicFormFields, fields, null, null, recordDisplayValues); const otherValuesMap = new Map(); record.values.forEach((value, key) => otherValuesMap.set(key, value));