@xuda.io/runtime-bundle 1.0.410 → 1.0.412

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.
@@ -28258,7 +28258,7 @@ func.UI.find_field_in_progUi_attributes = function (progUi, field_id, prop, tag_
28258
28258
  if (attr === `xu-exp:${prop}` || attr === prop) {
28259
28259
  // found = val.includes('@' + field_id);
28260
28260
  if (val.includes('@' + field_id)) {
28261
- elm_node = node;
28261
+ elm_node = item;
28262
28262
  break;
28263
28263
  }
28264
28264
  }
@@ -28266,7 +28266,7 @@ func.UI.find_field_in_progUi_attributes = function (progUi, field_id, prop, tag_
28266
28266
  }
28267
28267
  } else {
28268
28268
  if (tag_name) {
28269
- elm_node = node;
28269
+ elm_node = item;
28270
28270
  }
28271
28271
  }
28272
28272
  }
@@ -31636,7 +31636,7 @@ func.UI.screen.refresh_xu_attributes = async function (SESSION_ID, fields_arr, j
31636
31636
  };
31637
31637
 
31638
31638
  const $xu_embed_div = $('.xu_embed_div');
31639
- 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);
31640
31640
 
31641
31641
  for await (const field_id of fields_arr) {
31642
31642
  // run root
@@ -31647,11 +31647,18 @@ func.UI.screen.refresh_xu_attributes = async function (SESSION_ID, fields_arr, j
31647
31647
  // find invisible panels
31648
31648
  const elm_node = func.UI.find_field_in_progUi_attributes(progUi, field_id, null, 'xu-panel');
31649
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
+ }
31650
31657
  }
31651
31658
  }
31652
31659
  // run panels
31653
31660
  for await (const [parent_element_ui_id, panel_val] of Object.entries(panels_obj)) {
31654
- 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);
31655
31662
 
31656
31663
  await iterate_field_in_progUi(prog_doc.progUi, field_id);
31657
31664
  }