@xuda.io/runtime-bundle 1.0.1059 → 1.0.1061

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.
@@ -4654,6 +4654,14 @@ func.datasource.del = function (SESSION_ID, dsP) {
4654
4654
  delete SCREEN_BLOCKER_OBJ[SESSION_OBJ[SESSION_ID].DS_GLB[dsP].screenId + '_' + SESSION_OBJ[SESSION_ID].DS_GLB[dsP].callingScreenId];
4655
4655
 
4656
4656
  delete_pending_jobs();
4657
+
4658
+ for (const [ui_cache_key, ui_cache_val] of Object.entries(UI_WORKER_OBJ.xu_render_cache)) {
4659
+ for (const [cache_key, cache_val] of Object.entries(ui_cache_val)) {
4660
+ if (cache_val.paramsP.dsSessionP === dsP) {
4661
+ delete UI_WORKER_OBJ.xu_render_cache[ui_cache_key][cache_key];
4662
+ }
4663
+ }
4664
+ }
4657
4665
  }
4658
4666
  if ($(SESSION_OBJ[SESSION_ID].root_element).find('xu-nav').length) {
4659
4667
  var ds_obj = $(SESSION_OBJ[SESSION_ID].root_element).find('xu-nav')?.data()?.xuData.nav_params;
@@ -12657,8 +12665,8 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
12657
12665
  const xu_ui_id = $elm.attr('xu-ui-id');
12658
12666
  let new_$div = UI_WORKER_OBJ?.xu_render_cache?.[xu_ui_id]?.[xu_render_cache_id]?.$div.clone(true);
12659
12667
 
12660
- if (!new_$div) {
12661
- UI_WORKER_OBJ.xu_render_cache[xu_ui_id][xu_render_cache_id] = {};
12668
+ if (!new_$div || !new_$div.$div) {
12669
+ UI_WORKER_OBJ.xu_render_cache[xu_ui_id][xu_render_cache_id] = { paramsP };
12662
12670
  nodeP.xu_render_xu_ui_id = xu_ui_id;
12663
12671
  nodeP.xu_render_cache_id = xu_render_cache_id;
12664
12672
  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);
@@ -14710,7 +14718,7 @@ func.UI.screen.render_ui_tree = async function (SESSION_ID, $container, nodeP, p
14710
14718
  UI_WORKER_OBJ.xu_render_cache[xu_ui_id] = {};
14711
14719
  }
14712
14720
  const xu_render_cache_id = await get_xu_render_cache_str(SESSION_ID, paramsP.dsSessionP);
14713
- UI_WORKER_OBJ.xu_render_cache[xu_ui_id][xu_render_cache_id] = { $div: $div.clone(true) };
14721
+ UI_WORKER_OBJ.xu_render_cache[xu_ui_id][xu_render_cache_id] = { $div: $div.clone(true), paramsP };
14714
14722
  nodeP.xu_render_xu_ui_id = xu_ui_id;
14715
14723
  nodeP.xu_render_cache_id = xu_render_cache_id;
14716
14724
  if (ret.xu_render_in_process) {
@@ -14905,6 +14913,18 @@ func.UI.screen.refresh_document_changes_for_realtime_update = async function (SE
14905
14913
  }
14906
14914
  }
14907
14915
  }
14916
+
14917
+ ////////
14918
+ for (const [ui_cache_key, ui_cache_val] of Object.entries(UI_WORKER_OBJ.xu_render_cache)) {
14919
+ for (const [cache_key, cache_val] of Object.entries(ui_cache_val)) {
14920
+ // const dsP=cache_val.paramsP.dsSessionP
14921
+ let prog_obj = await func.utils.VIEWS_OBJ.get(SESSION_ID, cache_val.paramsP.prog_id);
14922
+ if (prog_obj?.progDataSource?.dataSourceTableId === doc_change.table_id) {
14923
+ // UI_WORKER_OBJ.xu_render_cache[ui_cache_key][cache_key];
14924
+ cache_val.$div = null;
14925
+ }
14926
+ }
14927
+ }
14908
14928
  };
14909
14929
 
