@xuda.io/runtime-bundle 1.0.717 → 1.0.719
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.
- package/js/xuda-runtime-bundle.js +170 -186
- package/js/xuda-runtime-bundle.min.js +1 -1
- package/js/xuda-runtime-slim.js +167 -183
- package/js/xuda-runtime-slim.min.es.js +167 -183
- package/js/xuda-runtime-slim.min.js +1 -1
- package/js/xuda-server-bundle.min.mjs +1 -1
- package/js/xuda-server-bundle.mjs +6 -33
- package/js/xuda-worker-bundle.js +6 -33
- package/js/xuda-worker-bundle.min.js +1 -1
- package/package.json +1 -1
package/js/xuda-runtime-slim.js
CHANGED
|
@@ -2899,7 +2899,7 @@ func.datasource.create = async function (
|
|
|
2899
2899
|
rowIdP,
|
|
2900
2900
|
jobNoP,
|
|
2901
2901
|
calling_trigger_prop,
|
|
2902
|
-
|
|
2902
|
+
screen_param,
|
|
2903
2903
|
NA_isInitP,
|
|
2904
2904
|
NA_callingSourceP,
|
|
2905
2905
|
calling_jobP,
|
|
@@ -2932,7 +2932,6 @@ func.datasource.create = async function (
|
|
|
2932
2932
|
parameters_obj_inP,
|
|
2933
2933
|
static_refreshP,
|
|
2934
2934
|
worker_id,
|
|
2935
|
-
parameters_raw_obj,
|
|
2936
2935
|
};
|
|
2937
2936
|
|
|
2938
2937
|
var IS_DATASOURCE_REFRESH = null;
|
|
@@ -3068,7 +3067,7 @@ func.datasource.create = async function (
|
|
|
3068
3067
|
args.rowIdP,
|
|
3069
3068
|
args.jobNoP,
|
|
3070
3069
|
args.calling_trigger_prop,
|
|
3071
|
-
|
|
3070
|
+
null,
|
|
3072
3071
|
null,
|
|
3073
3072
|
null,
|
|
3074
3073
|
args.calling_jobP,
|
|
@@ -3109,7 +3108,7 @@ func.datasource.create = async function (
|
|
|
3109
3108
|
return done(SESSION_ID, jsonP.dsSession, true);
|
|
3110
3109
|
});
|
|
3111
3110
|
};
|
|
3112
|
-
func.datasource.prepare = async function (SESSION_ID, prog_id, dataSourceNoP, parentDataSourceNoP, containerIdP, rowIdP, jobNoP, calling_trigger_prop,
|
|
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) {
|
|
3113
3112
|
const set_parameters = async function () {
|
|
3114
3113
|
var _session = SESSION_OBJ[SESSION_ID];
|
|
3115
3114
|
const get_Out_parameters = async function (fieldIdP, located_field_param_idxP, param_row_idP) {
|
|
@@ -3238,7 +3237,6 @@ func.datasource.prepare = async function (SESSION_ID, prog_id, dataSourceNoP, pa
|
|
|
3238
3237
|
static_refreshP,
|
|
3239
3238
|
run_atP,
|
|
3240
3239
|
worker_id,
|
|
3241
|
-
parameters_raw_obj,
|
|
3242
3240
|
};
|
|
3243
3241
|
|
|
3244
3242
|
var dataSourceSession = null;
|
|
@@ -3860,8 +3858,8 @@ func.datasource.execute = async function (SESSION_ID, dataSourceSession, IS_DATA
|
|
|
3860
3858
|
}
|
|
3861
3859
|
|
|
3862
3860
|
// initiated with Update but no rows found
|
|
3863
|
-
if (tree_obj.crudMode === 'U' && tree_obj.allowCreate && !_ds?.data_feed?.rows?.length) {
|
|
3864
|
-
|
|
3861
|
+
// if (tree_obj.crudMode === 'U' && tree_obj.allowCreate && !_ds?.data_feed?.rows?.length) {
|
|
3862
|
+
if (tree_obj.crudMode === 'U' && tree_obj.allowCreate && !_raw_data_rows?.length) {
|
|
3865
3863
|
_ds.set_mode = 'C';
|
|
3866
3864
|
// _raw_data_rows[glb.newRecord] = [{ _ROWID: "newRecord" }];
|
|
3867
3865
|
|
|
@@ -4157,7 +4155,7 @@ func.datasource.run_events_functions = async function (SESSION_ID, dataSourceSes
|
|
|
4157
4155
|
clearInterval(interval);
|
|
4158
4156
|
resolve(job_num);
|
|
4159
4157
|
}
|
|
4160
|
-
if (i >
|
|
4158
|
+
if (i > 20) {
|
|
4161
4159
|
console.error('deadlock detected');
|
|
4162
4160
|
clearInterval(interval);
|
|
4163
4161
|
resolve(job_num);
|
|
@@ -4895,18 +4893,6 @@ func.datasource.update = async function (SESSION_ID, datasource_changes, update_
|
|
|
4895
4893
|
|
|
4896
4894
|
if (!fields_changed.includes(field_id)) {
|
|
4897
4895
|
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
|
-
// }
|
|
4910
4896
|
}
|
|
4911
4897
|
if (!datasource_changed.includes(dataSource)) {
|
|
4912
4898
|
datasource_changed.push(dataSource);
|
|
@@ -4953,19 +4939,6 @@ func.datasource.update = async function (SESSION_ID, datasource_changes, update_
|
|
|
4953
4939
|
datasource_changed[0], // refresh the current datasource only
|
|
4954
4940
|
);
|
|
4955
4941
|
}
|
|
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
|
-
// }
|
|
4969
4942
|
}
|
|
4970
4943
|
resolve();
|
|
4971
4944
|
});
|
|
@@ -11189,7 +11162,7 @@ func.expression.secure_eval = async function (SESSION_ID, sourceP, val, job_id,
|
|
|
11189
11162
|
}
|
|
11190
11163
|
};
|
|
11191
11164
|
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
|
|
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) {
|
|
11193
11166
|
if (!prog_id) return console.error('program is empty');
|
|
11194
11167
|
let screen_ret = await func.utils.get_screen_obj(SESSION_ID, prog_id);
|
|
11195
11168
|
if (!screen_ret) return console.error('program is not a screen object');
|
|
@@ -11242,7 +11215,6 @@ func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callin
|
|
|
11242
11215
|
screenInfo,
|
|
11243
11216
|
call_screen_propertiesP,
|
|
11244
11217
|
parentDataSourceNoP: _session.DS_GLB?.[callingDataSource_objP?.dsSession]?.dsSession || callingDataSource_objP?.parentDataSourceNo || 0,
|
|
11245
|
-
parameters_raw_obj,
|
|
11246
11218
|
};
|
|
11247
11219
|
|
|
11248
11220
|
switch (screen_type) {
|
|
@@ -11409,7 +11381,7 @@ func.UI.screen.init = async function (SESSION_ID, prog_id, sourceScreenP, callin
|
|
|
11409
11381
|
rowIdP,
|
|
11410
11382
|
jobNoP,
|
|
11411
11383
|
null,
|
|
11412
|
-
|
|
11384
|
+
null,
|
|
11413
11385
|
null,
|
|
11414
11386
|
null,
|
|
11415
11387
|
null,
|
|
@@ -12016,200 +11988,212 @@ func.UI.screen.refresh_screen = async function (SESSION_ID, fields_changed_arr,
|
|
|
12016
11988
|
}
|
|
12017
11989
|
};
|
|
12018
11990
|
|
|
12019
|
-
func.UI.screen.
|
|
12020
|
-
|
|
12021
|
-
|
|
12022
|
-
|
|
12023
|
-
|
|
12024
|
-
|
|
12025
|
-
|
|
12026
|
-
|
|
12027
|
-
}
|
|
12028
|
-
}
|
|
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 || []) {
|
|
12029
11999
|
|
|
12030
|
-
|
|
12000
|
+
// }
|
|
12001
|
+
// }
|
|
12031
12002
|
|
|
12032
|
-
|
|
12033
|
-
const progDataSource_str = JSON.stringify(panel_val.prog_doc.progDataSource);
|
|
12003
|
+
// const panels_obj = await func.UI.utils.get_panels_wrapper_from_dom(SESSION_ID, $(SESSION_OBJ[SESSION_ID].root_element), false);
|
|
12034
12004
|
|
|
12035
|
-
|
|
12036
|
-
|
|
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 || {};
|
|
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);
|
|
12043
12007
|
|
|
12044
|
-
|
|
12045
|
-
|
|
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 || {};
|
|
12046
12016
|
|
|
12047
|
-
|
|
12048
|
-
|
|
12049
|
-
refresh_details = _attributes;
|
|
12050
|
-
break;
|
|
12051
|
-
}
|
|
12017
|
+
// // detect if program changed
|
|
12018
|
+
// found = _attributes['xu-exp:program']?.includes('@' + field_id);
|
|
12052
12019
|
|
|
12053
|
-
|
|
12054
|
-
|
|
12055
|
-
|
|
12056
|
-
|
|
12057
|
-
|
|
12020
|
+
// if (found) {
|
|
12021
|
+
// refresh_reason = `program ${_attributes['xu-exp:program']} ${field_id} changed `;
|
|
12022
|
+
// refresh_details = _attributes;
|
|
12023
|
+
// break;
|
|
12024
|
+
// }
|
|
12058
12025
|
|
|
12059
|
-
|
|
12060
|
-
|
|
12061
|
-
|
|
12062
|
-
|
|
12063
|
-
|
|
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);
|
|
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);
|
|
12069
12031
|
|
|
12070
|
-
|
|
12071
|
-
|
|
12072
|
-
|
|
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);
|
|
12073
12042
|
|
|
12074
|
-
|
|
12075
|
-
|
|
12043
|
+
// if (found) {
|
|
12044
|
+
// refresh_reason = `field ${field_id} in progDataSource parameter_in changed`;
|
|
12045
|
+
// refresh_details = panel_val?.prog_doc?.progDataSource;
|
|
12076
12046
|
|
|
12077
|
-
|
|
12078
|
-
|
|
12047
|
+
// break;
|
|
12048
|
+
// }
|
|
12079
12049
|
|
|
12080
|
-
|
|
12081
|
-
|
|
12082
|
-
refresh_details = found;
|
|
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;
|
|
12083
12052
|
|
|
12084
|
-
|
|
12085
|
-
|
|
12086
|
-
|
|
12087
|
-
}
|
|
12053
|
+
// if (found) {
|
|
12054
|
+
// refresh_reason = `field ${field_id} in progUi xu-for parameter_in changed`;
|
|
12055
|
+
// refresh_details = found;
|
|
12088
12056
|
|
|
12089
|
-
|
|
12057
|
+
// break;
|
|
12058
|
+
// }
|
|
12059
|
+
// }
|
|
12060
|
+
// }
|
|
12090
12061
|
|
|
12091
|
-
|
|
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;
|
|
12062
|
+
// if (found) break;
|
|
12096
12063
|
|
|
12097
|
-
|
|
12098
|
-
|
|
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;
|
|
12099
12069
|
|
|
12100
|
-
|
|
12101
|
-
|
|
12102
|
-
refresh_reason = `field ${field_id} in progUi xu-for changed`;
|
|
12103
|
-
refresh_details = found;
|
|
12070
|
+
// break;
|
|
12071
|
+
// }
|
|
12104
12072
|
|
|
12105
|
-
|
|
12106
|
-
|
|
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;
|
|
12107
12077
|
|
|
12108
|
-
|
|
12109
|
-
|
|
12110
|
-
}
|
|
12111
|
-
}
|
|
12112
|
-
}
|
|
12078
|
+
// break;
|
|
12079
|
+
// }
|
|
12113
12080
|
|
|
12114
|
-
|
|
12115
|
-
|
|
12116
|
-
|
|
12117
|
-
|
|
12081
|
+
// if (found) {
|
|
12082
|
+
// break;
|
|
12083
|
+
// }
|
|
12084
|
+
// }
|
|
12085
|
+
// }
|
|
12118
12086
|
|
|
12119
|
-
|
|
12120
|
-
|
|
12121
|
-
|
|
12122
|
-
|
|
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();
|
|
12087
|
+
// if (datasource_changed) {
|
|
12088
|
+
// if (panel_val._ds.dsSession == datasource_changed) {
|
|
12089
|
+
// refresh_reason = `panel datasource ${datasource_changed} changed`;
|
|
12090
|
+
// refresh_details = '';
|
|
12133
12091
|
|
|
12134
|
-
|
|
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();
|
|
12135
12106
|
|
|
12136
|
-
|
|
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
|
-
});
|
|
12107
|
+
// if (_.isEmpty(wrapper_data)) continue;
|
|
12144
12108
|
|
|
12145
|
-
|
|
12146
|
-
|
|
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
|
+
// });
|
|
12147
12117
|
|
|
12148
|
-
|
|
12149
|
-
|
|
12150
|
-
}
|
|
12151
|
-
for await (const item of wrapper_data.xuData.node_org.children) {
|
|
12152
|
-
if (item.tagName !== 'xu-panel') continue;
|
|
12118
|
+
// let refreshed_ds;
|
|
12119
|
+
// // check if ds exist and deleted by garbage collector
|
|
12153
12120
|
|
|
12154
|
-
|
|
12155
|
-
|
|
12156
|
-
|
|
12157
|
-
|
|
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
|
-
}
|
|
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;
|
|
12169
12126
|
|
|
12170
|
-
|
|
12171
|
-
|
|
12172
|
-
|
|
12173
|
-
|
|
12174
|
-
|
|
12175
|
-
|
|
12176
|
-
|
|
12177
|
-
|
|
12178
|
-
|
|
12179
|
-
|
|
12180
|
-
|
|
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
|
+
// }
|
|
12142
|
+
|
|
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
|
+
// };
|
|
12181
12154
|
|
|
12182
12155
|
const get_params_obj_new = async function (SESSION_ID, prog_id, nodeP, dsSession) {
|
|
12183
12156
|
const _prog = await func.utils.VIEWS_OBJ.get(SESSION_ID, prog_id);
|
|
12184
12157
|
if (!_prog) return;
|
|
12185
12158
|
|
|
12186
12159
|
// get in parameters
|
|
12187
|
-
|
|
12188
|
-
params_raw = {};
|
|
12160
|
+
var params_obj = {};
|
|
12189
12161
|
if (_prog?.properties?.progParams) {
|
|
12190
12162
|
for await (const [key, val] of Object.entries(_prog.properties.progParams)) {
|
|
12191
12163
|
if (!['in', 'out'].includes(val.data.dir)) continue;
|
|
12192
12164
|
|
|
12193
12165
|
if (nodeP.attributes) {
|
|
12194
12166
|
if (nodeP.attributes[val.data.parameter]) {
|
|
12195
|
-
|
|
12167
|
+
params_obj[val.data.parameter] = nodeP.attributes[val.data.parameter];
|
|
12196
12168
|
} else if (nodeP.attributes[`xu-exp:${val.data.parameter}`]) {
|
|
12197
12169
|
if (val.data.dir == 'out') {
|
|
12198
12170
|
// only reference
|
|
12199
|
-
|
|
12171
|
+
params_obj[val.data.parameter] = nodeP.attributes[`xu-exp:${val.data.parameter}`].replaceAll('@', '');
|
|
12200
12172
|
} else {
|
|
12201
12173
|
// in parameter
|
|
12202
12174
|
let ret = await func.expression.get(SESSION_ID, nodeP.attributes[`xu-exp:${val.data.parameter}`], dsSession, 'parameters');
|
|
12203
|
-
|
|
12204
|
-
params_raw[val.data.parameter] = nodeP.attributes[`xu-exp:${val.data.parameter}`];
|
|
12175
|
+
params_obj[val.data.parameter] = ret.result;
|
|
12205
12176
|
}
|
|
12206
12177
|
}
|
|
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
|
+
// }
|
|
12207
12191
|
continue;
|
|
12208
12192
|
}
|
|
12209
12193
|
console.warn(`Warning: Program ${_prog.properties.menuName} expected In parameter: ${val.data.parameter} but received null instead`);
|
|
12210
12194
|
}
|
|
12211
12195
|
}
|
|
12212
|
-
return
|
|
12196
|
+
return params_obj;
|
|
12213
12197
|
};
|
|
12214
12198
|
|
|
12215
12199
|
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) {
|
|
@@ -12226,8 +12210,8 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
|
|
|
12226
12210
|
const init_program = async function () {
|
|
12227
12211
|
async function render_panel() {
|
|
12228
12212
|
const prog_id = val.value?.prog || val.value;
|
|
12229
|
-
const
|
|
12230
|
-
let ret_panel = await func.UI.screen.init(SESSION_ID, prog_id, paramsP.screenId, _ds, $elm, null, _ds.currentRecordId, null, true,
|
|
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);
|
|
12231
12215
|
ret = { $new_div: ret_panel };
|
|
12232
12216
|
$container.data().xuData.xuPanelProps = $elm.data().xuAttributes;
|
|
12233
12217
|
$container.data().xuData.xuPanelData = ret_panel.data();
|
|
@@ -12276,8 +12260,8 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
|
|
|
12276
12260
|
const program = val.value?.prog || val.value;
|
|
12277
12261
|
var $wrapper = $('<div>');
|
|
12278
12262
|
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, '');
|
|
12279
|
-
const
|
|
12280
|
-
let ret_init = await func.UI.screen.init(SESSION_ID, program, paramsP.screenId, _ds, $div, null, _ds.currentRecordId, jobNoP, true,
|
|
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');
|
|
12281
12265
|
ret = {
|
|
12282
12266
|
$new_div: ret_init,
|
|
12283
12267
|
abort: true,
|