@xuda.io/runtime-bundle 1.0.719 → 1.0.720

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.
@@ -2899,7 +2899,7 @@ func.datasource.create = async function (
2899
2899
  rowIdP,
2900
2900
  jobNoP,
2901
2901
  calling_trigger_prop,
2902
- screen_param,
2902
+ parameters_raw_obj,
2903
2903
  NA_isInitP,
2904
2904
  NA_callingSourceP,
2905
2905
  calling_jobP,
@@ -2932,6 +2932,7 @@ func.datasource.create = async function (
2932
2932
  parameters_obj_inP,
2933
2933
  static_refreshP,
2934
2934
  worker_id,
2935
+ parameters_raw_obj,
2935
2936
  };
2936
2937
 
2937
2938
  var IS_DATASOURCE_REFRESH = null;
@@ -3067,7 +3068,7 @@ func.datasource.create = async function (
3067
3068
  args.rowIdP,
3068
3069
  args.jobNoP,
3069
3070
  args.calling_trigger_prop,
3070
- null,
3071
+ args.parameters_raw_obj,
3071
3072
  null,
3072
3073
  null,
3073
3074
  args.calling_jobP,
@@ -3108,7 +3109,7 @@ func.datasource.create = async function (
3108
3109
  return done(SESSION_ID, jsonP.dsSession, true);
3109
3110
  });
3110
3111
  };
