@xuda.io/runtime-bundle 1.0.479 → 1.0.481
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 +174 -125
- package/js/xuda-runtime-bundle.min.js +1 -1
- package/js/xuda-runtime-slim.js +174 -125
- package/js/xuda-runtime-slim.min.es.js +174 -125
- package/js/xuda-runtime-slim.min.js +2 -2
- package/js/xuda-server-bundle.min.mjs +2 -2
- package/js/xuda-server-bundle.mjs +147 -89
- package/js/xuda-worker-bundle.js +147 -89
- package/js/xuda-worker-bundle.min.js +2 -2
- package/package.json +1 -1
|
@@ -28256,18 +28256,7 @@ func.UI.update_xu_ref = function (SESSION_ID, dsSessionP, ref_field_id, $elm) {
|
|
|
28256
28256
|
SYS_GLOBAL_OBJ_REFS[ref_field_id].props = _ds.in_parameters || {};
|
|
28257
28257
|
|
|
28258
28258
|
if ($elm) {
|
|
28259
|
-
const
|
|
28260
|
-
if (retry > 500) return;
|
|
28261
|
-
return (
|
|
28262
|
-
$elm?.data()?.xuPanelWrapper?.panelXuAttributes ||
|
|
28263
|
-
$elm?.data()?.xuData?.debug_info?.attribute_stat ||
|
|
28264
|
-
setTimeout(() => {
|
|
28265
|
-
get_attributes(retry + 1);
|
|
28266
|
-
}, 500)
|
|
28267
|
-
);
|
|
28268
|
-
};
|
|
28269
|
-
|
|
28270
|
-
const attributes = get_attributes();
|
|
28259
|
+
const attributes = $elm?.data()?.xuData?.xuPanelProps || $elm?.data()?.xuData?.debug_info?.attribute_stat || {};
|
|
28271
28260
|
SYS_GLOBAL_OBJ_REFS[ref_field_id].attributes = attributes;
|
|
28272
28261
|
SYS_GLOBAL_OBJ_REFS[ref_field_id].xu_ui_id = $elm.attr('xu-ui-id');
|
|
28273
28262
|
}
|
|
@@ -28415,7 +28404,7 @@ func.datasource.create = async function (
|
|
|
28415
28404
|
}
|
|
28416
28405
|
}
|
|
28417
28406
|
|
|
28418
|
-
|
|
28407
|
+
const datasource_changes = {
|
|
28419
28408
|
[dsSessionP]: {
|
|
28420
28409
|
['datasource_main']: {
|
|
28421
28410
|
stat: 'idle',
|
|
@@ -31927,31 +31916,32 @@ func.UI.screen.refresh_screen_old = async function (SESSION_ID, fields_changed_a
|
|
|
31927
31916
|
}
|
|
31928
31917
|
};
|
|
31929
31918
|
|
|
31930
|
-
const get_params_obj = async function (SESSION_ID, prog_id, parameters_obj_inP) {
|
|
31931
|
-
|
|
31932
|
-
|
|
31933
|
-
|
|
31934
|
-
|
|
31919
|
+
// const get_params_obj = async function (SESSION_ID, prog_id, parameters_obj_inP) {
|
|
31920
|
+
// const _prog = await func.utils.VIEWS_OBJ.get(SESSION_ID, prog_id);
|
|
31921
|
+
// if (!_prog) {
|
|
31922
|
+
// return;
|
|
31923
|
+
// }
|
|
31924
|
+
|
|
31925
|
+
// // get in parameters
|
|
31926
|
+
// var params_obj = {};
|
|
31927
|
+
// if (_prog?.properties?.progParams) {
|
|
31928
|
+
// for await (const [key, val] of Object.entries(_prog.properties.progParams)) {
|
|
31929
|
+
// if (!val.data.dir === 'in') continue;
|
|
31930
|
+
// if (typeof parameters_obj_inP?.[val.data.parameter] !== 'undefined') {
|
|
31931
|
+
// if (parameters_obj_inP?.[val.data.parameter].fx) {
|
|
31932
|
+
// let ret = await func.expression.get(SESSION_ID, parameters_obj_inP?.[val.data.parameter].fx, dsSession, 'parameters');
|
|
31933
|
+
// params_obj[val.data.parameter] = ret.result;
|
|
31934
|
+
// } else {
|
|
31935
|
+
// params_obj[val.data.parameter] = parameters_obj_inP?.[val.data.parameter].value;
|
|
31936
|
+
// }
|
|
31937
|
+
// continue;
|
|
31938
|
+
// }
|
|
31939
|
+
// console.warn(`Warning: Program ${_prog.properties.menuName} expected In parameter: ${val.data.parameter} but received null instead`);
|
|
31940
|
+
// }
|
|
31941
|
+
// }
|
|
31942
|
+
// return params_obj;
|
|
31943
|
+
// };
|
|
31935
31944
|
|
|
31936
|
-
// get in parameters
|
|
31937
|
-
var params_obj = {};
|
|
31938
|
-
if (_prog?.properties?.progParams) {
|
|
31939
|
-
for await (const [key, val] of Object.entries(_prog.properties.progParams)) {
|
|
31940
|
-
if (!val.data.dir === 'in') continue;
|
|
31941
|
-
if (typeof parameters_obj_inP?.[val.data.parameter] !== 'undefined') {
|
|
31942
|
-
if (parameters_obj_inP?.[val.data.parameter].fx) {
|
|
31943
|
-
let ret = await func.expression.get(SESSION_ID, parameters_obj_inP?.[val.data.parameter].fx, dsSession, 'parameters');
|
|
31944
|
-
params_obj[val.data.parameter] = ret.result;
|
|
31945
|
-
} else {
|
|
31946
|
-
params_obj[val.data.parameter] = parameters_obj_inP?.[val.data.parameter].value;
|
|
31947
|
-
}
|
|
31948
|
-
continue;
|
|
31949
|
-
}
|
|
31950
|
-
console.warn(`Warning: Program ${_prog.properties.menuName} expected In parameter: ${val.data.parameter} but received null instead`);
|
|
31951
|
-
}
|
|
31952
|
-
}
|
|
31953
|
-
return params_obj;
|
|
31954
|
-
};
|
|
31955
31945
|
const get_params_obj_new = async function (SESSION_ID, prog_id, nodeP, dsSession) {
|
|
31956
31946
|
const _prog = await func.utils.VIEWS_OBJ.get(SESSION_ID, prog_id);
|
|
31957
31947
|
if (!_prog) return;
|
|
@@ -32013,6 +32003,7 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
|
|
|
32013
32003
|
const param_obj = await get_params_obj_new(SESSION_ID, prog_id, nodeP, paramsP.dsSessionP);
|
|
32014
32004
|
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');
|
|
32015
32005
|
ret = { $new_div: ret_panel };
|
|
32006
|
+
$container.data().xuData.xuPanelProps = $elm.data().xuAttributes;
|
|
32016
32007
|
return ret;
|
|
32017
32008
|
}
|
|
32018
32009
|
|
|
@@ -35257,99 +35248,157 @@ func.expression.get = async function (SESSION_ID, valP, dsSessionP, sourceP, row
|
|
|
35257
35248
|
return new_class.get();
|
|
35258
35249
|
};
|
|
35259
35250
|
|
|
35251
|
+
// func.expression.parse = function (strP) {
|
|
35252
|
+
// var extract_str = function (strP, posP) {
|
|
35253
|
+
// if (!posP) posP = 0;
|
|
35254
|
+
// var clean_split_str = function (arrP) {
|
|
35255
|
+
// var arr = [];
|
|
35256
|
+
// if (arrP && arrP.length > 1 && arrP[0] === '' && arrP[1].indexOf('@') > -1) {
|
|
35257
|
+
// for (var i = 1; i <= arrP.length; i++) {
|
|
35258
|
+
// arr.push(arrP[i]);
|
|
35259
|
+
// }
|
|
35260
|
+
// return arr;
|
|
35261
|
+
// } else return arrP;
|
|
35262
|
+
// };
|
|
35263
|
+
// var nonLettersPatt = /\W/; // non letters
|
|
35264
|
+
// var validSymbolsNoArray = /[^.@\[]/; //valid symbols no array /[^.@\[\]\]]/
|
|
35265
|
+
// var validSymbolsWithArray = /[^.@"'\[\]]/; //valid symbols with array
|
|
35266
|
+
// var validSymbols = validSymbolsNoArray;
|
|
35267
|
+
// var splitTmp = strP.replace(/@/g, '^^@').split('^^');
|
|
35268
|
+
// var split = clean_split_str(splitTmp);
|
|
35269
|
+
// var obj = [];
|
|
35270
|
+
// if (split) {
|
|
35271
|
+
// for (let val of split) {
|
|
35272
|
+
// // run on @ segments
|
|
35273
|
+
// if (val) {
|
|
35274
|
+
// var pos = strP.indexOf(val);
|
|
35275
|
+
// if (val && val.substr(0, 1) === '@') {
|
|
35276
|
+
// var tmpStr = '';
|
|
35277
|
+
// var word_start_pos = undefined;
|
|
35278
|
+
// var word_end_pos = undefined;
|
|
35279
|
+
// // run on @ segment string
|
|
35280
|
+
// for (var i = 0; i <= val.length; i++) {
|
|
35281
|
+
// var key1 = i;
|
|
35282
|
+
// var val1 = val.substr(i, 1);
|
|
35283
|
+
// if (
|
|
35284
|
+
// val1 === '.' &&
|
|
35285
|
+
// !word_start_pos // find first dot
|
|
35286
|
+
// )
|
|
35287
|
+
// word_start_pos = key1;
|
|
35288
|
+
// if (
|
|
35289
|
+
// word_start_pos &&
|
|
35290
|
+
// key1 > word_start_pos &&
|
|
35291
|
+
// nonLettersPatt.test(val1) // find any sign character to mark the end of word
|
|
35292
|
+
// )
|
|
35293
|
+
// word_end_pos = key1;
|
|
35294
|
+
// if (word_start_pos && word_start_pos >= 0 && word_end_pos && word_end_pos >= 0) {
|
|
35295
|
+
// // find the word
|
|
35296
|
+
// var word = val.substr(word_start_pos + 1, word_end_pos - word_start_pos - 1); // get the word
|
|
35297
|
+
// // if (glb.ALL_PROPERTIES_ARR.indexOf(word) === -1) {
|
|
35298
|
+
// // compare with internal properties
|
|
35299
|
+
// tmpStr = tmpStr.substr(0, word_start_pos) + '^^' + tmpStr.substr(word_start_pos, word_end_pos);
|
|
35300
|
+
// // }
|
|
35301
|
+
// if (val.substr(word_end_pos, 1) === '.') word_start_pos = word_end_pos;
|
|
35302
|
+
// else word_start_pos = null;
|
|
35303
|
+
// word_end_pos = null;
|
|
35304
|
+
// }
|
|
35305
|
+
// if (val1 === '[') validSymbols = validSymbolsWithArray;
|
|
35306
|
+
// if (nonLettersPatt.test(val1) && validSymbols.test(val1) && tmpStr.indexOf('^^') === -1) {
|
|
35307
|
+
// tmpStr += '^^' + val1;
|
|
35308
|
+
// } else tmpStr += val1;
|
|
35309
|
+
// }
|
|
35310
|
+
// // });
|
|
35311
|
+
// if (tmpStr.indexOf('^^') > -1) {
|
|
35312
|
+
// var obj1 = extract_str(tmpStr, pos);
|
|
35313
|
+
// obj = obj.concat(obj1);
|
|
35314
|
+
// } else {
|
|
35315
|
+
// // push clean @var
|
|
35316
|
+
// var fieldId = undefined;
|
|
35317
|
+
// if (val) {
|
|
35318
|
+
// fieldId = val.substr(1, val.length);
|
|
35319
|
+
// if (val.indexOf('.') > -1) fieldId = val.substr(1, val.indexOf('.') - 1);
|
|
35320
|
+
// if (val.indexOf('[') > -1) fieldId = val.substr(1, val.indexOf('[') - 1);
|
|
35321
|
+
// //
|
|
35322
|
+
// // if (val.indexOf("]") > -1)
|
|
35323
|
+
// // fieldId = val.substr(1, val.indexOf("]") - 1);
|
|
35324
|
+
// }
|
|
35325
|
+
// obj.push({
|
|
35326
|
+
// value: val,
|
|
35327
|
+
// fieldId: fieldId,
|
|
35328
|
+
// pos: pos + posP,
|
|
35329
|
+
// });
|
|
35330
|
+
// }
|
|
35331
|
+
// } else {
|
|
35332
|
+
// obj.push({
|
|
35333
|
+
// value: val,
|
|
35334
|
+
// pos: pos + posP,
|
|
35335
|
+
// });
|
|
35336
|
+
// }
|
|
35337
|
+
// }
|
|
35338
|
+
// }
|
|
35339
|
+
// return obj;
|
|
35340
|
+
// }
|
|
35341
|
+
// };
|
|
35342
|
+
// var res = extract_str(strP);
|
|
35343
|
+
// return res;
|
|
35344
|
+
// };
|
|
35345
|
+
|
|
35260
35346
|
func.expression.parse = function (strP) {
|
|
35261
|
-
|
|
35262
|
-
|
|
35263
|
-
|
|
35264
|
-
|
|
35265
|
-
|
|
35266
|
-
|
|
35267
|
-
|
|
35268
|
-
|
|
35269
|
-
|
|
35270
|
-
|
|
35271
|
-
|
|
35272
|
-
|
|
35273
|
-
|
|
35274
|
-
|
|
35275
|
-
|
|
35276
|
-
|
|
35277
|
-
|
|
35278
|
-
|
|
35279
|
-
|
|
35280
|
-
|
|
35281
|
-
|
|
35282
|
-
|
|
35283
|
-
|
|
35284
|
-
if (
|
|
35285
|
-
|
|
35286
|
-
|
|
35287
|
-
|
|
35288
|
-
|
|
35289
|
-
|
|
35290
|
-
|
|
35291
|
-
|
|
35292
|
-
|
|
35293
|
-
val1 === '.' &&
|
|
35294
|
-
!word_start_pos // find first dot
|
|
35295
|
-
)
|
|
35296
|
-
word_start_pos = key1;
|
|
35297
|
-
if (
|
|
35298
|
-
word_start_pos &&
|
|
35299
|
-
key1 > word_start_pos &&
|
|
35300
|
-
nonLettersPatt.test(val1) // find any sign character to mark the end of word
|
|
35301
|
-
)
|
|
35302
|
-
word_end_pos = key1;
|
|
35303
|
-
if (word_start_pos && word_start_pos >= 0 && word_end_pos && word_end_pos >= 0) {
|
|
35304
|
-
// find the word
|
|
35305
|
-
var word = val.substr(word_start_pos + 1, word_end_pos - word_start_pos - 1); // get the word
|
|
35306
|
-
// if (glb.ALL_PROPERTIES_ARR.indexOf(word) === -1) {
|
|
35307
|
-
// compare with internal properties
|
|
35308
|
-
tmpStr = tmpStr.substr(0, word_start_pos) + '^^' + tmpStr.substr(word_start_pos, word_end_pos);
|
|
35309
|
-
// }
|
|
35310
|
-
if (val.substr(word_end_pos, 1) === '.') word_start_pos = word_end_pos;
|
|
35311
|
-
else word_start_pos = null;
|
|
35312
|
-
word_end_pos = null;
|
|
35313
|
-
}
|
|
35314
|
-
if (val1 === '[') validSymbols = validSymbolsWithArray;
|
|
35315
|
-
if (nonLettersPatt.test(val1) && validSymbols.test(val1) && tmpStr.indexOf('^^') === -1) {
|
|
35316
|
-
tmpStr += '^^' + val1;
|
|
35317
|
-
} else tmpStr += val1;
|
|
35318
|
-
}
|
|
35319
|
-
// });
|
|
35320
|
-
if (tmpStr.indexOf('^^') > -1) {
|
|
35321
|
-
var obj1 = extract_str(tmpStr, pos);
|
|
35322
|
-
obj = obj.concat(obj1);
|
|
35323
|
-
} else {
|
|
35324
|
-
// push clean @var
|
|
35325
|
-
var fieldId = undefined;
|
|
35326
|
-
if (val) {
|
|
35327
|
-
fieldId = val.substr(1, val.length);
|
|
35328
|
-
if (val.indexOf('.') > -1) fieldId = val.substr(1, val.indexOf('.') - 1);
|
|
35329
|
-
if (val.indexOf('[') > -1) fieldId = val.substr(1, val.indexOf('[') - 1);
|
|
35330
|
-
//
|
|
35331
|
-
// if (val.indexOf("]") > -1)
|
|
35332
|
-
// fieldId = val.substr(1, val.indexOf("]") - 1);
|
|
35333
|
-
}
|
|
35334
|
-
obj.push({
|
|
35335
|
-
value: val,
|
|
35336
|
-
fieldId: fieldId,
|
|
35337
|
-
pos: pos + posP,
|
|
35338
|
-
});
|
|
35339
|
-
}
|
|
35340
|
-
} else {
|
|
35341
|
-
obj.push({
|
|
35342
|
-
value: val,
|
|
35343
|
-
pos: pos + posP,
|
|
35344
|
-
});
|
|
35347
|
+
const nonLettersPatt = /\W/;
|
|
35348
|
+
const validSymbolsNoArray = /[^.@\[]/;
|
|
35349
|
+
const validSymbolsWithArray = /[^.@"'\[\]]/;
|
|
35350
|
+
|
|
35351
|
+
function extractStr(str, startPos = 0) {
|
|
35352
|
+
const cleanSplit = (arr) => (arr?.length > 1 && arr[0] === '' && arr[1].includes('@') ? arr.slice(1) : arr);
|
|
35353
|
+
|
|
35354
|
+
const segments = cleanSplit(str.replace(/@/g, '^^@').split('^^'));
|
|
35355
|
+
const result = [];
|
|
35356
|
+
|
|
35357
|
+
for (const val of segments || []) {
|
|
35358
|
+
if (!val) continue;
|
|
35359
|
+
const pos = str.indexOf(val) + startPos;
|
|
35360
|
+
|
|
35361
|
+
if (val.startsWith('@')) {
|
|
35362
|
+
let tmpStr = '';
|
|
35363
|
+
let wordStart = null;
|
|
35364
|
+
let wordEnd = null;
|
|
35365
|
+
let validSymbols = validSymbolsNoArray;
|
|
35366
|
+
|
|
35367
|
+
for (let i = 0; i < val.length; i++) {
|
|
35368
|
+
const char = val[i];
|
|
35369
|
+
|
|
35370
|
+
if (char === '[') validSymbols = validSymbolsWithArray;
|
|
35371
|
+
if (char === '.' && wordStart === null) wordStart = i;
|
|
35372
|
+
else if (wordStart !== null && nonLettersPatt.test(char)) wordEnd = i;
|
|
35373
|
+
|
|
35374
|
+
if (wordStart !== null && wordEnd !== null) {
|
|
35375
|
+
const word = val.slice(wordStart + 1, wordEnd);
|
|
35376
|
+
tmpStr = tmpStr.slice(0, wordStart) + '^^' + tmpStr.slice(wordStart, wordEnd);
|
|
35377
|
+
wordStart = char === '.' ? wordEnd : null;
|
|
35378
|
+
wordEnd = null;
|
|
35345
35379
|
}
|
|
35380
|
+
|
|
35381
|
+
tmpStr += nonLettersPatt.test(char) && validSymbols.test(char) && !tmpStr.includes('^^') ? '^^' + char : char;
|
|
35346
35382
|
}
|
|
35383
|
+
|
|
35384
|
+
if (tmpStr.includes('^^')) {
|
|
35385
|
+
result.push(...extractStr(tmpStr, pos));
|
|
35386
|
+
} else {
|
|
35387
|
+
const fieldIdMatch = val.match(/^@([^.\[]+)/);
|
|
35388
|
+
result.push({
|
|
35389
|
+
value: val,
|
|
35390
|
+
fieldId: fieldIdMatch ? fieldIdMatch[1] : undefined,
|
|
35391
|
+
pos,
|
|
35392
|
+
});
|
|
35393
|
+
}
|
|
35394
|
+
} else {
|
|
35395
|
+
result.push({ value: val, pos });
|
|
35347
35396
|
}
|
|
35348
|
-
return obj;
|
|
35349
35397
|
}
|
|
35350
|
-
|
|
35351
|
-
|
|
35352
|
-
|
|
35398
|
+
return result;
|
|
35399
|
+
}
|
|
35400
|
+
|
|
35401
|
+
return extractStr(strP);
|
|
35353
35402
|
};
|
|
35354
35403
|
|
|
35355
35404
|
func.expression.get_property = async function (valP) {
|