14910
14930
  const get_xu_render_cache_str = async function (SESSION_ID, dsSessionP) {
@@ -4655,6 +4655,14 @@ func.datasource.del = function (SESSION_ID, dsP) {
4655
4655
  delete SCREEN_BLOCKER_OBJ[SESSION_OBJ[SESSION_ID].DS_GLB[dsP].screenId + '_' + SESSION_OBJ[SESSION_ID].DS_GLB[dsP].callingScreenId];
4656
4656
 
4657
4657
  delete_pending_jobs();
4658
+
4659
+ for (const [ui_cache_key, ui_cache_val] of Object.entries(UI_WORKER_OBJ.xu_render_cache)) {
4660
+ for (const [cache_key, cache_val] of Object.entries(ui_cache_val)) {
4661
+ if (cache_val.paramsP.dsSessionP === dsP) {
4662
+ delete UI_WORKER_OBJ.xu_render_cache[ui_cache_key][cache_key];
4663
+ }
4664
+ }
4665
+ }
4658
4666
  }
4659
4667
  if ($(SESSION_OBJ[SESSION_ID].root_element).find('xu-nav').length) {
4660
4668
  var ds_obj = $(SESSION_OBJ[SESSION_ID].root_element).find('xu-nav')?.data()?.xuData.nav_params;
@@ -10382,8 +10390,8 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
10382
10390
  const xu_ui_id = $elm.attr('xu-ui-id');
10383
10391
  let new_$div = UI_WORKER_OBJ?.xu_render_cache?.[xu_ui_id]?.[xu_render_cache_id]?.$div.clone(true);
10384
10392
 
10385
- if (!new_$div) {
10386
- UI_WORKER_OBJ.xu_render_cache[xu_ui_id][xu_render_cache_id] = {};
10393
+ if (!new_$div || !new_$div.$div) {
10394
+ UI_WORKER_OBJ.xu_render_cache[xu_ui_id][xu_render_cache_id] = { paramsP };
10387
10395
  nodeP.xu_render_xu_ui_id = xu_ui_id;
10388
10396
  nodeP.xu_render_cache_id = xu_render_cache_id;
10389
10397
  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);
@@ -12435,7 +12443,7 @@ func.UI.screen.render_ui_tree = async function (SESSION_ID, $container, nodeP, p
12435
12443
  UI_WORKER_OBJ.xu_render_cache[xu_ui_id] = {};
12436
12444
  }
12437
12445
  const xu_render_cache_id = await get_xu_render_cache_str(SESSION_ID, paramsP.dsSessionP);
12438
- UI_WORKER_OBJ.xu_render_cache[xu_ui_id][xu_render_cache_id] = { $div: $div.clone(true) };
12446
+ UI_WORKER_OBJ.xu_render_cache[xu_ui_id][xu_render_cache_id] = { $div: $div.clone(true), paramsP };
12439
12447
  nodeP.xu_render_xu_ui_id = xu_ui_id;
12440
12448
  nodeP.xu_render_cache_id = xu_render_cache_id;
12441
12449
  if (ret.xu_render_in_process) {
@@ -12630,6 +12638,18 @@ func.UI.screen.refresh_document_changes_for_realtime_update = async function (SE
12630
12638
  }
12631
12639
  }
12632
12640
  }
12641
+
12642
+ ////////
12643
+ for (const [ui_cache_key, ui_cache_val] of Object.entries(UI_WORKER_OBJ.xu_render_cache)) {
12644
+ for (const [cache_key, cache_val] of Object.entries(ui_cache_val)) {
12645
+ // const dsP=cache_val.paramsP.dsSessionP
12646
+ let prog_obj = await func.utils.VIEWS_OBJ.get(SESSION_ID, cache_val.paramsP.prog_id);
12647
+ if (prog_obj?.progDataSource?.dataSourceTableId === doc_change.table_id) {
12648
+ // UI_WORKER_OBJ.xu_render_cache[ui_cache_key][cache_key];
12649
+ cache_val.$div = null;
12650
+ }
12651
+ }
12652
+ }
12633
12653
  };
12634
12654
 
12635
12655
  const get_xu_render_cache_str = async function (SESSION_ID, dsSessionP) {