@xuda.io/runtime-bundle 1.0.714 → 1.0.715

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.
@@ -11189,7 +11189,7 @@ func.expression.secure_eval = async function (SESSION_ID, sourceP, val, job_id,
11189
11189
  }
11190
11190
  };
11191
11191
  func.UI.screen = {};
11192
- func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callingDataSource_objP, $callingContainerP, triggerIdP, rowIdP, jobNoP, is_panelP, parameters_obj_inP, source_functionP, call_screen_propertiesP, refreshed_ds) {
11192
+ func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callingDataSource_objP, $callingContainerP, triggerIdP, rowIdP, jobNoP, is_panelP, parameters_obj_inP, source_functionP, call_screen_propertiesP, refreshed_ds, parameters_raw_obj) {
11193
11193
  if (!prog_id) return console.error('program is empty');
11194
11194
  let screen_ret = await func.utils.get_screen_obj(SESSION_ID, prog_id);
11195
11195
  if (!screen_ret) return console.error('program is not a screen object');
@@ -11242,6 +11242,7 @@ func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callin
11242
11242
  screenInfo,
11243
11243
  call_screen_propertiesP,
11244
11244
  parentDataSourceNoP: _session.DS_GLB?.[callingDataSource_objP?.dsSession]?.dsSession || callingDataSource_objP?.parentDataSourceNo || 0,
11245
+ parameters_raw_obj,
11245
11246
  };
11246
11247
 
11247
11248
  switch (screen_type) {
@@ -11408,7 +11409,7 @@ func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callin
11408
11409
  rowIdP,
11409
11410
  jobNoP,
11410
11411
  null,
11411
- null,
11412
+ parameters_raw_obj,
11412
11413
  null,
11413
11414
  null,
11414
11415
  null,
@@ -11869,71 +11870,71 @@ func.UI.screen.refresh_screen = async function (SESSION_ID, fields_changed_arr,
11869
11870
  }
11870
11871
  };
11871
11872
 
