@xuda.io/runtime-bundle 1.0.976 → 1.0.978

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.
@@ -32163,55 +32163,59 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
32163
32163
 
32164
32164
  const post_render = async function () {
32165
32165
  if (value) {
32166
- // abort if already rended
32167
- if ($elm[0].tagName !== 'XURENDER' && $elm?.length) {
32168
- return func.events.delete_job(SESSION_ID, jobNoP);
32169
- }
32166
+ try {
32167
+ // abort if already rended
32168
+ if ($elm[0].tagName !== 'XURENDER' && $elm?.length) {
32169
+ return func.events.delete_job(SESSION_ID, jobNoP);
32170
+ }
32170
32171
 
32171
- let original_data_obj = $elm.data().xuData.original_data_obj;
32172
+ let original_data_obj = $elm.data().xuData.original_data_obj;
32172
32173
 
32173
- if (!original_data_obj) {
32174
- func.events.delete_job(SESSION_ID, jobNoP);
32175
- return { delete_job: jobNoP };
32176
- }
32177
- const new_$div = await func.UI.screen.render_ui_tree(
32178
- SESSION_ID,
32179
- $elm, //original_data_obj.$container,
32180
- _.cloneDeep(original_data_obj.nodeP),
32181
- original_data_obj.parent_infoP,
32182
- original_data_obj.paramsP,
32183
- jobNoP,
32184
- null,
32185
- original_data_obj.keyP,
32186
- null,
32187
- original_data_obj.parent_nodeP,
32188
- null,
32189
- original_data_obj.$root_container,
32190
- );
32174
+ if (!original_data_obj) {
32175
+ func.events.delete_job(SESSION_ID, jobNoP);
32176
+ return { delete_job: jobNoP };
32177
+ }
32178
+ const new_$div = await func.UI.screen.render_ui_tree(
32179
+ SESSION_ID,
32180
+ $elm, //original_data_obj.$container,
32181
+ _.cloneDeep(original_data_obj.nodeP),
32182
+ original_data_obj.parent_infoP,
32183
+ original_data_obj.paramsP,
32184
+ jobNoP,
32185
+ null,
32186
+ original_data_obj.keyP,
32187
+ null,
32188
+ original_data_obj.parent_nodeP,
32189
+ null,
32190
+ original_data_obj.$root_container,
32191
+ );
32191
32192
 
32192
- new_$div.data().xuData.original_data_obj = original_data_obj;
32193
- new_$div.data().xuData.xurender_node = $elm.clone(true);
32194
- new_$div.data().xuAttributes = $elm.data().xuAttributes || {};
32193
+ new_$div.data().xuData.original_data_obj = original_data_obj;
32194
+ new_$div.data().xuData.xurender_node = $elm.clone(true);
32195
+ new_$div.data().xuAttributes = $elm.data().xuAttributes || {};
32195
32196
 
32196
- const replace = async function () {
32197
- $elm.replaceWith(new_$div);
32198
- if (from_panel) {
32199
- const xuPanelWrapper = _.clone(new_$div.data().xuPanelWrapper);
32200
- $elm.parent().data().xuPanelWrapper = xuPanelWrapper;
32201
- $elm.replaceWith(new_$div.children());
32202
- }
32197
+ const replace = async function () {
32198
+ $elm.replaceWith(new_$div);
32199
+ if (from_panel) {
32200
+ const xuPanelWrapper = _.clone(new_$div.data().xuPanelWrapper);
32201
+ $elm.parent().data().xuPanelWrapper = xuPanelWrapper;
32202
+ $elm.replaceWith(new_$div.children());
32203
+ }
32203
32204
 
32204
- if (val.fields_arr) {
32205
- return await func.UI.screen.refresh_xu_attributes(SESSION_ID, val.fields_arr, val.jobNoP, new_$div);
32206
- }
32207
- func.events.delete_job(SESSION_ID, jobNoP);
32208
- };
32205
+ if (val.fields_arr) {
32206
+ return await func.UI.screen.refresh_xu_attributes(SESSION_ID, val.fields_arr, val.jobNoP, new_$div);
32207
+ }
32208
+ func.events.delete_job(SESSION_ID, jobNoP);
32209
+ };
32209
32210
 
32210
- if ($elm && func.UI.utils.find_in_element_data('xuData', $(SESSION_OBJ[SESSION_ID].root_element), 'xu_id', $elm.data().xuData.xu_id).length) {
32211
- if (new_$div.data().xuData.paramsP) {
32212
- return await replace();
32213
- }
32211
+ if ($elm && func.UI.utils.find_in_element_data('xuData', $(SESSION_OBJ[SESSION_ID].root_element), 'xu_id', $elm.data().xuData.xu_id).length) {
32212
+ if (new_$div.data().xuData.paramsP) {
32213
+ return await replace();
32214
+ }
32214
32215
 
32216
+ func.events.delete_job(SESSION_ID, jobNoP);
32217
+ }
32218
+ } catch (error) {
32215
32219
  func.events.delete_job(SESSION_ID, jobNoP);
32216
32220
  }
32217
32221
  return;
@@ -33176,6 +33180,18 @@ func.UI.screen.create_container = async function (SESSION_ID, $root_container, n
33176
33180
  // return hashHex;
33177
33181
  // }
33178
33182
 
33183
+ // Returns a 32-bit unsigned integer hash of a string (FNV-1a)
33184
+ function hash32(str) {
33185
+ let h = 0x811c9dc5; // FNV offset basis
33186
+ for (let i = 0; i < str.length; i++) {
33187
+ h ^= str.charCodeAt(i);
33188
+ // multiply by FNV prime (2^24 + 2^8 + 0x93) with 32-bit overflow
33189
+ h += (h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24);
33190
+ }
33191
+ // Convert to unsigned 32-bit
33192
+ return h >>> 0;
33193
+ }
33194
+
33179
33195
  function hash32hex(str) {
33180
33196
  return (hash32(str) >>> 0).toString(16).padStart(8, '0');
33181
33197
  }