@xuda.io/xuda-worker-bundle-min 1.3.287 → 1.3.288

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.
Files changed (2) hide show
  1. package/index.js +88 -53
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -2324,10 +2324,7 @@ func.datasource.render_fields_dataset = async function (
2324
2324
  var _ds = SESSION_OBJ[SESSION_ID].DS_GLB[dataSourceSession];
2325
2325
  var args = _ds.args;
2326
2326
 
2327
- const _progFields = await get_merge_progFields_with_dynamic_fields(
2328
- SESSION_ID,
2329
- dataSourceSession
2330
- );
2327
+ const _progFields = await get_progFields(SESSION_ID, dataSourceSession);
2331
2328
 
2332
2329
  if (!_progFields) {
2333
2330
  return;
@@ -2465,10 +2462,7 @@ func.datasource.render_fields_form = async function (
2465
2462
  var _ds = SESSION_OBJ[SESSION_ID].DS_GLB[dataSourceSession];
2466
2463
  var v = _ds.v;
2467
2464
 
2468
- const _progFields = await get_merge_progFields_with_dynamic_fields(
2469
- SESSION_ID,
2470
- dataSourceSession
2471
- );
2465
+ const _progFields = await get_progFields(SESSION_ID, dataSourceSession);
2472
2466
 
2473
2467
  if (!_progFields) {
2474
2468
  return;
@@ -3660,10 +3654,7 @@ func.datasource.get_value = async function (
3660
3654
  org_dsSessionP
3661
3655
  ) {
3662
3656
  const return_value = async (field_id, value) => {
3663
- const _progFields = await get_merge_progFields_with_dynamic_fields(
3664
- SESSION_ID,
3665
- dsSessionP
3666
- );
3657
+ const _progFields = await get_progFields(SESSION_ID, dsSessionP);
3667
3658
  let view_field_obj = func.common.find_item_by_key(
3668
3659
  _progFields,
3669
3660
  "field_id",
@@ -3730,6 +3721,30 @@ func.datasource.get_value = async function (
3730
3721
  found: typeof value !== "undefined",
3731
3722
  };
3732
3723
  };
3724
+ const return_dynamic_value = async (field_id, value) => {
3725
+ let view_field_obj = _ds.dynamic_fields[field_id];
3726
+ var fieldType = view_field_obj?.props?.fieldType || "string";
3727
+ var fieldProp = view_field_obj?.props;
3728
+
3729
+ let ret = {
3730
+ value: fieldProp.value,
3731
+ type: fieldType,
3732
+ prop: fieldProp,
3733
+ };
3734
+
3735
+ if (ret.value && typeof ret.value === "string" && ret.type !== "exp") {
3736
+ if (/"/.test(ret.value) && ret.value.indexOf("\\") === -1)
3737
+ ret.value = ret.value.replace(/"/g, '"');
3738
+ }
3739
+
3740
+ return {
3741
+ ret,
3742
+ dsSessionP,
3743
+ fieldIdP: field_id,
3744
+ currentRecordId: _ds.currentRecordId,
3745
+ found: typeof value !== "undefined",
3746
+ };
3747
+ };
3733
3748
  const return_value_parameters = async (field_id, value) => {
3734
3749
  let ret = {
3735
3750
  value: await func.common.get_cast_val(
@@ -3864,27 +3879,20 @@ func.datasource.get_value = async function (
3864
3879
  if (fieldIdP.substr(0, 1) === "_") {
3865
3880
  if (_ds.alias) _field_id = _ds.alias[fieldIdP];
3866
3881
  }
3867
- // search in dataset
3868
- // if (
3869
- // _ds.renderType &&
3870
- // _ds.renderType !== "grid" &&
3871
- // _ds.renderType !== "form"
3872
- // ) {
3873
- // if (typeof _ds?.dataset_new?.[_field_id] !== "undefined") {
3874
- // return await return_value(_field_id, _ds.dataset_new[_field_id]);
3875
- // }
3876
- // return await search_in_parameters(fieldIdP);
3877
- // }
3878
3882
 
3879
- if (
3880
- !org_dsSessionP &&
3881
- recordId &&
3882
- typeof _ds.data_feed?.rows?.[recordId]?.[_field_id] !== "undefined"
3883
- ) {
3884
- return await return_value(
3885
- _field_id,
3886
- _ds.data_feed.rows[recordId][_field_id]
3887
- );
3883
+ if (!org_dsSessionP && recordId) {
3884
+ if (typeof _ds.data_feed?.rows?.[recordId]?.[_field_id] !== "undefined") {
3885
+ return await return_value(
3886
+ _field_id,
3887
+ _ds.data_feed.rows[recordId][_field_id]
3888
+ );
3889
+ }
3890
+ if (typeof _ds?.dynamic_fields?.[_field_id] !== "undefined") {
3891
+ return await return_dynamic_value(
3892
+ _field_id,
3893
+ _ds.dynamic_fields[_field_id]
3894
+ );
3895
+ }
3888
3896
  }
3889
3897
 
3890
3898
  if (
@@ -4316,7 +4324,7 @@ func.datasource.get_pre_init_fields = function (
4316
4324
  return; // inactive 021617
4317
4325
  }; // temporary inactive, init preformed on the first round
4318
4326
 
4319
- func.datasource.add_dynamic_field_to_data_feed = function (
4327
+ func.datasource.add_dynamic_field_to_ds = function (
4320
4328
  SESSION_ID,
4321
4329
  dsSessionP,
4322
4330
  key,
@@ -4324,12 +4332,8 @@ func.datasource.add_dynamic_field_to_data_feed = function (
4324
4332
  ) {
4325
4333
  var _ds = SESSION_OBJ[SESSION_ID].DS_GLB[dsSessionP];
4326
4334
  if (!_ds.dynamic_fields) {
4327
- _ds.dynamic_fields = [];
4335
+ _ds.dynamic_fields = {};
4328
4336
  }
4329
- _ds.data_feed.rows[_ds.currentRecordId][key] = val;
4330
-
4331
- // todo: check duplicates
4332
- if (_ds.dynamic_fields.some((e) => e.data.field_id === key)) return;
4333
4337
 
4334
4338
  const toType = function (obj) {
4335
4339
  return {}.toString
@@ -4338,7 +4342,7 @@ func.datasource.add_dynamic_field_to_data_feed = function (
4338
4342
  .toLowerCase();
4339
4343
  };
4340
4344
 
4341
- _ds.dynamic_fields.push({
4345
+ _ds.dynamic_fields[key] = {
4342
4346
  id: crypto.randomUUID(),
4343
4347
  data: {
4344
4348
  type: "virtual",
@@ -4347,26 +4351,57 @@ func.datasource.add_dynamic_field_to_data_feed = function (
4347
4351
  props: {
4348
4352
  fieldType: val ? toType(val) : "string",
4349
4353
  },
4350
- });
4354
+ value: val,
4355
+ };
4351
4356
  };
4352
- const get_merge_progFields_with_dynamic_fields = async function (
4353
- SESSION_ID,
4354
- dsSessionP
4355
- ) {
4357
+ // func.datasource.add_dynamic_field_to_data_feed = function (
4358
+ // SESSION_ID,
4359
+ // dsSessionP,
4360
+ // key,
4361
+ // val
4362
+ // ) {
4363
+ // var _ds = SESSION_OBJ[SESSION_ID].DS_GLB[dsSessionP];
4364
+ // if (!_ds.dynamic_fields) {
4365
+ // _ds.dynamic_fields = [];
4366
+ // }
4367
+ // _ds.data_feed.rows[_ds.currentRecordId][key] = val;
4368
+
4369
+ // // todo: check duplicates
4370
+ // if (_ds.dynamic_fields.some((e) => e.data.field_id === key)) return;
4371
+
4372
+ // const toType = function (obj) {
4373
+ // return {}.toString
4374
+ // .call(obj)
4375
+ // .match(/\s([a-zA-Z]+)/)[1]
4376
+ // .toLowerCase();
4377
+ // };
4378
+
4379
+ // _ds.dynamic_fields.push({
4380
+ // id: crypto.randomUUID(),
4381
+ // data: {
4382
+ // type: "virtual",
4383
+ // field_id: key,
4384
+ // },
4385
+ // props: {
4386
+ // fieldType: val ? toType(val) : "string",
4387
+ // },
4388
+ // });
4389
+ // };
4390
+ const get_progFields = async function (SESSION_ID, dsSessionP) {
4356
4391
  var _ds = SESSION_OBJ[SESSION_ID].DS_GLB[dsSessionP];
4357
4392
  const _view_obj = await func.utils.VIEWS_OBJ.get(SESSION_ID, _ds.prog_id);
4393
+ return _view_obj.progFields;
4394
+ // var ret_arr = _view_obj.progFields;
4358
4395
 
4359
- var ret_arr = _view_obj.progFields;
4360
-
4361
- _ds?.dynamic_fields?.forEach((field) => {
4362
- if (ret_arr.some((e) => e.data.field_id === field.data.field_id)) {
4363
- return;
4364
- }
4396
+ // _ds?.dynamic_fields?.forEach((field) => {
4397
+ // if (ret_arr.some((e) => e.data.field_id === field.data.field_id)) {
4398
+ // return;
4399
+ // }
4365
4400
 
4366
- ret_arr.push(field);
4367
- });
4401
+ // ret_arr.push(field);
4402
+ // });
4368
4403
 
4369
- return ret_arr;
4404
+ // return ret_arr;
4370
4405
  };
4371
4406
  func.utils = {};
4372
4407
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xuda.io/xuda-worker-bundle-min",
3
- "version": "1.3.287",
3
+ "version": "1.3.288",
4
4
  "description": "xuda framework min",
5
5
  "main": "index.js",
6
6
  "scripts": {