@xuda.io/runtime-bundle 1.0.1330 → 1.0.1332

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.
@@ -28311,7 +28311,22 @@ func.UI.update_xu_ref = function (SESSION_ID, dsSessionP, ref_field_id, $elm) {
28311
28311
  if (!SYS_GLOBAL_OBJ_REFS[ref_field_id]) {
28312
28312
  SYS_GLOBAL_OBJ_REFS[ref_field_id] = {};
28313
28313
  }
28314
- SYS_GLOBAL_OBJ_REFS[ref_field_id] = obj;
28314
+ // SYS_GLOBAL_OBJ_REFS[ref_field_id] = obj;
28315
+
28316
+ function deepUpdateObject(a, b) {
28317
+ for (let key in b) {
28318
+ if (b.hasOwnProperty(key)) {
28319
+ if (typeof b[key] === 'object' && b[key] !== null && !Array.isArray(b[key]) && a[key] && typeof a[key] === 'object') {
28320
+ deepUpdateObject(a[key], b[key]);
28321
+ } else {
28322
+ a[key] = b[key];
28323
+ }
28324
+ }
28325
+ }
28326
+ return a;
28327
+ }
28328
+ deepUpdateObject(SYS_GLOBAL_OBJ_REFS[ref_field_id], obj);
28329
+
28315
28330
  ret = true;
28316
28331
  }
28317
28332
 
@@ -42553,7 +42568,7 @@ func.index.set_ds_0_proxy = function (SESSION_ID) {
42553
42568
  // Notify of change
42554
42569
  // if (oldValue !== value) {
42555
42570
  if (!_.isEqual(value, oldValue)) {
42556
- currentPath.shift();
42571
+ if (currentPath[0] == '_ref') currentPath.shift();
42557
42572
  onChange({
42558
42573
  path: currentPath.join('.'),
42559
42574
  oldValue,