11872
- // check the main program
11873
- if (fields_changed_datasource) {
11874
- const _session = SESSION_OBJ[SESSION_ID];
11875
- const _ds = _session.DS_GLB[fields_changed_datasource];
11876
- const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, _ds.prog_id);
11877
- if (prog_doc.progUi) {
11878
- validate_change(prog_doc, null, true);
11879
- if (found) {
11880
- const $elm = $(`#container_${_ds.prog_id}_0`);
11881
- if ($elm?.length) {
11882
- const elm_data = $elm.data();
11883
- const $wrapper = $elm.parent();
11884
- // const wrapper_data = $wrapper.data();
11885
- const refreshed_ds = _ds.dsSession;
11886
-
11887
- // let elm_to_delete = [];
11888
- // const ts = Date.now();
11889
- // $.each($elm.find('xu-root-component-' + SESSION_ID).find('*'), function (key, val) {
11890
- // let xu_ui_id = $(val).attr('xu-ui-id');
11891
- // if (xu_ui_id) {
11892
- // let new_id = xu_ui_id + ts;
11893
- // elm_to_delete.push(new_id);
11894
-
11895
- // $(val).attr('xu-ui-id', new_id).removeData();
11896
- // }
11897
- // // else {
11898
- // // $(val).remove();
11899
- // // }
11900
- // });
11901
-
11902
- $elm.empty();
11903
- if ($elm.data()) {
11904
- const new_$div = await func.UI.screen.render_ui_tree(
11905
- SESSION_ID,
11906
- $elm, // the wrapper
11907
- _.cloneDeep($elm.data().xuData.node), // the xu-panel node
11908
- {},
11909
- elm_data.xuData.paramsP, // the wrapper params
11910
- null,
11911
- null,
11912
- elm_data.xuData.key, // the wrapper key
11913
- refreshed_ds, // the refreshed_ds
11914
- elm_data.xuData.parent_node, // the wrapper parent node
11915
- null,
11916
- elm_data.xuData.$root_container, // the wrapper root container
11917
- );
11918
-
11919
- // // remove old screen content
11920
- // $.each(elm_to_delete, async function (key, val) {
11921
- // $("[xu-ui-id='" + elm_to_delete + "']").remove();
11922
- // });
11923
-
11924
- if (_session.engine_mode === 'live_preview') {
11925
- console.info('========= refresh main info ==============');
11926
- console.info('reason:', refresh_reason);
11927
- console.info('element:', $elm);
11928
- console.info('==========================================');
11929
- }
11930
-
11931
- return;
11932
- }
11933
- }
11934
- }
11935
- }
11936
- }
11873
+ // // check the main program
11874
+ // if (fields_changed_datasource) {
11875
+ // const _session = SESSION_OBJ[SESSION_ID];
11876
+ // const _ds = _session.DS_GLB[fields_changed_datasource];
11877
+ // const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, _ds.prog_id);
11878
+ // if (prog_doc.progUi) {
11879
+ // validate_change(prog_doc, null, true);
11880
+ // if (found) {
11881
+ // const $elm = $(`#container_${_ds.prog_id}_0`);
11882
+ // if ($elm?.length) {
11883
+ // const elm_data = $elm.data();
11884
+ // const $wrapper = $elm.parent();
11885
+ // // const wrapper_data = $wrapper.data();
11886
+ // const refreshed_ds = _ds.dsSession;
11887
+
11888
+ // // let elm_to_delete = [];
11889
+ // // const ts = Date.now();
11890
+ // // $.each($elm.find('xu-root-component-' + SESSION_ID).find('*'), function (key, val) {
11891
+ // // let xu_ui_id = $(val).attr('xu-ui-id');
11892
+ // // if (xu_ui_id) {
11893
+ // // let new_id = xu_ui_id + ts;
11894
+ // // elm_to_delete.push(new_id);
11895
+
11896
+ // // $(val).attr('xu-ui-id', new_id).removeData();
11897
+ // // }
11898
+ // // // else {
11899
+ // // // $(val).remove();
11900
+ // // // }
11901
+ // // });
11902
+
11903
+ // $elm.empty();
11904
+ // if ($elm.data()) {
11905
+ // const new_$div = await func.UI.screen.render_ui_tree(
11906
+ // SESSION_ID,
11907
+ // $elm, // the wrapper
11908
+ // _.cloneDeep($elm.data().xuData.node), // the xu-panel node
11909
+ // {},
11910
+ // elm_data.xuData.paramsP, // the wrapper params
11911
+ // null,
11912
+ // null,
11913
+ // elm_data.xuData.key, // the wrapper key
11914
+ // refreshed_ds, // the refreshed_ds
11915
+ // elm_data.xuData.parent_node, // the wrapper parent node
11916
+ // null,
11917
+ // elm_data.xuData.$root_container, // the wrapper root container
11918
+ // );
11919
+
11920
+ // // // remove old screen content
11921
+ // // $.each(elm_to_delete, async function (key, val) {
11922
+ // // $("[xu-ui-id='" + elm_to_delete + "']").remove();
11923
+ // // });
11924
+
11925
+ // if (_session.engine_mode === 'live_preview') {
11926
+ // console.info('========= refresh main info ==============');
11927
+ // console.info('reason:', refresh_reason);
11928
+ // console.info('element:', $elm);
11929
+ // console.info('==========================================');
11930
+ // }
11931
+
11932
+ // return;
11933
+ // }
11934
+ // }
11935
+ // }
11936
+ // }
11937
+ // }
11937
11938
 
11938
11939
  const panels_obj = await func.UI.utils.get_panels_wrapper_from_dom(SESSION_ID, $(SESSION_OBJ[SESSION_ID].root_element), false);
11939
11940
 
