@xuda.io/runtime-bundle 1.0.276 → 1.0.278
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -33767,7 +33767,8 @@ func.UI.screen.execute_xu_functions = async function (
|
|
|
33767
33767
|
|
|
33768
33768
|
let is_dynamic_field = false
|
|
33769
33769
|
let field_prop;
|
|
33770
|
-
let bind_field_id
|
|
33770
|
+
let bind_field_id;
|
|
33771
|
+
let bind_field_exp
|
|
33771
33772
|
|
|
33772
33773
|
const get_bind_field = async function (field_id) {
|
|
33773
33774
|
if (["_FOR_VAL", "_FOR_KEY"].includes(field_id)) {
|
|
@@ -33813,10 +33814,11 @@ func.UI.screen.execute_xu_functions = async function (
|
|
|
33813
33814
|
} catch (err) {
|
|
33814
33815
|
try {
|
|
33815
33816
|
if (!_.isEmpty($elm?.data()?.xuAttributes?.["xu-exp:xu-bind"])) {
|
|
33817
|
+
bind_field_exp = $elm.data().xuAttributes["xu-exp:xu-bind"]
|
|
33816
33818
|
const res = (
|
|
33817
33819
|
await func.expression.get(
|
|
33818
33820
|
SESSION_ID,
|
|
33819
|
-
|
|
33821
|
+
bind_field_exp,
|
|
33820
33822
|
paramsP.dsSessionP,
|
|
33821
33823
|
"UI Attr EXP"
|
|
33822
33824
|
)
|
|
@@ -33850,9 +33852,11 @@ func.UI.screen.execute_xu_functions = async function (
|
|
|
33850
33852
|
bind.getter($elm[0])
|
|
33851
33853
|
);
|
|
33852
33854
|
|
|
33853
|
-
if (!
|
|
33854
|
-
|
|
33855
|
+
if (field_prop.props.fieldType === "object" && !val_is_reference_field) {
|
|
33856
|
+
value = bind.getter($elm[0])
|
|
33857
|
+
}
|
|
33855
33858
|
|
|
33859
|
+
if (!_ds.currentRecordId) return;
|
|
33856
33860
|
|
|
33857
33861
|
let datasource_changes = {
|
|
33858
33862
|
[_dsP]: {
|
|
@@ -33868,8 +33872,16 @@ func.UI.screen.execute_xu_functions = async function (
|
|
|
33868
33872
|
if (reference_source_obj) {
|
|
33869
33873
|
if (reference_source_obj.ret.type === "array") {
|
|
33870
33874
|
if (iterate_info.iterator_val === bind_field_id) {
|
|
33875
|
+
const arr_idx = Number($elm?.data()?.xuData?.iterate_info._key)
|
|
33871
33876
|
let new_arr = reference_source_obj.ret.value
|
|
33872
|
-
|
|
33877
|
+
if (field_prop.props.fieldType === "object" && !val_is_reference_field) {
|
|
33878
|
+
let obj_item = new_arr[arr_idx]
|
|
33879
|
+
let e_exp = bind_field_exp.replace("@_FOR_VAL", "obj_item");
|
|
33880
|
+
let new_val = eval(e_exp)
|
|
33881
|
+
new_arr[arr_idx] = new_val
|
|
33882
|
+
} else {
|
|
33883
|
+
new_arr[arr_idx] = value
|
|
33884
|
+
}
|
|
33873
33885
|
datasource_changes[_dsP][_ds.currentRecordId][reference_source_obj.fieldIdP] = new_arr
|
|
33874
33886
|
|
|
33875
33887
|
datasource_changes = {
|