@xuda.io/runtime-bundle 1.0.1419 → 1.0.1421

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.
@@ -24202,8 +24202,14 @@ func.runtime.bind.resolve_field = async function (SESSION_ID, prog_id, dsSession
24202
24202
  if (ret_get_value.found) {
24203
24203
  _dsP = ret_get_value.dsSessionP;
24204
24204
  let _ds = SESSION_OBJ[SESSION_ID].DS_GLB[_dsP];
24205
- _prog_id = _ds.prog_id;
24205
+ _prog_id = _ds?.prog_id;
24206
24206
  field_prop = await find_in_view(field_id, _prog_id);
24207
+ if (!field_prop) {
24208
+ field_prop = _ds?.dynamic_fields?.[field_id];
24209
+ if (field_prop) {
24210
+ is_dynamic_field = true;
24211
+ }
24212
+ }
24207
24213
  }
24208
24214
  }
24209
24215
  }
@@ -28686,7 +28692,14 @@ func.runtime.ui.generate_xu_ui_id = async function (SESSION_ID, nodeP, $containe
28686
28692
  return hashed_ui_id;
28687
28693
  };
28688
28694
  func.runtime.ui.create_container = async function (options) {
28689
- const _paramsP = JSON.parse(JSON.stringify(options.paramsP));
28695
+ let _paramsP;
28696
+ try {
28697
+ _paramsP = JSON.parse(JSON.stringify(options.paramsP));
28698
+ } catch (e) {
28699
+ // paramsP may contain DOM element refs that create circular structures;
28700
+ // fall back to a shallow copy which is sufficient for create_container.
28701
+ _paramsP = Object.assign({}, options.paramsP);
28702
+ }
28690
28703
  const _ds = SESSION_OBJ[options.SESSION_ID].DS_GLB[_paramsP.dsSessionP];
28691
28704
  const $appendTo = func.runtime.ui.get_append_target(options.$container, options.$appendToP);
28692
28705
  if (!$appendTo) return null;
@@ -36657,7 +36670,6 @@ func.runtime.widgets = func.runtime.widgets || {};
36657
36670
 
36658
36671
  func.runtime.render.handle_legacy_xu_render = async function (options) {
36659
36672
  const value = await func.common.get_cast_val(options.SESSION_ID, 'common fx', 'xu-render', 'bool', options.val.value);
36660
-
36661
36673
  const init_render = function () {
36662
36674
  if (!value) {
36663
36675
  const cloned_div = func.runtime.ui.get_first_node(options.$elm)?.cloneNode(true);
@@ -36676,10 +36688,6 @@ func.runtime.render.handle_legacy_xu_render = async function (options) {
36676
36688
  const xu_ui_id = func.runtime.ui.get_attr(options.$elm, 'xu-ui-id');
36677
36689
 
36678
36690
  // Remove original element from DOM WITHOUT deleting _meta_store.
36679
- // Using func.runtime.ui.remove() would call delete_meta(xu_ui_id),
36680
- // wiping the meta entry before create_xu_render_placeholder can write it.
36681
- // The XURENDER placeholder reuses the same xu-ui-id, so the meta entry
36682
- // will be overwritten below — no orphaned data.
36683
36691
  const _elm_node = func.runtime.ui.get_first_node(options.$elm);
36684
36692
  if (_elm_node?.remove) {
36685
36693
  _elm_node.remove();
@@ -37639,10 +37647,8 @@ func.datasource.create = async function (
37639
37647
 
37640
37648
  var run_at = _prog_obj?.properties?.runAt;
37641
37649
 
37642
- if (!['live_preview', 'miniapp'].includes(_session.engine_mode)) {
37643
- if (_session.opt.app_computing_mode === 'main') {
37644
- run_at = 'client';
37645
- }
37650
+ if (_session.opt.app_computing_mode === 'main') {
37651
+ run_at = 'client';
37646
37652
  }
37647
37653
 
37648
37654
  if (_prog_obj?.properties.menuType === 'globals') {