@@ -12184,43 +12185,32 @@ const get_params_obj_new = async function (SESSION_ID, prog_id, nodeP, dsSession
12184
12185
  if (!_prog) return;
12185
12186
 
12186
12187
  // get in parameters
12187
- var params_obj = {};
12188
+ let params_res = {},
12189
+ params_raw = {};
12188
12190
  if (_prog?.properties?.progParams) {
12189
12191
  for await (const [key, val] of Object.entries(_prog.properties.progParams)) {
12190
12192
  if (!['in', 'out'].includes(val.data.dir)) continue;
12191
12193
 
12192
12194
  if (nodeP.attributes) {
12193
12195
  if (nodeP.attributes[val.data.parameter]) {
12194
- params_obj[val.data.parameter] = nodeP.attributes[val.data.parameter];
12196
+ params_res[val.data.parameter] = nodeP.attributes[val.data.parameter];
12195
12197
  } else if (nodeP.attributes[`xu-exp:${val.data.parameter}`]) {
12196
12198
  if (val.data.dir == 'out') {
12197
12199
  // only reference
12198
- params_obj[val.data.parameter] = nodeP.attributes[`xu-exp:${val.data.parameter}`].replaceAll('@', '');
12200
+ params_res[val.data.parameter] = nodeP.attributes[`xu-exp:${val.data.parameter}`].replaceAll('@', '');
12199
12201
  } else {
12200
12202
  // in parameter
12201
12203
  let ret = await func.expression.get(SESSION_ID, nodeP.attributes[`xu-exp:${val.data.parameter}`], dsSession, 'parameters');
12202
- params_obj[val.data.parameter] = ret.result;
12204
+ params_res[val.data.parameter] = ret.result;
12205
+ params_raw[val.data.parameter] = nodeP.attributes[`xu-exp:${val.data.parameter}`];
12203
12206
  }
12204
12207
  }
12205
-
12206
- // if (parameters_obj_inP?.[val.data.parameter].fx) {
12207
- // let ret = await func.expression.get(
12208
- // SESSION_ID,
12209
- // parameters_obj_inP?.[val.data.parameter].fx,
12210
- // dsSession,
12211
- // "parameters"
12212
- // );
12213
- // params_obj[val.data.parameter] = ret.result;
12214
- // } else {
12215
- // params_obj[val.data.parameter] =
12216
- // parameters_obj_inP?.[val.data.parameter].value;
12217
- // }
12218
12208
  continue;
12219
12209
  }
12220
12210
  console.warn(`Warning: Program ${_prog.properties.menuName} expected In parameter: ${val.data.parameter} but received null instead`);
12221
12211
  }
12222
12212
  }
12223
- return params_obj;
12213
+ return { params_res, params_raw };
12224
12214
  };
12225
12215
 
