@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.
@@ -9076,7 +9076,7 @@ func.UI.find_field_in_progUi_attributes = function (progUi, field_id, prop, tag_
9076
9076
  if (attr === `xu-exp:${prop}` || attr === prop) {
9077
9077
  // found = val.includes('@' + field_id);
9078
9078
  if (val.includes('@' + field_id)) {
9079
- elm_node = node;
9079
+ elm_node = item;
9080
9080
  break;
9081
9081
  }
9082
9082
  }
@@ -9084,7 +9084,7 @@ func.UI.find_field_in_progUi_attributes = function (progUi, field_id, prop, tag_
9084
9084
  }
9085
9085
  } else {
9086
9086
  if (tag_name) {
9087
- elm_node = node;
9087
+ elm_node = item;
9088
9088
  }
9089
9089
  }
9090
9090
  }
@@ -11604,7 +11604,7 @@ func.UI.screen.refresh_xu_attributes = async function (SESSION_ID, fields_arr, j
11604
11604
  };
11605
11605
 
11606
11606
  const $xu_embed_div = $('.xu_embed_div');
11607
- const panels_obj = func.UI.utils.get_panels_from_dom(SESSION_ID, true);
11607
+ let panels_obj = func.UI.utils.get_panels_from_dom(SESSION_ID, true);
11608
11608
 
11609
11609
  for await (const field_id of fields_arr) {
11610
11610
  // run root
@@ -11615,11 +11615,18 @@ func.UI.screen.refresh_xu_attributes = async function (SESSION_ID, fields_arr, j
11615
11615
  // find invisible panels
11616
11616
  const elm_node = func.UI.find_field_in_progUi_attributes(progUi, field_id, null, 'xu-panel');
11617
11617
  console.log('elm_node', elm_node);
11618
+ let prog_id = elm_node?.attributes?.program;
11619
+ const exp = elm_node?.attributes?.['xu-exp:program'];
11620
+ if (exp) {
11621
+ let exp_ret = await func.expression.get(SESSION_ID, exp, $xu_embed_div?.data()?.xuData?.paramsP?.dsSessionP, 'UI Attr EXP');
11622
+ prog_id = func.UI.screen.fix_val_defaults('program', exp_ret.result);
11623
+ panels_obj[elm_node.id] = { prog_id };
11624
+ }
11618
11625
  }
11619
11626
  }
11620
11627
  // run panels
11621
11628
  for await (const [parent_element_ui_id, panel_val] of Object.entries(panels_obj)) {
11622
- const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, panel_val._ds.prog_id);
11629
+ const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, panel_val._ds.prog_id || panel_val.prog_id);
11623
11630
 
11624
11631
  await iterate_field_in_progUi(prog_doc.progUi, field_id);
11625
11632
  }
@@ -9077,7 +9077,7 @@ func.UI.find_field_in_progUi_attributes = function (progUi, field_id, prop, tag_
9077
9077
  if (attr === `xu-exp:${prop}` || attr === prop) {
9078
9078
  // found = val.includes('@' + field_id);
9079
9079
  if (val.includes('@' + field_id)) {
9080
- elm_node = node;
9080
+ elm_node = item;
9081
9081
  break;
9082
9082
  }
9083
9083
  }
@@ -9085,7 +9085,7 @@ func.UI.find_field_in_progUi_attributes = function (progUi, field_id, prop, tag_
9085
9085
  }
9086
9086
  } else {
9087
9087
  if (tag_name) {
9088
- elm_node = node;
9088
+ elm_node = item;
9089
9089
  }
9090
9090
  }
9091
9091
  }
@@ -9677,7 +9677,7 @@ func.UI.screen.refresh_xu_attributes = async function (SESSION_ID, fields_arr, j
9677
9677
  };
9678
9678
 
9679
9679
  const $xu_embed_div = $('.xu_embed_div');
9680
- const panels_obj = func.UI.utils.get_panels_from_dom(SESSION_ID, true);
9680
+ let panels_obj = func.UI.utils.get_panels_from_dom(SESSION_ID, true);
9681
9681
 
9682
9682
  for await (const field_id of fields_arr) {
9683
9683
  // run root
@@ -9688,11 +9688,18 @@ func.UI.screen.refresh_xu_attributes = async function (SESSION_ID, fields_arr, j
9688
9688
  // find invisible panels
9689
9689
  const elm_node = func.UI.find_field_in_progUi_attributes(progUi, field_id, null, 'xu-panel');
9690
9690
  console.log('elm_node', elm_node);
9691
+ let prog_id = elm_node?.attributes?.program;
9692
+ const exp = elm_node?.attributes?.['xu-exp:program'];
9693
+ if (exp) {
9694
+ let exp_ret = await func.expression.get(SESSION_ID, exp, $xu_embed_div?.data()?.xuData?.paramsP?.dsSessionP, 'UI Attr EXP');
9695
+ prog_id = func.UI.screen.fix_val_defaults('program', exp_ret.result);
9696
+ panels_obj[elm_node.id] = { prog_id };
9697
+ }
9691
9698
  }
9692
9699
  }
9693
9700
  // run panels
9694
9701
  for await (const [parent_element_ui_id, panel_val] of Object.entries(panels_obj)) {
9695
- const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, panel_val._ds.prog_id);
9702
+ const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, panel_val._ds.prog_id || panel_val.prog_id);
9696
9703
 
9697
9704
  await iterate_field_in_progUi(prog_doc.progUi, field_id);
9698
9705
  }