@xuda.io/runtime-bundle 1.0.739 → 1.0.741

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.
@@ -27938,28 +27938,28 @@ func.UI.update_xu_ref = function (SESSION_ID, dsSessionP, ref_field_id, $elm) {
27938
27938
  let _ds_0 = _session.DS_GLB[0];
27939
27939
 
27940
27940
  const _ds = func.utils.clean_returned_datasource(SESSION_ID, dsSessionP);
27941
+
27942
+ let obj = { ds: _ds, data: {}, props: _ds.in_parameters || {} };
27941
27943
  try {
27942
27944
  const row_idx = func.common.find_ROWID_idx(_ds, _ds.currentRecordId);
27945
+ obj.data = _ds?.data_feed?.rows?.[row_idx];
27946
+ } catch (error) {
27947
+ // error normal if find_ROWID_idx fail
27948
+ }
27949
+ let SYS_GLOBAL_OBJ_REFS = _ds_0.data_system['SYS_GLOBAL_OBJ_REFS'];
27943
27950
 
27944
- let SYS_GLOBAL_OBJ_REFS = _ds_0.data_system['SYS_GLOBAL_OBJ_REFS'];
27945
-
27946
- let obj = { ds: _ds, data: _ds?.data_feed?.rows?.[row_idx] || {}, props: _ds.in_parameters || {} };
27947
-
27948
- if ($elm) {
27949
- const attributes = $elm?.data()?.xuData?.xuPanelProps || $elm?.data()?.xuData?.debug_info?.attribute_stat || {};
27950
- obj.attributes = attributes;
27951
- obj.xu_ui_id = $elm.attr('xu-ui-id');
27952
- }
27951
+ if ($elm) {
27952
+ const attributes = $elm?.data()?.xuData?.xuPanelProps || $elm?.data()?.xuData?.debug_info?.attribute_stat || {};
27953
+ obj.attributes = attributes;
27954
+ obj.xu_ui_id = $elm.attr('xu-ui-id');
27955
+ }
27953
27956
 
27954
- if (!_.isEqual(SYS_GLOBAL_OBJ_REFS?.[ref_field_id] || {}, obj)) {
27955
- if (!SYS_GLOBAL_OBJ_REFS[ref_field_id]) {
27956
- SYS_GLOBAL_OBJ_REFS[ref_field_id] = {};
27957
- }
27958
- SYS_GLOBAL_OBJ_REFS[ref_field_id] = obj;
27959
- ret = true;
27957
+ if (!_.isEqual(SYS_GLOBAL_OBJ_REFS?.[ref_field_id] || {}, obj)) {
27958
+ if (!SYS_GLOBAL_OBJ_REFS[ref_field_id]) {
27959
+ SYS_GLOBAL_OBJ_REFS[ref_field_id] = {};
27960
27960
  }
27961
- } catch (error) {
27962
- // error normal if find_ROWID_idx fail
27961
+ SYS_GLOBAL_OBJ_REFS[ref_field_id] = obj;
27962
+ ret = true;
27963
27963
  }
27964
27964
 
27965
27965
  return ret;
@@ -31238,7 +31238,7 @@ func.UI.screen.refresh_xu_attributes = async function (SESSION_ID, fields_arr, j
31238
31238
  // console.log(key, val);
31239
31239
 
31240
31240
  if (key.substr(0, 6) === 'xu-exp' && key.substr(6, 1) === ':') {
31241
- if (val?.includes?.(val_field) || val?.includes?.(parameter_in_filed_id)) {
31241
+ if (val?.includes?.('@' + val_field) || val?.includes?.('@' + parameter_in_filed_id)) {
31242
31242
  attr.push(key);
31243
31243
  }
31244
31244
  return true;
@@ -31252,17 +31252,26 @@ func.UI.screen.refresh_xu_attributes = async function (SESSION_ID, fields_arr, j
31252
31252
  const classes_obj = _.isString(classes_string) ? JSON.parse(classes_string) : _.defaults(classes_string, {});
31253
31253
 
31254
31254
  $.each(classes_obj, function (cla, cond) {
31255
- if (cond.includes(val_field) || cond?.includes?.(parameter_in_filed_id)) {
31256
- // attr.push("xuClass");
31255
+ if (cond.includes('@' + val_field) || cond?.includes?.('@' + parameter_in_filed_id)) {
31257
31256
  attr.push('xu-class');
31258
31257
  return false;
31259
31258
  }
31260
31259
  });
31260
+ if (attr.length) {
31261
+ return false;
31262
+ }
31261
31263
  } catch (e) {
31262
31264
  console.warn('parse error:' + val);
31263
31265
  }
31264
31266
  }
31265
- // return attr;
31267
+
31268
+ if (key === 'xu-ui-plugin') {
31269
+ const plugin_str = JSON.stringify(val);
31270
+ if (plugin_str.includes('@' + val_field) || plugin_str?.includes?.('@' + parameter_in_filed_id)) {
31271
+ attr.push(key);
31272
+ return false;
31273
+ }
31274
+ }
31266
31275
  });
31267
31276
 
31268
31277
  const selector_id = $(this).data()?.xuData?.xu_id;
@@ -31909,8 +31918,10 @@ func.UI.screen.execute_xu_functions = async function (SESSION_ID, is_skeleton, $
31909
31918
  const params_obj = await get_params_obj_new(SESSION_ID, prog_id, nodeP, paramsP.dsSessionP);
31910
31919
  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);
31911
31920
  ret = { $new_div: ret_panel };
31912
- $container.data().xuData.xuPanelProps = $elm.data().xuAttributes;
31913
- $container.data().xuData.xuPanelData = ret_panel.data();
31921
+ if ($container.data().xuData) {
31922
+ $container.data().xuData.xuPanelProps = $elm.data().xuAttributes;
31923
+ $container.data().xuData.xuPanelData = ret_panel.data();
31924
+ }
31914
31925
  return ret;
31915
31926
  }
31916
31927