@xuda.io/runtime-bundle 1.0.409 → 1.0.411

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.
@@ -28269,12 +28269,11 @@ func.UI.find_field_in_progUi_attributes = function (progUi, field_id, prop, tag_
28269
28269
  elm_node = node;
28270
28270
  }
28271
28271
  }
28272
+ }
28273
+ if (elm_node) break;
28272
28274
 
28273
- if (elm_node) break;
28274
-
28275
- if (item.children) {
28276
- iterate_progUi(item.children);
28277
- }
28275
+ if (item.children) {
28276
+ iterate_progUi(item.children);
28278
28277
  }
28279
28278
  }
28280
28279
  };
@@ -31637,7 +31636,7 @@ func.UI.screen.refresh_xu_attributes = async function (SESSION_ID, fields_arr, j
31637
31636
  };
31638
31637
 
31639
31638
  const $xu_embed_div = $('.xu_embed_div');
31640
- const panels_obj = func.UI.utils.get_panels_from_dom(SESSION_ID, true);
31639
+ let panels_obj = func.UI.utils.get_panels_from_dom(SESSION_ID, true);
31641
31640
 
31642
31641
  for await (const field_id of fields_arr) {
31643
31642
  // run root
@@ -31648,11 +31647,18 @@ func.UI.screen.refresh_xu_attributes = async function (SESSION_ID, fields_arr, j
31648
31647
  // find invisible panels
31649
31648
  const elm_node = func.UI.find_field_in_progUi_attributes(progUi, field_id, null, 'xu-panel');
31650
31649
  console.log('elm_node', elm_node);
31650
+ let prog_id = elm_node?.attributes?.program;
31651
+ const exp = elm_node?.attributes?.['xu-exp:program'];
31652
+ if (exp) {
31653
+ let exp_ret = await func.expression.get(SESSION_ID, exp, $xu_embed_div?.data()?.xuData?.paramsP?.dsSessionP, 'UI Attr EXP');
31654
+ prog_id = func.UI.screen.fix_val_defaults('program', exp_ret.result);
31655
+ panels_obj[elm_node.id] = { prog_id };
31656
+ }
31651
31657
  }
31652
31658
  }
31653
31659
  // run panels
31654
31660
  for await (const [parent_element_ui_id, panel_val] of Object.entries(panels_obj)) {
31655
- const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, panel_val._ds.prog_id);
31661
+ const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, panel_val._ds.prog_id || panel_val.prog_id);
31656
31662
 
31657
31663
  await iterate_field_in_progUi(prog_doc.progUi, field_id);
31658
31664
  }