@xuda.io/runtime-bundle 1.0.1068 → 1.0.1070

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.
@@ -32353,12 +32353,24 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
32353
32353
  const xu_ui_id = $elm.attr('xu-ui-id');
32354
32354
  let new_$div = UI_WORKER_OBJ?.xu_render_cache?.[xu_ui_id + xu_render_cache_id]?.$div.clone(true);
32355
32355
 
32356
- if (!new_$div || !new_$div.$div) {
32357
- UI_WORKER_OBJ.xu_render_cache[xu_ui_id + xu_render_cache_id] = { paramsP };
32358
- nodeP.xu_render_xu_ui_id = xu_ui_id;
32359
- nodeP.xu_render_cache_id = xu_render_cache_id;
32360
- new_$div = await func.UI.screen.render_ui_tree(SESSION_ID, $container, nodeP, parent_infoP, paramsP, jobNoP, null, keyP, null, parent_nodeP, null, $root_container);
32361
- UI_WORKER_OBJ.xu_render_cache[xu_ui_id + xu_render_cache_id].$div = new_$div.clone(true);
32356
+ if (!new_$div) {
32357
+ // validate if $div contains fields from parent ds
32358
+ const parent_fields = get_parent_ds_fields(SESSION_ID, paramsP.dsSessionP);
32359
+ const div_str = JSON.stringify(new_$div.children());
32360
+ let found = false;
32361
+ for (const [key, val] of Object.entries(parent_fields)) {
32362
+ if (div_str.includes('@' + key)) {
32363
+ found = true;
32364
+ break;
32365
+ }
32366
+ }
32367
+ if (!found) {
32368
+ UI_WORKER_OBJ.xu_render_cache[xu_ui_id + xu_render_cache_id] = { paramsP };
32369
+ nodeP.xu_render_xu_ui_id = xu_ui_id;
32370
+ nodeP.xu_render_cache_id = xu_render_cache_id;
32371
+ new_$div = await func.UI.screen.render_ui_tree(SESSION_ID, $container, nodeP, parent_infoP, paramsP, jobNoP, null, keyP, null, parent_nodeP, null, $root_container);
32372
+ UI_WORKER_OBJ.xu_render_cache[xu_ui_id + xu_render_cache_id].$div = new_$div.clone(true);
32373
+ }
32362
32374
  }
32363
32375
  // append order handling
32364
32376
 
@@ -34640,25 +34652,48 @@ const get_parent_ds_fields = function (SESSION_ID, dsSessionP) {
34640
34652
  };
34641
34653
 
34642
34654
  const get_xu_render_cache_str = async function (SESSION_ID, dsSessionP, exclude_vars = []) {
34643
- var _session = SESSION_OBJ[SESSION_ID];
34644
- var _ds = _session.DS_GLB[dsSessionP];
34655
+ const fields_obj = get_parent_ds_fields(SESSION_ID, dsSessionP);
34645
34656
 
34646
- const idx = func.common.find_ROWID_idx(_ds, _ds.currentRecordId);
34647
- const data = _ds.data_feed.rows[idx];
34657
+ // var _session = SESSION_OBJ[SESSION_ID];
34658
+ // var _ds = _session.DS_GLB[dsSessionP];
34659
+
34660
+ // const idx = func.common.find_ROWID_idx(_ds, _ds.currentRecordId);
34661
+ // const data = _ds.data_feed.rows[idx];
34648
34662
 
34649
34663
  let str = '';
34650
34664
 
34651
- for (const [key, val] of Object.entries(data)) {
34665
+ for (const [key, val] of Object.entries(fields_obj)) {
34652
34666
  if (exclude_vars.includes(key)) continue;
34653
34667
  str += typeof val !== 'undefined' ? JSON.stringify(val) : '';
34654
34668
  }
34655
34669
 
34656
- if (typeof _ds.parentDataSourceNo !== 'undefined') {
34657
- str += await get_xu_render_cache_str(SESSION_ID, _ds.parentDataSourceNo);
34658
- }
34670
+ // if (typeof _ds.parentDataSourceNo !== 'undefined') {
34671
+ // str += await get_xu_render_cache_str(SESSION_ID, _ds.parentDataSourceNo);
34672
+ // }
34659
34673
 
34660
34674
  return 'C-' + (await func.common.sha256(str));
34661
34675
  };
34676
+
34677
+ // const get_xu_render_cache_str = async function (SESSION_ID, dsSessionP, exclude_vars = []) {
34678
+ // var _session = SESSION_OBJ[SESSION_ID];
34679
+ // var _ds = _session.DS_GLB[dsSessionP];
34680
+
34681
+ // const idx = func.common.find_ROWID_idx(_ds, _ds.currentRecordId);
34682
+ // const data = _ds.data_feed.rows[idx];
34683
+
34684
+ // let str = '';
34685
+
34686
+ // for (const [key, val] of Object.entries(data)) {
34687
+ // if (exclude_vars.includes(key)) continue;
34688
+ // str += typeof val !== 'undefined' ? JSON.stringify(val) : '';
34689
+ // }
34690
+
34691
+ // if (typeof _ds.parentDataSourceNo !== 'undefined') {
34692
+ // str += await get_xu_render_cache_str(SESSION_ID, _ds.parentDataSourceNo);
34693
+ // }
34694
+
34695
+ // return 'C-' + (await func.common.sha256(str));
34696
+ // };
34662
34697
  func.UI.component = {};
34663
34698
 
34664
34699
  func.UI.component.create_app_modal_component = function (