diff --git a/src/qqq/utils/qqq/QFMDBridge.tsx b/src/qqq/utils/qqq/QFMDBridge.tsx
index a3f2447..6994950 100644
--- a/src/qqq/utils/qqq/QFMDBridge.tsx
+++ b/src/qqq/utils/qqq/QFMDBridge.tsx
@@ -75,7 +75,7 @@ function QFMDBridgeForm({fields, record, handleChange, handleSubmit}: QFMDBridge
initialValues[field.name] = record.values.get(field.name);
}
const [lastValues, setLastValues] = useState(initialValues);
- const [loaded, setLoaded] = useState(false)
+ const [loaded, setLoaded] = useState(false);
useEffect(() =>
{
@@ -102,7 +102,7 @@ function QFMDBridgeForm({fields, record, handleChange, handleSubmit}: QFMDBridge
if (!loaded)
{
- return (
Loading...
);
+ return (Loading...);
}
const {
@@ -111,6 +111,18 @@ function QFMDBridgeForm({fields, record, handleChange, handleSubmit}: QFMDBridge
} = DynamicFormUtils.getFormData(fields);
DynamicFormUtils.addPossibleValueProps(dynamicFormFields, fields, null, null, record ? record.displayValues : new Map());
+ const otherValuesMap = new Map();
+ record.values.forEach((value, key) => otherValuesMap.set(key, value));
+
+ for (let fieldName in dynamicFormFields)
+ {
+ const dynamicFormField = dynamicFormFields[fieldName];
+ if (dynamicFormField.possibleValueProps)
+ {
+ dynamicFormField.possibleValueProps.otherValues = otherValuesMap;
+ }
+ }
+
/////////////////////////////////////////////////////////////////////////////////
// re-introduce these two context providers, in case the child calls this //
// method under a different root... maybe this should be optional per a param? //
@@ -190,8 +202,14 @@ function QFMDBridgeWidget({widgetName, tableName, record, entityPrimaryKey, acti
const qController = Client.getInstance();
const qInstance = await qController.loadMetaData();
+ const queryStringParts: string[] = [];
+ for (let key of record?.values?.keys())
+ {
+ queryStringParts.push(`${encodeURIComponent(key)}=${encodeURIComponent(record.values.get(key))}`);
+ }
+
setWidgetMetaData(qInstance.widgets.get(widgetName));
- setWidgetData(await qController.widget(widgetName, null)); // todo queryParams... ?
+ setWidgetData(await qController.widget(widgetName, queryStringParts.join("&")));
setReady(true);
})();
@@ -199,7 +217,7 @@ function QFMDBridgeWidget({widgetName, tableName, record, entityPrimaryKey, acti
if (!ready)
{
- return (Loading...
);
+ return (Loading...);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////