3111
- func.datasource.prepare = async function (SESSION_ID, prog_id, dataSourceNoP, parentDataSourceNoP, containerIdP, rowIdP, jobNoP, calling_trigger_prop, NA_screen_param, NA_isInitP, callingSourceP, calling_jobP, NA_screen_dsP, is_panelP, parameters_obj_inP, static_refreshP, run_atP, worker_id) {
3112
+ func.datasource.prepare = async function (SESSION_ID, prog_id, dataSourceNoP, parentDataSourceNoP, containerIdP, rowIdP, jobNoP, calling_trigger_prop, parameters_raw_obj, NA_isInitP, callingSourceP, calling_jobP, NA_screen_dsP, is_panelP, parameters_obj_inP, static_refreshP, run_atP, worker_id) {
3112
3113
  const set_parameters = async function () {
3113
3114
  var _session = SESSION_OBJ[SESSION_ID];
3114
3115
  const get_Out_parameters = async function (fieldIdP, located_field_param_idxP, param_row_idP) {
@@ -3237,6 +3238,7 @@ func.datasource.prepare = async function (SESSION_ID, prog_id, dataSourceNoP, pa
3237
3238
  static_refreshP,
3238
3239
  run_atP,
3239
3240
  worker_id,
3241
+ parameters_raw_obj,
3240
3242
  };
3241
3243
 
3242
3244
  var dataSourceSession = null;
@@ -4155,7 +4157,7 @@ func.datasource.run_events_functions = async function (SESSION_ID, dataSourceSes
4155
4157
  clearInterval(interval);
4156
4158
  resolve(job_num);
4157
4159
  }
4158
- if (i > 20) {
4160
+ if (i > 50) {
4159
4161
  console.error('deadlock detected');
4160
4162
  clearInterval(interval);
4161
4163
  resolve(job_num);
@@ -4893,6 +4895,18 @@ func.datasource.update = async function (SESSION_ID, datasource_changes, update_
4893
4895
 
4894
4896
  if (!fields_changed.includes(field_id)) {
4895
4897
  fields_changed.push(field_id);
4898
+
4899
+ ///// REFRESH PARAMETERS IN
4900
+ // for (const [_dsSession, _ds] of Object.entries(_session.DS_GLB)) {
4901
+ // if (_ds.args.parameters_raw_obj) {
4902
+ // for (const [key, exp] of Object.entries(_ds.args.parameters_raw_obj)) {
4903
+ // if (exp.includes(field_id)) {
4904
+ // let ret = await func.expression.get(SESSION_ID, exp, _dsSession, 'parameters');
4905
+ // _ds.in_parameters[key].value = ret.result;
4906
+ // }
4907
+ // }
4908
+ // }
4909
+ // }
4896
4910
  }
4897
4911
  if (!datasource_changed.includes(dataSource)) {
4898
4912
  datasource_changed.push(dataSource);
@@ -4939,6 +4953,19 @@ func.datasource.update = async function (SESSION_ID, datasource_changes, update_
4939
4953
  datasource_changed[0], // refresh the current datasource only
4940
4954
  );
4941
4955
  }
4956
+ // ///// REFRESH PARAMETERS IN
4957
+ // if (fields_changed.length) {
4958
+ // for (const [_dsSession, _ds] of Object.entries(_session.DS_GLB)) {
4959
+ // if (_ds.args.parameters_raw_obj) {
4960
+ // for (const [key, val] of Object.entries(_ds.args.parameters_raw_obj)) {
4961
+ // if (fields_changed.includes(val)) {
4962
+ // let ret = await func.expression.get(SESSION_ID, '@' + val, _dsSession, 'parameters');
4963
+ // _ds.in_parameters[val].value = ret.result;
4964
+ // }
4965
+ // }
4966
+ // }
4967
+ // }
4968
+ // }
4942
4969
  }
4943
4970
  resolve();
4944
4971
  });
@@ -11162,7 +11189,7 @@ func.expression.secure_eval = async function (SESSION_ID, sourceP, val, job_id,
11162
11189
  }
11163
11190
  };
11164
11191
  func.UI.screen = {};
11165
- 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) {
11166
11193
  if (!prog_id) return console.error('program is empty');
11167
11194
  let screen_ret = await func.utils.get_screen_obj(SESSION_ID, prog_id);
11168
11195
  if (!screen_ret) return console.error('program is not a screen object');
@@ -11215,6 +11242,7 @@ func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callin
11215
11242
  screenInfo,
11216
11243
  call_screen_propertiesP,
11217
11244
  parentDataSourceNoP: _session.DS_GLB?.[callingDataSource_objP?.dsSession]?.dsSession || callingDataSource_objP?.parentDataSourceNo || 0,
11245
+ parameters_raw_obj,
11218
11246
  };
11219
11247
 
11220
11248
  switch (screen_type) {
@@ -11381,7 +11409,7 @@ func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callin
11381
11409
  rowIdP,
11382
11410
  jobNoP,
11383
11411
  null,
11384
- null,
11412
+ parameters_raw_obj,
11385
11413
  null,
11386
11414
  null,
11387
11415
  null,
@@ -11988,212 +12016,200 @@ func.UI.screen.refresh_screen = async function (SESSION_ID, fields_changed_arr,
11988
12016
  }
11989
12017
  };
11990
12018
 
11991
- // func.UI.screen.refresh_screen = async function (SESSION_ID, fields_changed_arr, datasource_changed, fields_changed_datasource) {
11992
- // // check the main program
11993
- // if (fields_changed_datasource) {
11994
- // const _session = SESSION_OBJ[SESSION_ID];
11995
- // const _ds = _session.DS_GLB[fields_changed_datasource];
11996
- // const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, _ds.prog_id);
11997
- // const progDataSource_str = JSON.stringify(prog_doc.progDataSource);
11998
- // for (const field_id of fields_changed_arr || []) {
11999
-
12000
- // }
12001
- // }
12019
+ func.UI.screen.refresh_screen_old = async function (SESSION_ID, fields_changed_arr, datasource_changed, fields_changed_datasource) {
12020
+ // check the main program
12021
+ if (fields_changed_datasource) {
12022
+ const _session = SESSION_OBJ[SESSION_ID];
12023
+ const _ds = _session.DS_GLB[fields_changed_datasource];
12024
+ const prog_doc = await func.utils.DOCS_OBJ.get(SESSION_ID, _ds.prog_id);
12025
+ const progDataSource_str = JSON.stringify(prog_doc.progDataSource);
12026
+ for (const field_id of fields_changed_arr || []) {
12027
+ }
12028
+ }
12002
12029
 
12003
- // const panels_obj = await func.UI.utils.get_panels_wrapper_from_dom(SESSION_ID, $(SESSION_OBJ[SESSION_ID].root_element), false);
12030
+ const panels_obj = await func.UI.utils.get_panels_wrapper_from_dom(SESSION_ID, $(SESSION_OBJ[SESSION_ID].root_element), false);
12004
12031
 
12005
- // for await (const [parent_element_ui_id, panel_val] of Object.entries(panels_obj)) {
12006
- // const progDataSource_str = JSON.stringify(panel_val.prog_doc.progDataSource);
12032
+ for await (const [parent_element_ui_id, panel_val] of Object.entries(panels_obj)) {
12033
+ const progDataSource_str = JSON.stringify(panel_val.prog_doc.progDataSource);
12007
12034
 
12008
- // var found, refresh_reason, refresh_details;
12009
- // if (fields_changed_arr) {
12010
- // if (fields_changed_datasource && panel_val._ds.dsSession <= Number(fields_changed_datasource)) {
12011
- // continue;
12012
- // }
12013
- // for (const field_id of fields_changed_arr) {
12014
- // // get panel attributes
12015
- // const _attributes = panel_val?.panelXuAttributes || {};
12035
+ var found, refresh_reason, refresh_details;
12036
+ if (fields_changed_arr) {
12037
+ if (fields_changed_datasource && panel_val._ds.dsSession <= Number(fields_changed_datasource)) {
12038
+ continue;
12039
+ }
12040
+ for (const field_id of fields_changed_arr) {
12041
+ // get panel attributes
12042
+ const _attributes = panel_val?.panelXuAttributes || {};
12016
12043
 
12017
- // // detect if program changed
12018
- // found = _attributes['xu-exp:program']?.includes('@' + field_id);
12044
+ // detect if program changed
12045
+ found = _attributes['xu-exp:program']?.includes('@' + field_id);
12019
12046
 
12020
- // if (found) {
12021
- // refresh_reason = `program ${_attributes['xu-exp:program']} ${field_id} changed `;
12022
- // refresh_details = _attributes;
12023
- // break;
12024
- // }
12047
+ if (found) {
12048
+ refresh_reason = `program ${_attributes['xu-exp:program']} ${field_id} changed `;
12049
+ refresh_details = _attributes;
12050
+ break;
12051
+ }
12025
12052
 
12026
- // // _attributes holds also info of parameters in code_in: @code
12027
- // // search field changed in panel call send parameters exp
12028
- // for (const [attr, value] of Object.entries(_attributes)) {
12029
- // const pattern = /xu-exp:(\w+)/;
12030
- // const match = attr.match(pattern);
12053
+ // _attributes holds also info of parameters in code_in: @code
12054
+ // search field changed in panel call send parameters exp
12055
+ for (const [attr, value] of Object.entries(_attributes)) {
12056
+ const pattern = /xu-exp:(\w+)/;
12057
+ const match = attr.match(pattern);
12031
12058
 
12032
- // if (!match) {
12033
- // // continue if attribute is not expression
12034
- // continue;
12035
- // }
12036
- // // code_in
12037
- // const parameter_in_field_id = match?.[1];
12038
- // // @code
12039
- // if (value.includes(field_id)) {
12040
- // // search parameter in field in the target program's progDataSource
12041
- // found = progDataSource_str?.includes('@' + parameter_in_field_id);
12059
+ if (!match) {
12060
+ // continue if attribute is not expression
12061
+ continue;
12062
+ }
12063
+ // code_in
12064
+ const parameter_in_field_id = match?.[1];
12065
+ // @code
12066
+ if (value.includes(field_id)) {
12067
+ // search parameter in field in the target program's progDataSource
12068
+ found = progDataSource_str?.includes('@' + parameter_in_field_id);
12042
12069
 
12043
- // if (found) {
12044
- // refresh_reason = `field ${field_id} in progDataSource parameter_in changed`;
12045
- // refresh_details = panel_val?.prog_doc?.progDataSource;
12070
+ if (found) {
12071
+ refresh_reason = `field ${field_id} in progDataSource parameter_in changed`;
12072
+ refresh_details = panel_val?.prog_doc?.progDataSource;
12046
12073
 
12047
- // break;
12048
- // }
12074
+ break;
12075
+ }
12049
12076
 
12050
- // // found = find_field_in_progUi(prog_doc.progUi, parameter_in_field_id, 'xu-for');
12051
- // found = func.UI.find_field_in_progUi_attributes(panel_val.prog_doc.progUi, parameter_in_field_id, 'xu-for').length;
12077
+ // found = find_field_in_progUi(prog_doc.progUi, parameter_in_field_id, 'xu-for');
12078
+ found = func.UI.find_field_in_progUi_attributes(panel_val.prog_doc.progUi, parameter_in_field_id, 'xu-for').length;
12052
12079
 
12053
- // if (found) {
12054
- // refresh_reason = `field ${field_id} in progUi xu-for parameter_in changed`;
12055
- // refresh_details = found;
12080
+ if (found) {
12081
+ refresh_reason = `field ${field_id} in progUi xu-for parameter_in changed`;
12082
+ refresh_details = found;
12056
12083
 
12057
- // break;
12058
- // }
12059
- // }
12060
- // }
12084
+ break;
12085
+ }
12086
+ }
12087
+ }
12061
12088
 
12062
- // if (found) break;
12089
+ if (found) break;
12063
12090
 
12064
- // // search field changed in the target program's progDataSource // @code
12065
- // found = progDataSource_str?.includes('@' + field_id);
12066
- // if (found) {
12067
- // refresh_reason = `field ${field_id} in progDataSource changed`;
12068
- // refresh_details = panel_val?.prog_doc?.progDataSource;
12091
+ // search field changed in the target program's progDataSource // @code
12092
+ found = progDataSource_str?.includes('@' + field_id);
12093
+ if (found) {
12094
+ refresh_reason = `field ${field_id} in progDataSource changed`;
12095
+ refresh_details = panel_val?.prog_doc?.progDataSource;
12069
12096
 
12070
- // break;
12071
- // }
12097
+ break;
12098
+ }
12072
12099
 
12073
- // found = func.UI.find_field_in_progUi_attributes(panel_val.prog_doc.progUi, field_id, 'xu-for').length;
12074
- // if (found) {
12075
- // refresh_reason = `field ${field_id} in progUi xu-for changed`;
12076
- // refresh_details = found;
12100
+ found = func.UI.find_field_in_progUi_attributes(panel_val.prog_doc.progUi, field_id, 'xu-for').length;
12101
+ if (found) {
12102
+ refresh_reason = `field ${field_id} in progUi xu-for changed`;
12103
+ refresh_details = found;
12077
12104
 
12078
- // break;
12079
- // }
12105
+ break;
12106
+ }
12080
12107
 
12081
- // if (found) {
12082
- // break;
12083
- // }
12084
- // }
12085
- // }
12108
+ if (found) {
12109
+ break;
12110
+ }
12111
+ }
12112
+ }
12086
12113
 
12087
- // if (datasource_changed) {
12088
- // if (panel_val._ds.dsSession == datasource_changed) {
12089
- // refresh_reason = `panel datasource ${datasource_changed} changed`;
12090
- // refresh_details = '';
12114
+ if (datasource_changed) {
12115
+ if (panel_val._ds.dsSession == datasource_changed) {
12116
+ refresh_reason = `panel datasource ${datasource_changed} changed`;
12117
+ refresh_details = '';
12091
12118
 
12092
- // found = true;
12093
- // }
12094
- // }
12095
- // if (found) {
12096
- // const _session = SESSION_OBJ[SESSION_ID];
12097
- // if (_session.engine_mode === 'live_preview') {
12098
- // console.info('========= refresh info ==============');
12099
- // console.info('reason:', refresh_reason);
12100
- // console.info('details:', refresh_details);
12101
- // console.info('panel:', panel_val);
12102
- // console.info('=====================================');
12103
- // }
12104
- // const $div_elm = panel_val.$panel_div;
12105
- // const wrapper_data = $div_elm.data();
12119
+ found = true;
12120
+ }
12121
+ }
12122
+ if (found) {
12123
+ const _session = SESSION_OBJ[SESSION_ID];
12124
+ if (_session.engine_mode === 'live_preview') {
12125
+ console.info('========= refresh info ==============');
12126
+ console.info('reason:', refresh_reason);
12127
+ console.info('details:', refresh_details);
12128
+ console.info('panel:', panel_val);
12129
+ console.info('=====================================');
12130
+ }
12131
+ const $div_elm = panel_val.$panel_div;
12132
+ const wrapper_data = $div_elm.data();
12106
12133
 
12107
- // if (_.isEmpty(wrapper_data)) continue;
12134
+ if (_.isEmpty(wrapper_data)) continue;
12108
12135
 
12109
- // try {
12110
- // const ts = Date.now();
12111
- // // remove old panel content
12112
- // $.each(panel_val.ids, async function (key, val) {
12113
- // $("[xu-ui-id='" + val + "']")
12114
- // .attr('xu-ui-id', val + ts)
12115
- // .removeData();
12116
- // });
12136
+ try {
12137
+ const ts = Date.now();
12138
+ // remove old panel content
12139
+ $.each(panel_val.ids, async function (key, val) {
12140
+ $("[xu-ui-id='" + val + "']")
12141
+ .attr('xu-ui-id', val + ts)
12142
+ .removeData();
12143
+ });
12117
12144
 
12118
- // let refreshed_ds;
12119
- // // check if ds exist and deleted by garbage collector
12145
+ let refreshed_ds;
12146
+ // check if ds exist and deleted by garbage collector
12120
12147
 
12121
- // if (_session.DS_GLB[panel_val._ds.dsSession]) {
12122
- // refreshed_ds = panel_val._ds.dsSession;
12123
- // }
12124
- // for await (const item of wrapper_data.xuData.node_org.children) {
12125
- // if (item.tagName !== 'xu-panel') continue;
12148
+ if (_session.DS_GLB[panel_val._ds.dsSession]) {
12149
+ refreshed_ds = panel_val._ds.dsSession;
12150
+ }
12151
+ for await (const item of wrapper_data.xuData.node_org.children) {
12152
+ if (item.tagName !== 'xu-panel') continue;
12126
12153
 
12127
- // const new_$div = await func.UI.screen.render_ui_tree(
12128
- // SESSION_ID,
12129
- // $div_elm, // the wrapper
12130
- // _.cloneDeep(item), // _.cloneDeep(wrapper_data.xuData.node_org.children[0]), // the xu-panel node
12131
- // {},
12132
- // wrapper_data.xuData.paramsP, // the wrapper params
12133
- // null,
12134
- // null,
12135
- // wrapper_data.xuData.key, // the wrapper key
12136
- // refreshed_ds, // the refreshed_ds
12137
- // wrapper_data.xuData.parent_node, // the wrapper parent node
12138
- // null,
12139
- // wrapper_data.xuData.$root_container, // the wrapper root container
12140
- // );
12141
- // }
12154
+ const new_$div = await func.UI.screen.render_ui_tree(
12155
+ SESSION_ID,
12156
+ $div_elm, // the wrapper
12157
+ _.cloneDeep(item), // _.cloneDeep(wrapper_data.xuData.node_org.children[0]), // the xu-panel node
12158
+ {},
12159
+ wrapper_data.xuData.paramsP, // the wrapper params
12160
+ null,
12161
+ null,
12162
+ wrapper_data.xuData.key, // the wrapper key
12163
+ refreshed_ds, // the refreshed_ds
12164
+ wrapper_data.xuData.parent_node, // the wrapper parent node
12165
+ null,
12166
+ wrapper_data.xuData.$root_container, // the wrapper root container
12167
+ );
12168
+ }
12142
12169
 
12143
- // // remove old panel content
12144
- // $.each(panel_val.ids, async function (key, val) {
12145
- // $("[xu-ui-id='" + val + ts + "']").remove();
12146
- // });
12147
- // } catch (error) {
12148
- // debugger;
12149
- // }
12150
- // // continue;
12151
- // }
12152
- // }
12153
- // };
12170
+ // remove old panel content
12171
+ $.each(panel_val.ids, async function (key, val) {
12172
+ $("[xu-ui-id='" + val + ts + "']").remove();
12173
+ });
12174
+ } catch (error) {
12175
+ debugger;
12176
+ }
12177
+ // continue;
12178
+ }
12179
+ }
12180
+ };
12154
12181
 
12155
12182
  const get_params_obj_new = async function (SESSION_ID, prog_id, nodeP, dsSession) {
12156
12183
  const _prog = await func.utils.VIEWS_OBJ.get(SESSION_ID, prog_id);
12157
12184
  if (!_prog) return;
12158
12185
 
12159
12186
  // get in parameters
12160
- var params_obj = {};
12187
+ let params_res = {},
12188
+ params_raw = {};
12161
12189
  if (_prog?.properties?.progParams) {
12162
12190
  for await (const [key, val] of Object.entries(_prog.properties.progParams)) {
12163
12191
  if (!['in', 'out'].includes(val.data.dir)) continue;
12164
12192
 
12165
12193
  if (nodeP.attributes) {
12166
12194
  if (nodeP.attributes[val.data.parameter]) {
12167
- params_obj[val.data.parameter] = nodeP.attributes[val.data.parameter];
12195
+ params_res[val.data.parameter] = nodeP.attributes[val.data.parameter];
12168
12196
  } else if (nodeP.attributes[`xu-exp:${val.data.parameter}`]) {
12169
12197
  if (val.data.dir == 'out') {
12170
12198
  // only reference
12171
- params_obj[val.data.parameter] = nodeP.attributes[`xu-exp:${val.data.parameter}`].replaceAll('@', '');
12199
+ params_res[val.data.parameter] = nodeP.attributes[`xu-exp:${val.data.parameter}`].replaceAll('@', '');
12172
12200
  } else {
12173
12201
  // in parameter
12174
12202
  let ret = await func.expression.get(SESSION_ID, nodeP.attributes[`xu-exp:${val.data.parameter}`], dsSession, 'parameters');
12175
- params_obj[val.data.parameter] = ret.result;
12203
+ params_res[val.data.parameter] = ret.result;
12204
+ params_raw[val.data.parameter] = nodeP.attributes[`xu-exp:${val.data.parameter}`];
12176
12205
  }
12177
12206
  }
12178
-
12179
- // if (parameters_obj_inP?.[val.data.parameter].fx) {
12180
- // let ret = await func.expression.get(
12181
- // SESSION_ID,
12182
- // parameters_obj_inP?.[val.data.parameter].fx,
12183
- // dsSession,
12184
- // "parameters"
12185
- // );
12186
- // params_obj[val.data.parameter] = ret.result;
12187
- // } else {
12188
- // params_obj[val.data.parameter] =
12189
- // parameters_obj_inP?.[val.data.parameter].value;
12190
- // }
12191
12207
  continue;
12192
12208
  }
12193
12209
  console.warn(`Warning: Program ${_prog.properties.menuName} expected In parameter: ${val.data.parameter} but received null instead`);
12194
12210
  }
12195
12211
  }
12196
- return params_obj;
12212
+ return { params_res, params_raw };
12197
12213
  };
12198
12214
 
12199
12215
  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) {
@@ -12210,8 +12226,8 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
12210
12226
  const init_program = async function () {
12211
12227
  async function render_panel() {
12212
12228
  const prog_id = val.value?.prog || val.value;
12213
- const param_obj = await get_params_obj_new(SESSION_ID, prog_id, nodeP, paramsP.dsSessionP);
12214
- 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);
12229
+ const params_obj = await get_params_obj_new(SESSION_ID, prog_id, nodeP, paramsP.dsSessionP);
12230
+ 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);
12215
12231
  ret = { $new_div: ret_panel };
12216
12232
  $container.data().xuData.xuPanelProps = $elm.data().xuAttributes;
12217
12233
  $container.data().xuData.xuPanelData = ret_panel.data();
@@ -12260,8 +12276,8 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
12260
12276
  const program = val.value?.prog || val.value;
12261
12277
  var $wrapper = $('<div>');
12262
12278
  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, '');
12263
- const param_obj = await get_params_obj_new(SESSION_ID, program, nodeP, paramsP.dsSessionP);
12264
- let ret_init = await func.UI.screen.init(SESSION_ID, program, paramsP.screenId, _ds, $div, null, _ds.currentRecordId, jobNoP, true, param_obj, 'alterXu_panel');
12279
+ const params_obj = await get_params_obj_new(SESSION_ID, program, nodeP, paramsP.dsSessionP);
12280
+ 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);
12265
12281
  ret = {
12266
12282
  $new_div: ret_init,
12267
12283
  abort: true,