12226
12216
  func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $root_container, nodeP, $container, paramsP, parent_infoP, jobNoP, keyP, parent_nodeP, xu_func, $elm, val, is_init, refreshed_ds) {
@@ -12237,8 +12227,8 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
12237
12227
  const init_program = async function () {
12238
12228
  async function render_panel() {
12239
12229
  const prog_id = val.value?.prog || val.value;
12240
- const param_obj = await get_params_obj_new(SESSION_ID, prog_id, nodeP, paramsP.dsSessionP);
12241
- let ret_panel = await func.UI.screen.init(SESSION_ID, prog_id, paramsP.screenId, _ds, $elm, null, _ds.currentRecordId, null, true, param_obj, 'initXu_panel', undefined, prog_id !== _ds.prog_id ? null : refreshed_ds);
12230
+ const params_obj = await get_params_obj_new(SESSION_ID, prog_id, nodeP, paramsP.dsSessionP);
12231
+ let ret_panel = await func.UI.screen.init(SESSION_ID, prog_id, paramsP.screenId, _ds, $elm, null, _ds.currentRecordId, null, true, params_obj.params_res, 'initXu_panel', undefined, prog_id !== _ds.prog_id ? null : refreshed_ds, params_obj.params_raw);
12242
12232
  ret = { $new_div: ret_panel };
12243
12233
  $container.data().xuData.xuPanelProps = $elm.data().xuAttributes;
12244
12234
  $container.data().xuData.xuPanelData = ret_panel.data();
@@ -12287,8 +12277,8 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
12287
12277
  const program = val.value?.prog || val.value;
12288
12278
  var $wrapper = $('<div>');
12289
12279
  var $div = func.UI.screen.create_container(SESSION_ID, $root_container, nodeP, $container, paramsP, parent_infoP, jobNoP, keyP, parent_nodeP, nodeP.attributes, null, null, null, $wrapper, '');
12290
- const param_obj = await get_params_obj_new(SESSION_ID, program, nodeP, paramsP.dsSessionP);
12291
- let ret_init = await func.UI.screen.init(SESSION_ID, program, paramsP.screenId, _ds, $div, null, _ds.currentRecordId, jobNoP, true, param_obj, 'alterXu_panel');
12280
+ const params_obj = await get_params_obj_new(SESSION_ID, program, nodeP, paramsP.dsSessionP);
12281
+ let ret_init = await func.UI.screen.init(SESSION_ID, program, paramsP.screenId, _ds, $div, null, _ds.currentRecordId, jobNoP, true, params_obj.params_res, 'alterXu_panel', undefined, undefined, params_obj.params_raw);
12292
12282
  ret = {
12293
12283
  $new_div: ret_init,
12294
12284
  abort: true,
@@ -8911,7 +8911,7 @@ func.UI.find_field_in_progUi_attributes = function (progUi, field_id, prop, tag_
8911
8911
  return elm_nodes;
8912
8912
  };
8913
8913
  func.UI.screen = {};
8914
- func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callingDataSource_objP, $callingContainerP, triggerIdP, rowIdP, jobNoP, is_panelP, parameters_obj_inP, source_functionP, call_screen_propertiesP, refreshed_ds) {
8914
+ func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callingDataSource_objP, $callingContainerP, triggerIdP, rowIdP, jobNoP, is_panelP, parameters_obj_inP, source_functionP, call_screen_propertiesP, refreshed_ds, parameters_raw_obj) {
8915
8915
  if (!prog_id) return console.error('program is empty');
8916
8916
  let screen_ret = await func.utils.get_screen_obj(SESSION_ID, prog_id);
8917
8917
  if (!screen_ret) return console.error('program is not a screen object');
@@ -8964,6 +8964,7 @@ func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callin
8964
8964
  screenInfo,
8965
8965
  call_screen_propertiesP,
8966
8966
  parentDataSourceNoP: _session.DS_GLB?.[callingDataSource_objP?.dsSession]?.dsSession || callingDataSource_objP?.parentDataSourceNo || 0,
8967
+ parameters_raw_obj,
8967
8968
  };
8968
8969
 
8969
8970
  switch (screen_type) {
@@ -9130,7 +9131,7 @@ func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callin
9130
9131
  rowIdP,
9131
9132
  jobNoP,
9132
9133
  null,
9133
- null,
9134
+ parameters_raw_obj,
9134
9135
  null,
9135
9136
  null,
9136
9137
  null,
@@ -9591,71 +9592,71 @@ func.UI.screen.refresh_screen = async function (SESSION_ID, fields_changed_arr,
9591
9592
  }
9592
9593
  };
9593
9594
 
9594
- // check the main program
9595
- if (fields_changed_datasource) {
9596
- const _session = SESSION_OBJ[SESSION_ID];
9597
- const _ds = _session.DS_GLB[fields_changed_datasource];
9598
- const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, _ds.prog_id);
9599
- if (prog_doc.progUi) {
9600
- validate_change(prog_doc, null, true);
9601
- if (found) {
9602
- const $elm = $(`#container_${_ds.prog_id}_0`);
9603
- if ($elm?.length) {
9604
- const elm_data = $elm.data();
9605
- const $wrapper = $elm.parent();
9606
- // const wrapper_data = $wrapper.data();
9607
- const refreshed_ds = _ds.dsSession;
9608
-
9609
- // let elm_to_delete = [];
9610
- // const ts = Date.now();
9611
- // $.each($elm.find('xu-root-component-' + SESSION_ID).find('*'), function (key, val) {
9612
- // let xu_ui_id = $(val).attr('xu-ui-id');
9613
- // if (xu_ui_id) {
9614
- // let new_id = xu_ui_id + ts;
9615
- // elm_to_delete.push(new_id);
9616
-
9617
- // $(val).attr('xu-ui-id', new_id).removeData();
9618
- // }
9619
- // // else {
9620
- // // $(val).remove();
9621
- // // }
9622
- // });
9623
-
9624
- $elm.empty();
9625
- if ($elm.data()) {
9626
- const new_$div = await func.UI.screen.render_ui_tree(
9627
- SESSION_ID,
9628
- $elm, // the wrapper
9629
- _.cloneDeep($elm.data().xuData.node), // the xu-panel node
9630
- {},
9631
- elm_data.xuData.paramsP, // the wrapper params
9632
- null,
9633
- null,
9634
- elm_data.xuData.key, // the wrapper key
9635
- refreshed_ds, // the refreshed_ds
9636
- elm_data.xuData.parent_node, // the wrapper parent node
9637
- null,
9638
- elm_data.xuData.$root_container, // the wrapper root container
9639
- );
9640
-
9641
- // // remove old screen content
9642
- // $.each(elm_to_delete, async function (key, val) {
9643
- // $("[xu-ui-id='" + elm_to_delete + "']").remove();
9644
- // });
9645
-
9646
- if (_session.engine_mode === 'live_preview') {
9647
- console.info('========= refresh main info ==============');
9648
- console.info('reason:', refresh_reason);
9649
- console.info('element:', $elm);
9650
- console.info('==========================================');
9651
- }
9652
-
9653
- return;
9654
- }
9655
- }
9656
- }
9657
- }
9658
- }
9595
+ // // check the main program
9596
+ // if (fields_changed_datasource) {
9597
+ // const _session = SESSION_OBJ[SESSION_ID];
9598
+ // const _ds = _session.DS_GLB[fields_changed_datasource];
9599
+ // const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, _ds.prog_id);
9600
+ // if (prog_doc.progUi) {
9601
+ // validate_change(prog_doc, null, true);
9602
+ // if (found) {
9603
+ // const $elm = $(`#container_${_ds.prog_id}_0`);
9604
+ // if ($elm?.length) {
9605
+ // const elm_data = $elm.data();
9606
+ // const $wrapper = $elm.parent();
9607
+ // // const wrapper_data = $wrapper.data();
9608
+ // const refreshed_ds = _ds.dsSession;
9609
+
9610
+ // // let elm_to_delete = [];
9611
+ // // const ts = Date.now();
9612
+ // // $.each($elm.find('xu-root-component-' + SESSION_ID).find('*'), function (key, val) {
9613
+ // // let xu_ui_id = $(val).attr('xu-ui-id');
9614
+ // // if (xu_ui_id) {
9615
+ // // let new_id = xu_ui_id + ts;
9616
+ // // elm_to_delete.push(new_id);
9617
+
9618
+ // // $(val).attr('xu-ui-id', new_id).removeData();
9619
+ // // }
9620
+ // // // else {
9621
+ // // // $(val).remove();
9622
+ // // // }
9623
+ // // });
9624
+
9625
+ // $elm.empty();
9626
+ // if ($elm.data()) {
9627
+ // const new_$div = await func.UI.screen.render_ui_tree(
9628
+ // SESSION_ID,
9629
+ // $elm, // the wrapper
9630
+ // _.cloneDeep($elm.data().xuData.node), // the xu-panel node
9631
+ // {},
9632
+ // elm_data.xuData.paramsP, // the wrapper params
9633
+ // null,
9634
+ // null,
9635
+ // elm_data.xuData.key, // the wrapper key
9636
+ // refreshed_ds, // the refreshed_ds
9637
+ // elm_data.xuData.parent_node, // the wrapper parent node
9638
+ // null,
9639
+ // elm_data.xuData.$root_container, // the wrapper root container
9640
+ // );
9641
+
9642
+ // // // remove old screen content
9643
+ // // $.each(elm_to_delete, async function (key, val) {
9644
+ // // $("[xu-ui-id='" + elm_to_delete + "']").remove();
9645
+ // // });
9646
+
9647
+ // if (_session.engine_mode === 'live_preview') {
9648
+ // console.info('========= refresh main info ==============');
9649
+ // console.info('reason:', refresh_reason);
9650
+ // console.info('element:', $elm);
9651
+ // console.info('==========================================');
9652
+ // }
9653
+
9654
+ // return;
9655
+ // }
9656
+ // }
9657
+ // }
9658
+ // }
9659
+ // }
9659
9660
 
9660
9661
  const panels_obj = await func.UI.utils.get_panels_wrapper_from_dom(SESSION_ID, $(SESSION_OBJ[SESSION_ID].root_element), false);
9661
9662
 
@@ -9906,43 +9907,32 @@ const get_params_obj_new = async function (SESSION_ID, prog_id, nodeP, dsSession
9906
9907
  if (!_prog) return;
9907
9908
 
9908
9909
  // get in parameters
9909
- var params_obj = {};
9910
+ let params_res = {},
9911
+ params_raw = {};
9910
9912
  if (_prog?.properties?.progParams) {
9911
9913
  for await (const [key, val] of Object.entries(_prog.properties.progParams)) {
9912
9914
  if (!['in', 'out'].includes(val.data.dir)) continue;
9913
9915
 
9914
9916
  if (nodeP.attributes) {
9915
9917
  if (nodeP.attributes[val.data.parameter]) {
9916
- params_obj[val.data.parameter] = nodeP.attributes[val.data.parameter];
9918
+ params_res[val.data.parameter] = nodeP.attributes[val.data.parameter];
9917
9919
  } else if (nodeP.attributes[`xu-exp:${val.data.parameter}`]) {
9918
9920
  if (val.data.dir == 'out') {
9919
9921
  // only reference
9920
- params_obj[val.data.parameter] = nodeP.attributes[`xu-exp:${val.data.parameter}`].replaceAll('@', '');
9922
+ params_res[val.data.parameter] = nodeP.attributes[`xu-exp:${val.data.parameter}`].replaceAll('@', '');
9921
9923
  } else {
9922
9924
  // in parameter
9923
9925
  let ret = await func.expression.get(SESSION_ID, nodeP.attributes[`xu-exp:${val.data.parameter}`], dsSession, 'parameters');
9924
- params_obj[val.data.parameter] = ret.result;
9926
+ params_res[val.data.parameter] = ret.result;
9927
+ params_raw[val.data.parameter] = nodeP.attributes[`xu-exp:${val.data.parameter}`];
9925
9928
  }
9926
9929
  }
9927
-
9928
- // if (parameters_obj_inP?.[val.data.parameter].fx) {
9929
- // let ret = await func.expression.get(
9930
- // SESSION_ID,
9931
- // parameters_obj_inP?.[val.data.parameter].fx,
9932
- // dsSession,
9933
- // "parameters"
9934
- // );
9935
- // params_obj[val.data.parameter] = ret.result;
9936
- // } else {
9937
- // params_obj[val.data.parameter] =
9938
- // parameters_obj_inP?.[val.data.parameter].value;
9939
- // }
9940
9930
  continue;
9941
9931
  }
9942
9932
  console.warn(`Warning: Program ${_prog.properties.menuName} expected In parameter: ${val.data.parameter} but received null instead`);
9943
9933
  }
9944
9934
  }
9945
- return params_obj;
9935
+ return { params_res, params_raw };
9946
9936
  };
9947
9937
 
9948
9938
  func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $root_container, nodeP, $container, paramsP, parent_infoP, jobNoP, keyP, parent_nodeP, xu_func, $elm, val, is_init, refreshed_ds) {
@@ -9959,8 +9949,8 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
9959
9949
  const init_program = async function () {
9960
9950
  async function render_panel() {
9961
9951
  const prog_id = val.value?.prog || val.value;
9962
- const param_obj = await get_params_obj_new(SESSION_ID, prog_id, nodeP, paramsP.dsSessionP);
9963
- let ret_panel = await func.UI.screen.init(SESSION_ID, prog_id, paramsP.screenId, _ds, $elm, null, _ds.currentRecordId, null, true, param_obj, 'initXu_panel', undefined, prog_id !== _ds.prog_id ? null : refreshed_ds);
9952
+ const params_obj = await get_params_obj_new(SESSION_ID, prog_id, nodeP, paramsP.dsSessionP);
9953
+ let ret_panel = await func.UI.screen.init(SESSION_ID, prog_id, paramsP.screenId, _ds, $elm, null, _ds.currentRecordId, null, true, params_obj.params_res, 'initXu_panel', undefined, prog_id !== _ds.prog_id ? null : refreshed_ds, params_obj.params_raw);
9964
9954
  ret = { $new_div: ret_panel };
9965
9955
  $container.data().xuData.xuPanelProps = $elm.data().xuAttributes;
9966
9956
  $container.data().xuData.xuPanelData = ret_panel.data();
@@ -10009,8 +9999,8 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
10009
9999
  const program = val.value?.prog || val.value;
10010
10000
  var $wrapper = $('<div>');
10011
10001
  var $div = func.UI.screen.create_container(SESSION_ID, $root_container, nodeP, $container, paramsP, parent_infoP, jobNoP, keyP, parent_nodeP, nodeP.attributes, null, null, null, $wrapper, '');
10012
- const param_obj = await get_params_obj_new(SESSION_ID, program, nodeP, paramsP.dsSessionP);
10013
- let ret_init = await func.UI.screen.init(SESSION_ID, program, paramsP.screenId, _ds, $div, null, _ds.currentRecordId, jobNoP, true, param_obj, 'alterXu_panel');
10002
+ const params_obj = await get_params_obj_new(SESSION_ID, program, nodeP, paramsP.dsSessionP);
10003
+ let ret_init = await func.UI.screen.init(SESSION_ID, program, paramsP.screenId, _ds, $div, null, _ds.currentRecordId, jobNoP, true, params_obj.params_res, 'alterXu_panel', undefined, undefined, params_obj.params_raw);
10014
10004
  ret = {
10015
10005
  $new_div: ret_init,
10016
10006
  abort: true,