@gct-paas/excel 0.1.40-beta.0 → 0.1.40-beta.1

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 (99) hide show
  1. package/dist/{BaseComponent-BTolXjlE.js → BaseComponent-DXIDs5gk.js} +2 -2
  2. package/dist/{VueVideoPlayer-Dvf7Ya7H.js → VueVideoPlayer-DhyIm-g1.js} +2 -2
  3. package/dist/{align-editor-jp0NsOnT.js → align-editor-BcbgVXRp.js} +1 -1
  4. package/dist/{barcode-design-ClfdoOKn.js → barcode-design-BiCt0aS7.js} +2 -2
  5. package/dist/base/index.es.js +49 -44
  6. package/dist/{diagonal-design-Br0xpyqC.js → diagonal-design-DmvWALIE.js} +2 -2
  7. package/dist/{dynamic-table-action-C-HIKtZG.js → dynamic-table-action-fDIIzS2J.js} +41 -5
  8. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-BHExrYFJ.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DhWpxyhm.js} +352 -212
  9. package/dist/{edit.utils-CXmmCnxE-D4-n_eOM.js → edit.utils-CXmmCnxE-DxArFSxZ.js} +1 -1
  10. package/dist/excel.css +84 -84
  11. package/dist/{exceljs.min-BH63KI8s.js → exceljs.min-CjKNZPlo.js} +2 -2
  12. package/dist/{font-editor-QSpu9bjJ.js → font-editor-DseGyVgB.js} +3 -3
  13. package/dist/{image-design-ySQAmnTF.js → image-design-Dr-L9AdG.js} +2 -2
  14. package/dist/{index-COx1-SPe.js → index-0W-MEvEf.js} +2 -2
  15. package/dist/{index-FSCxAVGq.js → index-4acBM2Lp.js} +2 -2
  16. package/dist/{index-Qf8D5LdT.js → index-B29_mID7.js} +3 -3
  17. package/dist/{index-QTmeSdj9.js → index-B34ZIwqL.js} +2 -2
  18. package/dist/{index-CTO4kNz9.js → index-BPgCZjqV.js} +1 -1
  19. package/dist/{index-2FWN7Q91.js → index-BY7RGawr.js} +2 -2
  20. package/dist/{index-BxEjRF0o.js → index-BctQMMgh.js} +2 -2
  21. package/dist/{index-BXXvFDgt.js → index-BdJ4ouEl.js} +1 -1
  22. package/dist/{index-Cf7KwZfa.js → index-BjI7JCne.js} +4 -4
  23. package/dist/{index-nBc_3R3r.js → index-BxZ3M7eP.js} +1 -1
  24. package/dist/{index-C2RMbM6E.js → index-C4tVTc9U.js} +2 -2
  25. package/dist/{index-CN-rY-3F.js → index-C6dFliaf.js} +1 -1
  26. package/dist/{index-oOLbaFI8.js → index-C70T1sVm.js} +639 -353
  27. package/dist/{index-DbPA5PUX.js → index-C8OPhJhI.js} +1 -1
  28. package/dist/{index-BOaDYNtp.js → index-CAdGL3Vp.js} +2 -2
  29. package/dist/{index-BJ6ZaX-f.js → index-CEmRRPE7.js} +2 -2
  30. package/dist/{index-BJQd1G0r.js → index-CJ9CrORT.js} +3 -3
  31. package/dist/{index-4_qe7Eco.js → index-CScWLXnC.js} +2 -2
  32. package/dist/{index-B3mCVcXB.js → index-CX_eR36M.js} +2 -2
  33. package/dist/{index-DYxskDRv.js → index-CXh-4yX8.js} +3 -3
  34. package/dist/{index-C7DwXZ-K.js → index-CewKz2Ro.js} +1 -1
  35. package/dist/{index-Ca8q7yXC.js → index-D5IrgJyh.js} +2 -2
  36. package/dist/{index-CvDQjwre.js → index-DKRpaNo1.js} +1 -1
  37. package/dist/{index-ibQys99q.js → index-DKf57IGi.js} +1 -1
  38. package/dist/{index-D9zBCWpE.js → index-DNC5VG8P.js} +2 -2
  39. package/dist/{index-CMOvPSr6.js → index-DcjOJuDw.js} +2 -2
  40. package/dist/{index-DZGqXE3S.js → index-DqLVW6ej.js} +3 -3
  41. package/dist/{index-D3IdoYWe.js → index-DrmR7WIs.js} +2 -2
  42. package/dist/{index-8yhxxqYM.js → index-DsCTXMxB.js} +1 -1
  43. package/dist/{index-dhaw5vxN.js → index-JkPJqZ_5.js} +3 -3
  44. package/dist/{index-uVpJOLb3.js → index-Nytm1-X9.js} +2 -2
  45. package/dist/{index-Cb-I6DkL.js → index-hcCJUBne.js} +1 -1
  46. package/dist/{index-CUrMIr2v.js → index-iRameN0x.js} +2 -2
  47. package/dist/{index-B6Bs-q34.js → index-lwjRRvDn.js} +2 -2
  48. package/dist/{index-BHiNdrGr.js → index-r4MF8_-h.js} +2 -2
  49. package/dist/index.es.js +2 -2
  50. package/dist/{mb-render-BRejJNP-.js → mb-render-BdRsSczc.js} +1 -1
  51. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-QX4lxsni.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-D32c_U8J.js} +1 -1
  52. package/dist/{pagination-design-pTh3Fqbz.js → pagination-design-9Z_iRIKM.js} +2 -2
  53. package/dist/paper-widget-design-BGotQsIf.js +4 -0
  54. package/dist/{print-runtime-instance-CBUjws4D.js → print-runtime-instance-BBOww4jg.js} +1 -1
  55. package/dist/{print-snapshot-renderer-s0IhY_T_.js → print-snapshot-renderer-DGt44saz.js} +3 -3
  56. package/dist/{qrcode-design-CnKOb-s9.js → qrcode-design-qbUjPX-B.js} +1 -1
  57. package/dist/{revo-grid.entry-BqbaKcyR.js → revo-grid.entry-RzymRzb0.js} +1 -1
  58. package/dist/{revogr-attribution_7.entry-jmN78nkb.js → revogr-attribution_7.entry-CxTEXm8Q.js} +3 -3
  59. package/dist/{revogr-clipboard_3.entry-eK74i7_f.js → revogr-clipboard_3.entry-DQEid83u.js} +2 -2
  60. package/dist/{revogr-data_4.entry-D2lAUBEM.js → revogr-data_4.entry-ASovYZWH.js} +2 -2
  61. package/dist/{revogr-filter-panel.entry-C-1WXBDy.js → revogr-filter-panel.entry-j_V74kgz.js} +1 -1
  62. package/dist/seal-design-DP1XaAY8.js +4 -0
  63. package/dist/{serialnumber-design-DEYD9ku_.js → serialnumber-design-DXKTYOY7.js} +1 -1
  64. package/dist/shared/index.es.js +6 -6
  65. package/dist/{single-field-drop-Bd3PcWQF.js → single-field-drop-CLjaHjL-.js} +2 -2
  66. package/dist/{size-editor-DiZ8E2R6.js → size-editor-C62H_eRP.js} +1 -1
  67. package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +21 -0
  68. package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +3 -0
  69. package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/field-keys.d.ts +2 -0
  70. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +2 -2
  71. package/dist/src/nocode-base/src/core/sub-table/utils/sterilize/field-keys.d.ts +1 -2
  72. package/dist/src/nocode-base/src/runtime/runtime-form-state-store.d.ts +6 -0
  73. package/dist/src/nocode-base/src/runtime/table-row-identity.d.ts +11 -2
  74. package/dist/src/nocode-base/src/types/fields/i-sign.d.ts +1 -1
  75. package/dist/src/shared/components/DoubleInput/double-input.vue.d.ts +162 -2
  76. package/dist/src/shared/components/LimitedNumberInput/limited-number-input.vue.d.ts +41 -0
  77. package/dist/src/shared/components/LimitedNumberInput/number-input-rules.d.ts +16 -0
  78. package/dist/src/shared/components/Signature/logic/index.d.ts +1 -1
  79. package/dist/{sub-table-factory-B6HdlZ7-.js → sub-table-factory-sn1Ek1c9.js} +16 -14
  80. package/dist/{text-design-D2IwsbOW.js → text-design-CwHfwel0.js} +2 -2
  81. package/dist/{throttle-Cpk1LoGk-DRpYOKiV.js → throttle-Cpk1LoGk-BHDq1lM3.js} +1 -1
  82. package/dist/{timediff-design-Cq3SADlb.js → timediff-design-8kCO3aXz.js} +1 -1
  83. package/dist/{trace-like-wrapper-Qmczl-Hz.js → trace-like-wrapper-CxPz9Trr.js} +2 -2
  84. package/dist/{value-editor.vue_vue_type_style_index_0_lang-UXPOa0Wv.js → value-editor.vue_vue_type_style_index_0_lang-CzEZ0CY7.js} +2 -2
  85. package/dist/web-render/index.es.js +3 -3
  86. package/dist/{widget-barcode-C7wO0SFO.js → widget-barcode-CRxh3tC2.js} +4 -4
  87. package/dist/{widget-diagonal-Cbuv8o5A.js → widget-diagonal-CO586oV2.js} +3 -3
  88. package/dist/{widget-image-4AeqjwGp.js → widget-image-CE6kVnu5.js} +5 -5
  89. package/dist/{widget-line--RgXiyvO.js → widget-line-Br4oIssb.js} +2 -2
  90. package/dist/{widget-pagination-jr6bVWPW.js → widget-pagination-BHwjrBV5.js} +5 -5
  91. package/dist/{widget-power-ptilZfAF.js → widget-power-BySYsE15.js} +3 -3
  92. package/dist/{widget-qrcode-DH-1741M.js → widget-qrcode-D6b0T_Qa.js} +3 -3
  93. package/dist/{widget-rangelimit-B4yv3Qw3.js → widget-rangelimit-DTH7nrqC.js} +3 -3
  94. package/dist/{widget-serialnumber-AZ2IUJTg.js → widget-serialnumber-DVtxhNC3.js} +1 -1
  95. package/dist/{widget-text-CW0A1n16.js → widget-text-gBGybAXk.js} +5 -5
  96. package/dist/{widget-timediff-C3xTGqfj.js → widget-timediff-aY-maVkE.js} +2 -2
  97. package/package.json +1 -1
  98. package/dist/paper-widget-design-CBI-8vTV.js +0 -4
  99. package/dist/seal-design-CMJBAfIN.js +0 -4
@@ -1901,7 +1901,14 @@ function applyFillFromMaterialNoOption(row, source) {
1901
1901
  return applyFillFromMapping$1(row, source, FILL_FROM_MATERIAL_NO_OPTION);
1902
1902
  }
1903
1903
  function applyFillFromProductOption$1(row, source) {
1904
- return applyFillFromMapping$1(row, source, FILL_FROM_PRODUCT_OPTION$1);
1904
+ const defaults2 = source.__DEFAULT__;
1905
+ const product = defaults2 && typeof defaults2 === "object" ? Object.fromEntries(
1906
+ FILL_FROM_PRODUCT_OPTION$1.map(({ optionField }) => [
1907
+ optionField,
1908
+ defaults2[optionField] ?? source[optionField]
1909
+ ])
1910
+ ) : source;
1911
+ return applyFillFromMapping$1(row, product, FILL_FROM_PRODUCT_OPTION$1);
1905
1912
  }
1906
1913
  function isBlank$d(value) {
1907
1914
  return value === void 0 || value === null || value === "";
@@ -3238,6 +3245,8 @@ const F$3 = {
3238
3245
  targetMaterialNo: "target_material_no_",
3239
3246
  /** 替换物料批号 ID */
3240
3247
  targetMaterialNoId: "target_material_no__id_",
3248
+ /** 替换物料批号展示值 */
3249
+ targetMaterialNoLb: "target_material_no__lb_",
3241
3250
  /** 替换物料 */
3242
3251
  targetProduct: "target_product_id_",
3243
3252
  /** 替换物料名称 */
@@ -3291,7 +3300,30 @@ const SCAN_ROW_CONTENT_FIELDS = [
3291
3300
  F$3.targetMaterialNo,
3292
3301
  F$3.targetProduct
3293
3302
  ];
3303
+ const FILL_FROM_TARGET_PRODUCT_OPTION = [
3304
+ { optionField: "material_name_", toField: F$3.targetMaterialNo },
3305
+ { optionField: "product_id_.name_", toField: F$3.targetProductName },
3306
+ { optionField: "product_id_.code_", toField: F$3.targetProductCode },
3307
+ { optionField: "product_id_.spec_", toField: F$3.targetProductSpec },
3308
+ { optionField: "qty_consumed_", toField: F$3.targetQtyConsumed }
3309
+ ];
3310
+ const CLEAR_ON_TARGET_PRODUCT_EMPTY = [
3311
+ F$3.targetMaterialNo,
3312
+ F$3.targetMaterialNoId,
3313
+ F$3.targetMaterialNoLb,
3314
+ F$3.targetProductName,
3315
+ F$3.targetProductCode,
3316
+ F$3.targetProductSpec,
3317
+ F$3.targetQtyConsumed
3318
+ ];
3294
3319
  const fields$4 = [
3320
+ {
3321
+ match: { fieldKey: F$3.targetProduct },
3322
+ autofillTemplates: FILL_FROM_TARGET_PRODUCT_OPTION.map(({ optionField, toField }) => ({
3323
+ fromField: optionField,
3324
+ toField
3325
+ }))
3326
+ },
3295
3327
  {
3296
3328
  match: { fieldKey: F$3.sourceProduct },
3297
3329
  autofillTemplates: FILL_FROM_SOURCE_PRODUCT_OPTION.map(({ optionField, toField }) => ({
@@ -3341,6 +3373,11 @@ const profile$6 = {
3341
3373
  },
3342
3374
  fields: fields$4,
3343
3375
  rowHandlers: [
3376
+ {
3377
+ when: "onFieldChange",
3378
+ watch: [F$3.targetProduct],
3379
+ handler: "on-target-product-change"
3380
+ },
3344
3381
  {
3345
3382
  when: "onFieldChange",
3346
3383
  watch: [F$3.sourceProduct],
@@ -3382,12 +3419,19 @@ function handleTargetMaterialNoChange(ctx) {
3382
3419
  }
3383
3420
  clearFields$1(ctx.rowData, CLEAR_ON_TARGET_MATERIAL_NO_EMPTY);
3384
3421
  }
3422
+ function handleTargetProductChange(ctx) {
3423
+ if (!isBlank$3(ctx.rowData[F$3.targetProduct])) return;
3424
+ clearFields$1(ctx.rowData, CLEAR_ON_TARGET_PRODUCT_EMPTY);
3425
+ }
3385
3426
  registerRowHandler(TABLE_TYPE$5, "on-source-product-change", ({ rowData }) => {
3386
3427
  handleSourceProductChange({ rowData });
3387
3428
  });
3388
3429
  registerRowHandler(TABLE_TYPE$5, "on-target-material-no-change", ({ rowData }) => {
3389
3430
  handleTargetMaterialNoChange({ rowData });
3390
3431
  });
3432
+ registerRowHandler(TABLE_TYPE$5, "on-target-product-change", ({ rowData }) => {
3433
+ handleTargetProductChange({ rowData });
3434
+ });
3391
3435
  const F$2 = {
3392
3436
  /** 点检日期 */
3393
3437
  inspectionDate: "inspection_date_",
@@ -3478,6 +3522,14 @@ const profile$4 = {
3478
3522
  },
3479
3523
  fields: fields$2
3480
3524
  };
3525
+ const LOCKED_INPUT_FIELDS = [
3526
+ "product_id_",
3527
+ "product_id_name_",
3528
+ "product_id_code_",
3529
+ "product_id_spec_",
3530
+ "mfg_order_code_",
3531
+ "mfg_order_id_"
3532
+ ];
3481
3533
  const TABLE_TYPE$2 = "entrust-steril-batch-list";
3482
3534
  const profile$3 = {
3483
3535
  type: TABLE_TYPE$2,
@@ -3494,6 +3546,12 @@ const profile$3 = {
3494
3546
  refModelType: "PRODUCTION_CONTAINER_LIST_4_STERILIZATION",
3495
3547
  tableType: SubTableType.STERILIZE_BATCH
3496
3548
  },
3549
+ fields: [
3550
+ {
3551
+ match: { fieldKey: [...LOCKED_INPUT_FIELDS] },
3552
+ defaultProps: { required: true, disabled: true, fieldDisabled: true }
3553
+ }
3554
+ ],
3497
3555
  theme: {
3498
3556
  color: "#2196D5",
3499
3557
  background: "rgba(33,150,213,0.2)",
@@ -59483,11 +59541,54 @@ async function requestNonMedProCheckDsData(payload) {
59483
59541
  return Object.keys(byTable).length > 0 ? { byTable } : void 0;
59484
59542
  }
59485
59543
  const RUNTIME_COLUMN_ROW_KEY = "_column_row_key_";
59544
+ const MAX_FRONT_ROW_KEY_LENGTH = 255;
59545
+ const TABLE_2D_ROW_KEY_PREFIX = "2d1.";
59546
+ function encodeBase64Url(value) {
59547
+ return btoa(
59548
+ Array.from(new TextEncoder().encode(value), (byte) => String.fromCharCode(byte)).join("")
59549
+ ).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
59550
+ }
59551
+ function decodeBase64Url(value) {
59552
+ const base64 = value.replace(/-/g, "+").replace(/_/g, "/");
59553
+ const padded = base64 + "=".repeat((4 - base64.length % 4) % 4);
59554
+ return new TextDecoder().decode(Uint8Array.from(atob(padded), (char) => char.charCodeAt(0)));
59555
+ }
59556
+ function decodeTableCellRowKey(rowKey) {
59557
+ if (typeof rowKey !== "string" || !rowKey.startsWith(TABLE_2D_ROW_KEY_PREFIX)) return void 0;
59558
+ try {
59559
+ const parsed = JSON.parse(decodeBase64Url(rowKey.slice(TABLE_2D_ROW_KEY_PREFIX.length)));
59560
+ if (!Array.isArray(parsed) || parsed.length !== 2 || parsed.some((item) => typeof item !== "string" || item === ""))
59561
+ return void 0;
59562
+ return { cellRowKey: parsed[0], columnRowKey: parsed[1] };
59563
+ } catch {
59564
+ return void 0;
59565
+ }
59566
+ }
59567
+ function encodeTableCellRowKey(cellRowKey, columnRowKey) {
59568
+ const decoded = decodeTableCellRowKey(cellRowKey);
59569
+ const originalCellRowKey = decoded?.cellRowKey ?? String(cellRowKey ?? "");
59570
+ const persistedColumnRowKey = String(columnRowKey ?? "");
59571
+ if (!originalCellRowKey || !persistedColumnRowKey)
59572
+ throw new Error("二维表子行或关联列缺少 front_row_key_");
59573
+ if (decoded?.columnRowKey === persistedColumnRowKey) return String(cellRowKey);
59574
+ const encoded = `${TABLE_2D_ROW_KEY_PREFIX}${encodeBase64Url(
59575
+ JSON.stringify([originalCellRowKey, persistedColumnRowKey])
59576
+ )}`;
59577
+ if (encoded.length > MAX_FRONT_ROW_KEY_LENGTH)
59578
+ throw new Error(`二维表内置关联键长度超过 ${MAX_FRONT_ROW_KEY_LENGTH},不能提交`);
59579
+ return encoded;
59580
+ }
59581
+ function isTableRowKeyMatch(rowKey, expected) {
59582
+ if (rowKey == null || expected == null) return false;
59583
+ const actual = String(rowKey);
59584
+ const target = String(expected);
59585
+ return actual === target || decodeTableCellRowKey(actual)?.cellRowKey === target;
59586
+ }
59486
59587
  function findRuntimeTableRow(rows, rowKey) {
59487
59588
  if (!rowKey || !Array.isArray(rows)) return void 0;
59488
59589
  for (const row of rows) {
59489
59590
  if (!row || row.deleted_) continue;
59490
- if (String(row[FRONT_ROW_KEY]) === rowKey) return row;
59591
+ if (isTableRowKeyMatch(row[FRONT_ROW_KEY], rowKey)) return row;
59491
59592
  const child = findRuntimeTableRow(row._2DTABLE_, rowKey);
59492
59593
  if (child) return child;
59493
59594
  }
@@ -59496,8 +59597,8 @@ function findRuntimeTableRow(rows, rowKey) {
59496
59597
  function findRuntimeParentRow(rows, rowKey) {
59497
59598
  if (!rowKey || !Array.isArray(rows)) return void 0;
59498
59599
  return rows.find(
59499
- (row) => !row?.deleted_ && (String(row[FRONT_ROW_KEY]) === rowKey || row._2DTABLE_?.some(
59500
- (child) => !child?.deleted_ && String(child[FRONT_ROW_KEY]) === rowKey
59600
+ (row) => !row?.deleted_ && (isTableRowKeyMatch(row[FRONT_ROW_KEY], rowKey) || row._2DTABLE_?.some(
59601
+ (child) => !child?.deleted_ && isTableRowKeyMatch(child[FRONT_ROW_KEY], rowKey)
59501
59602
  ))
59502
59603
  );
59503
59604
  }
@@ -59533,8 +59634,9 @@ function bindRuntimeTableColumns(state, relations) {
59533
59634
  );
59534
59635
  for (const child of parent._2DTABLE_) {
59535
59636
  if (child[RUNTIME_COLUMN_ROW_KEY]) continue;
59637
+ const persistedIdentity = decodeTableCellRowKey(child[FRONT_ROW_KEY]);
59536
59638
  const reference = info.rowRefFieldKey ? child[info.rowRefFieldKey] : void 0;
59537
- let column;
59639
+ let businessColumn;
59538
59640
  if (reference != null && reference !== "" && info.colRefFieldKey) {
59539
59641
  const matches = columns.filter(
59540
59642
  (candidate) => String(candidate[info.colRefFieldKey]) === String(reference)
@@ -59543,14 +59645,20 @@ function bindRuntimeTableColumns(state, relations) {
59543
59645
  throw new Error(
59544
59646
  `二维表「${info.rowSubFieldKey}」的关联列引用「${reference}」无法唯一匹配`
59545
59647
  );
59546
- column = matches[0];
59547
- } else {
59548
- if (child.id_)
59549
- throw new Error(
59550
- `二维表「${info.rowSubFieldKey}」已保存子行「${child[FRONT_ROW_KEY]}」缺少关联列引用`
59551
- );
59552
- column = available.shift();
59553
- }
59648
+ businessColumn = matches[0];
59649
+ }
59650
+ const persistedColumn = persistedIdentity ? columns.find(
59651
+ (candidate) => ensureFrontRowKey(candidate) === persistedIdentity.columnRowKey
59652
+ ) : void 0;
59653
+ if (persistedIdentity && !persistedColumn)
59654
+ throw new Error(
59655
+ `二维表「${info.rowSubFieldKey}」子行「${child[FRONT_ROW_KEY]}」的内置关联列不存在`
59656
+ );
59657
+ if (businessColumn && persistedColumn && businessColumn !== persistedColumn)
59658
+ throw new Error(
59659
+ `二维表「${info.rowSubFieldKey}」子行「${child[FRONT_ROW_KEY]}」的业务引用与内置关联冲突`
59660
+ );
59661
+ const column = businessColumn ?? persistedColumn ?? available.shift();
59554
59662
  if (!column) throw new Error(`二维表「${info.rowSubFieldKey}」缺少可绑定的关联列行`);
59555
59663
  const columnKey = ensureFrontRowKey(column);
59556
59664
  if (bound.has(columnKey))
@@ -60369,6 +60477,7 @@ const transformUtils = {
60369
60477
  materialConsumeTableList = []
60370
60478
  } = layout || {};
60371
60479
  const list2D = [...subTable2DList, ...checkTable2DList];
60480
+ bindRuntimeTableColumns(formData, list2D);
60372
60481
  const filterKeys = [
60373
60482
  "_DICT",
60374
60483
  "_OPCT",
@@ -60398,32 +60507,46 @@ const transformUtils = {
60398
60507
  );
60399
60508
  const arr = flatMap(
60400
60509
  formData[fieldKey],
60401
- (row) => (row._2DTABLE_ ?? []).map((child) => {
60510
+ (row) => flatMap(row._2DTABLE_ ?? [], (child) => {
60511
+ const submitRow = omit(
60512
+ merge(
60513
+ pickBy(omit(row, filterKeys), (value) => !isNil(value)),
60514
+ pickBy(omit(child, filterKeys), (value) => !isNil(value))
60515
+ ),
60516
+ "_2DTABLE_"
60517
+ );
60518
+ const hasBusinessData = Object.entries(submitRow).some(([key, value]) => {
60519
+ if (key === FRONT_ROW_KEY || key === "group_") return false;
60520
+ if ((key === "deleted_" || key === "delete_") && !value) return false;
60521
+ if (Array.isArray(value)) return value.length > 0;
60522
+ if (isObject$1(value)) return !isEmpty(value);
60523
+ return value !== "";
60524
+ });
60525
+ if (!hasBusinessData) return [];
60402
60526
  const column = columns.get(child[RUNTIME_COLUMN_ROW_KEY]);
60403
60527
  if (info.colSubFieldKey && !column) {
60404
60528
  throw new Error(
60405
60529
  `二维表「${fieldKey}」子行「${child[FRONT_ROW_KEY]}」缺少关联列行,不能提交`
60406
60530
  );
60407
60531
  }
60408
- if (column && info.rowRefFieldKey && (column[info.colRefFieldKey] == null || column[info.colRefFieldKey] === "")) {
60409
- throw new Error(
60410
- `二维表「${fieldKey}」关联列「${column[FRONT_ROW_KEY]}」缺少可保存的引用值,不能提交`
60411
- );
60412
- }
60413
- return omit(
60532
+ const businessReference = column && info.rowRefFieldKey && info.colRefFieldKey ? column[info.colRefFieldKey] : void 0;
60533
+ const canSaveBusinessReference = businessReference != null && businessReference !== "";
60534
+ const persistedSubmitRow = column && !canSaveBusinessReference ? {
60535
+ ...omit(submitRow, info.rowRefFieldKey),
60536
+ [FRONT_ROW_KEY]: encodeTableCellRowKey(
60537
+ child[FRONT_ROW_KEY],
60538
+ column[FRONT_ROW_KEY]
60539
+ )
60540
+ } : submitRow;
60541
+ return [
60414
60542
  merge(
60415
- pickBy(omit(row, filterKeys), (value) => !isNil(value)),
60416
- pickBy(omit(child, filterKeys), (value) => !isNil(value)),
60417
- column && info.rowRefFieldKey ? { [info.rowRefFieldKey]: column[info.colRefFieldKey] } : {}
60418
- ),
60419
- "_2DTABLE_"
60420
- );
60543
+ persistedSubmitRow,
60544
+ column && info.rowRefFieldKey && canSaveBusinessReference ? { [info.rowRefFieldKey]: businessReference } : {}
60545
+ )
60546
+ ];
60421
60547
  })
60422
60548
  );
60423
- acc[fieldKey] = arr.every((item) => {
60424
- const keys2 = Object.keys(item).filter((key) => key !== FRONT_ROW_KEY);
60425
- return keys2.length === 1 && has(item, "group_");
60426
- }) ? [] : arr;
60549
+ acc[fieldKey] = arr;
60427
60550
  } else if (Array.isArray(formData[fieldKey])) {
60428
60551
  acc[fieldKey] = formData[fieldKey].map(
60429
60552
  (item) => Object.fromEntries(
@@ -61257,6 +61380,17 @@ async function getRefList({
61257
61380
  totalCount: 0
61258
61381
  };
61259
61382
  }
61383
+ if ((bizType || fieldType) === FIELD_TYPE.E_SOP || refModelKey === "em_document") {
61384
+ const settings = window.NocodeAdapter.hooks?.useBusinessSetting?.();
61385
+ await settings?.ensureBusinessSettingLoaded?.();
61386
+ if (settings?.businessSetting?.enableSopDocApprove) {
61387
+ queryData = {
61388
+ ...queryData,
61389
+ operating_state_: true,
61390
+ approve_status_: "EFFECTIVE"
61391
+ };
61392
+ }
61393
+ }
61260
61394
  const params = {
61261
61395
  modelKey,
61262
61396
  fieldKey,
@@ -67081,27 +67215,27 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
67081
67215
  case "revo-grid":
67082
67216
  return import(
67083
67217
  /* webpackMode: "lazy" */
67084
- "./revo-grid.entry-BqbaKcyR.js"
67218
+ "./revo-grid.entry-RzymRzb0.js"
67085
67219
  ).then(processMod, consoleError);
67086
67220
  case "revogr-filter-panel":
67087
67221
  return import(
67088
67222
  /* webpackMode: "lazy" */
67089
- "./revogr-filter-panel.entry-C-1WXBDy.js"
67223
+ "./revogr-filter-panel.entry-j_V74kgz.js"
67090
67224
  ).then(processMod, consoleError);
67091
67225
  case "revogr-attribution_7":
67092
67226
  return import(
67093
67227
  /* webpackMode: "lazy" */
67094
- "./revogr-attribution_7.entry-jmN78nkb.js"
67228
+ "./revogr-attribution_7.entry-CxTEXm8Q.js"
67095
67229
  ).then(processMod, consoleError);
67096
67230
  case "revogr-clipboard_3":
67097
67231
  return import(
67098
67232
  /* webpackMode: "lazy" */
67099
- "./revogr-clipboard_3.entry-eK74i7_f.js"
67233
+ "./revogr-clipboard_3.entry-DQEid83u.js"
67100
67234
  ).then(processMod, consoleError);
67101
67235
  case "revogr-data_4":
67102
67236
  return import(
67103
67237
  /* webpackMode: "lazy" */
67104
- "./revogr-data_4.entry-D2lAUBEM.js"
67238
+ "./revogr-data_4.entry-ASovYZWH.js"
67105
67239
  ).then(processMod, consoleError);
67106
67240
  }
67107
67241
  }
@@ -72148,7 +72282,7 @@ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
72148
72282
  stack["delete"](other);
72149
72283
  return result;
72150
72284
  }
72151
- var Uint8Array = root.Uint8Array;
72285
+ var Uint8Array$1 = root.Uint8Array;
72152
72286
  function mapToArray(map) {
72153
72287
  var index2 = -1, result = Array(map.size);
72154
72288
  map.forEach(function(value, key) {
@@ -72176,7 +72310,7 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
72176
72310
  object = object.buffer;
72177
72311
  other = other.buffer;
72178
72312
  case arrayBufferTag$1:
72179
- if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
72313
+ if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array$1(object), new Uint8Array$1(other))) {
72180
72314
  return false;
72181
72315
  }
72182
72316
  return true;
@@ -77431,7 +77565,7 @@ export {
77431
77565
  DecimalDisplayMode as ay,
77432
77566
  ImageDisplayModeEnum as az,
77433
77567
  isBusinessSubTableProfile as b,
77434
- bindRuntimeTableColumns as b$,
77568
+ applyMedProCheckDsDataToRuntime as b$,
77435
77569
  getParseRuleInfo as b0,
77436
77570
  getParseRuleValue as b1,
77437
77571
  normalizeRefLoaderResult as b2,
@@ -77462,13 +77596,13 @@ export {
77462
77596
  DeviceStatus as bR,
77463
77597
  EBR_PROVIDE_ENUM as bS,
77464
77598
  EFieldBizTypeEnum as bT,
77465
- MobileFillTypeEnum as bU,
77466
- OfficeTypeEnum as bV,
77467
- PosEnum as bW,
77468
- RUNTIME_COLUMN_ROW_KEY as bX,
77469
- SummaryApproveHisTypeEnum as bY,
77470
- applyCheckDsDataToRuntime as bZ,
77471
- applyMedProCheckDsDataToRuntime as b_,
77599
+ MAX_FRONT_ROW_KEY_LENGTH as bU,
77600
+ MobileFillTypeEnum as bV,
77601
+ OfficeTypeEnum as bW,
77602
+ PosEnum as bX,
77603
+ RUNTIME_COLUMN_ROW_KEY as bY,
77604
+ SummaryApproveHisTypeEnum as bZ,
77605
+ applyCheckDsDataToRuntime as b_,
77472
77606
  isValidSealValue as ba,
77473
77607
  clearSealValue as bb,
77474
77608
  normalizeProductionContainerOptions as bc,
@@ -77496,175 +77630,181 @@ export {
77496
77630
  isBomGranted as by,
77497
77631
  parseFrontConfig as bz,
77498
77632
  getProfileByTableType as c,
77499
- F$5 as c$,
77500
- buildDeviceBaseQuery as c0,
77501
- calcFillData as c1,
77502
- calcUtils as c2,
77503
- ensureFrontRowKey as c3,
77504
- ensureTableRowKeys as c4,
77505
- extractKeywordFromQueryData as c5,
77506
- fetchCheckDsDataForTable as c6,
77507
- fetchCustomCheckDsData as c7,
77508
- fetchMedProCheckDsData as c8,
77509
- findRuntimeTableCell as c9,
77510
- groupFixedTableRows as cA,
77511
- processQuickFillRows as cB,
77512
- getIsGroupEmpty as cC,
77513
- getAugmentedNamespace as cD,
77514
- CardControlEnum as cE,
77515
- EntityModelTypeEnum as cF,
77516
- RecordNoGenerateEnum as cG,
77517
- TagTypeEnum as cH,
77518
- F$6 as cI,
77519
- SCAN_ROW_CONTENT_FIELDS as cJ,
77520
- F$3 as cK,
77521
- F$7 as cL,
77522
- runRowHandler as cM,
77523
- F$a as cN,
77524
- F$9 as cO,
77525
- FILL_FROM_SOURCE_PRODUCT_OPTION as cP,
77526
- FILL_FROM_TARGET_MATERIAL_NO_OPTION as cQ,
77527
- FILL_FROM_INVENTORY_OPTION$2 as cR,
77528
- FILL_FROM_PART_OPTION as cS,
77529
- FILL_FROM_INVENTORY_OPTION$3 as cT,
77530
- TABLE_TYPE$b as cU,
77531
- FILL_FROM_INVENTORY_OPTION$1 as cV,
77532
- INVENTORY_BASE_FIELDS as cW,
77533
- resolveGroupByWarehouse as cX,
77534
- AUTO_LOAD_READONLY_SELECT_FIELDS as cY,
77535
- buildFillFromInventoryOption as cZ,
77536
- resolveStocktakeInventoryApi as c_,
77537
- getCheckTableSnapshotKey as ca,
77538
- getParseRuleConfig as cb,
77539
- getReinspectionDate as cc,
77540
- getRenderedRuntimeTableCell as cd,
77541
- handleOldConfig as ce,
77542
- hasAnyCheckTableSnapshot as cf,
77543
- hasByTableCheckTableSnapshot as cg,
77544
- hasSharedCheckTableSnapshot as ch,
77545
- isMedProSuite as ci,
77546
- jsonSchemaUtils as cj,
77547
- judgeUnique as ck,
77548
- migrateDiagonalDirectionToVertex as cl,
77549
- relocateDeletedRowsToEnd as cm,
77550
- requestMedProCheckDsData as cn,
77551
- requestNonMedProCheckDsData as co,
77552
- stockCheck as cp,
77553
- useOnlineFormActionButton as cq,
77554
- getFieldPlaceholder as cr,
77555
- isReferenceOptionActive as cs,
77556
- FRONT_ROW_KEY as ct,
77557
- filterRulesByTrigger as cu,
77558
- isEmptyValue as cv,
77559
- buildError as cw,
77560
- resetTableRowIdentity as cx,
77561
- q as cy,
77562
- QUICK_FILL_ALLOWED_FIELDS as cz,
77633
+ INVENTORY_BASE_FIELDS as c$,
77634
+ bindRuntimeTableColumns as c0,
77635
+ buildDeviceBaseQuery as c1,
77636
+ calcFillData as c2,
77637
+ calcUtils as c3,
77638
+ decodeTableCellRowKey as c4,
77639
+ encodeTableCellRowKey as c5,
77640
+ ensureFrontRowKey as c6,
77641
+ ensureTableRowKeys as c7,
77642
+ extractKeywordFromQueryData as c8,
77643
+ fetchCheckDsDataForTable as c9,
77644
+ buildError as cA,
77645
+ resetTableRowIdentity as cB,
77646
+ q as cC,
77647
+ QUICK_FILL_ALLOWED_FIELDS as cD,
77648
+ groupFixedTableRows as cE,
77649
+ processQuickFillRows as cF,
77650
+ getIsGroupEmpty as cG,
77651
+ getAugmentedNamespace as cH,
77652
+ CardControlEnum as cI,
77653
+ EntityModelTypeEnum as cJ,
77654
+ RecordNoGenerateEnum as cK,
77655
+ TagTypeEnum as cL,
77656
+ F$6 as cM,
77657
+ SCAN_ROW_CONTENT_FIELDS as cN,
77658
+ F$3 as cO,
77659
+ FILL_FROM_TARGET_PRODUCT_OPTION as cP,
77660
+ F$7 as cQ,
77661
+ runRowHandler as cR,
77662
+ F$a as cS,
77663
+ F$9 as cT,
77664
+ FILL_FROM_SOURCE_PRODUCT_OPTION as cU,
77665
+ FILL_FROM_TARGET_MATERIAL_NO_OPTION as cV,
77666
+ FILL_FROM_INVENTORY_OPTION$2 as cW,
77667
+ FILL_FROM_PART_OPTION as cX,
77668
+ FILL_FROM_INVENTORY_OPTION$3 as cY,
77669
+ TABLE_TYPE$b as cZ,
77670
+ FILL_FROM_INVENTORY_OPTION$1 as c_,
77671
+ fetchCustomCheckDsData as ca,
77672
+ fetchMedProCheckDsData as cb,
77673
+ findRuntimeTableCell as cc,
77674
+ getCheckTableSnapshotKey as cd,
77675
+ getParseRuleConfig as ce,
77676
+ getReinspectionDate as cf,
77677
+ getRenderedRuntimeTableCell as cg,
77678
+ handleOldConfig as ch,
77679
+ hasAnyCheckTableSnapshot as ci,
77680
+ hasByTableCheckTableSnapshot as cj,
77681
+ hasSharedCheckTableSnapshot as ck,
77682
+ isMedProSuite as cl,
77683
+ isTableRowKeyMatch as cm,
77684
+ jsonSchemaUtils as cn,
77685
+ judgeUnique as co,
77686
+ migrateDiagonalDirectionToVertex as cp,
77687
+ relocateDeletedRowsToEnd as cq,
77688
+ requestMedProCheckDsData as cr,
77689
+ requestNonMedProCheckDsData as cs,
77690
+ stockCheck as ct,
77691
+ useOnlineFormActionButton as cu,
77692
+ getFieldPlaceholder as cv,
77693
+ isReferenceOptionActive as cw,
77694
+ FRONT_ROW_KEY as cx,
77695
+ filterRulesByTrigger as cy,
77696
+ isEmptyValue as cz,
77563
77697
  getBusinessProfileByRefModelType as d,
77564
- getCellData as d$,
77565
- FILL_FROM_INVENTORY_OPTION as d0,
77566
- composeProductionLotListQuery as d1,
77567
- F as d2,
77568
- isProductManuallyEditable as d3,
77569
- applyFillFromMfgOrderOption as d4,
77570
- applyFillFromOption as d5,
77571
- applyFillFromProductOption as d6,
77572
- MATERIAL_CONTAINER_ID as d7,
77573
- F$c as d8,
77574
- PRODUCT_QUICK_SEARCH_FIELDS as d9,
77575
- BasePlugin as dA,
77576
- reduce as dB,
77577
- columnTypes as dC,
77578
- debounce$1 as dD,
77579
- RESIZE_INTERVAL as dE,
77580
- DimensionStore as dF,
77581
- gatherTrimmedItems as dG,
77582
- getColumnSizes as dH,
77583
- getItemByIndex as dI,
77584
- DataStore as dJ,
77585
- getSourceItem as dK,
77586
- getSourceItemVirtualIndexByProp as dL,
77587
- getColumnType as dM,
77588
- setSourceByPhysicalIndex as dN,
77589
- setSourceByVirtualIndex as dO,
77590
- SelectionStore as dP,
77591
- cropCellToMax as dQ,
77592
- nextCell as dR,
77593
- isRowType as dS,
77594
- ViewportStore as dT,
77595
- AndOrButton as dU,
77596
- ReorderButton as dV,
77597
- TrashButton as dW,
77598
- isFilterBtn as dX,
77599
- ColumnService as dY,
77600
- MOBILE_CLASS as dZ,
77601
- SELECTION_BORDER_CLASS as d_,
77602
- PRODUCT_QUICK_SEARCH_EXP as da,
77603
- isProductManuallyEditable$1 as db,
77604
- applyFillFromMaterialNoOption as dc,
77605
- applyFillFromProductOption$1 as dd,
77606
- F$b as de,
77607
- FILL_FROM_INVENTORY_OPTION$4 as df,
77608
- registerInstance as dg,
77609
- createEvent as dh,
77610
- getColumnByProp as di,
77611
- timeout as dj,
77612
- getVisibleSourceItem as dk,
77613
- getColumns as dl,
77614
- rowTypes as dm,
77615
- GroupingRowPlugin as dn,
77616
- StretchColumn as dp,
77617
- isStretchPlugin as dq,
77618
- AutoSizeColumnPlugin as dr,
77619
- FilterPlugin as ds,
77620
- ExportFilePlugin as dt,
77621
- SortingPlugin as du,
77622
- ColumnMovePlugin as dv,
77623
- ThemeService as dw,
77624
- h as dx,
77625
- Host as dy,
77626
- getElement as dz,
77698
+ ReorderButton as d$,
77699
+ resolveGroupByWarehouse as d0,
77700
+ AUTO_LOAD_READONLY_SELECT_FIELDS as d1,
77701
+ buildFillFromInventoryOption as d2,
77702
+ resolveStocktakeInventoryApi as d3,
77703
+ F$5 as d4,
77704
+ FILL_FROM_INVENTORY_OPTION as d5,
77705
+ LOCKED_INPUT_FIELDS as d6,
77706
+ composeProductionLotListQuery as d7,
77707
+ F as d8,
77708
+ isProductManuallyEditable as d9,
77709
+ SortingPlugin as dA,
77710
+ ColumnMovePlugin as dB,
77711
+ ThemeService as dC,
77712
+ h as dD,
77713
+ Host as dE,
77714
+ getElement as dF,
77715
+ BasePlugin as dG,
77716
+ reduce as dH,
77717
+ columnTypes as dI,
77718
+ debounce$1 as dJ,
77719
+ RESIZE_INTERVAL as dK,
77720
+ DimensionStore as dL,
77721
+ gatherTrimmedItems as dM,
77722
+ getColumnSizes as dN,
77723
+ getItemByIndex as dO,
77724
+ DataStore as dP,
77725
+ getSourceItem as dQ,
77726
+ getSourceItemVirtualIndexByProp as dR,
77727
+ getColumnType as dS,
77728
+ setSourceByPhysicalIndex as dT,
77729
+ setSourceByVirtualIndex as dU,
77730
+ SelectionStore as dV,
77731
+ cropCellToMax as dW,
77732
+ nextCell as dX,
77733
+ isRowType as dY,
77734
+ ViewportStore as dZ,
77735
+ AndOrButton as d_,
77736
+ applyFillFromMfgOrderOption as da,
77737
+ applyFillFromOption as db,
77738
+ applyFillFromProductOption as dc,
77739
+ MATERIAL_CONTAINER_ID as dd,
77740
+ F$c as de,
77741
+ PRODUCT_QUICK_SEARCH_FIELDS as df,
77742
+ PRODUCT_QUICK_SEARCH_EXP as dg,
77743
+ isProductManuallyEditable$1 as dh,
77744
+ applyFillFromMaterialNoOption as di,
77745
+ applyFillFromProductOption$1 as dj,
77746
+ F$b as dk,
77747
+ FILL_FROM_INVENTORY_OPTION$4 as dl,
77748
+ registerInstance as dm,
77749
+ createEvent as dn,
77750
+ getColumnByProp as dp,
77751
+ timeout as dq,
77752
+ getVisibleSourceItem as dr,
77753
+ getColumns as ds,
77754
+ rowTypes as dt,
77755
+ GroupingRowPlugin as du,
77756
+ StretchColumn as dv,
77757
+ isStretchPlugin as dw,
77758
+ AutoSizeColumnPlugin as dx,
77759
+ FilterPlugin as dy,
77760
+ ExportFilePlugin as dz,
77627
77761
  expandAutofillTemplates as e,
77628
- getCellEditor as e0,
77629
- getRange as e1,
77630
- isRangeSingleCell as e2,
77631
- codesLetter as e3,
77632
- calculateRowHeaderSize as e4,
77633
- ROW_HEADER_TYPE as e5,
77634
- getScrollbarSize as e6,
77635
- FOCUS_CLASS as e7,
77636
- CELL_HANDLER_CLASS as e8,
77637
- TMP_SELECTION_BG_CLASS as e9,
77638
- MIN_COL_SIZE as eA,
77639
- FilterButton as eB,
77640
- HeaderCellRenderer as eC,
77641
- HEADER_CLASS as eD,
77642
- getItemByPosition as ea,
77643
- EDIT_INPUT_WR as eb,
77644
- keyValues as ec,
77645
- isObject as ed,
77646
- DRAGG_TEXT as ee,
77647
- PSEUDO_GROUP_ITEM as ef,
77648
- GROUP_EXPANDED as eg,
77649
- GROUP_DEPTH as eh,
77650
- GROUP_EXPAND_BTN as ei,
77651
- DATA_ROW as ej,
77652
- isGroupingColumn as ek,
77653
- GROUP_COLUMN_PROP as el,
77654
- getCellRaw as em,
77655
- DATA_COL as en,
77656
- CELL_CLASS as eo,
77657
- Build as ep,
77658
- isRowDragService as eq,
77659
- DRAG_ICON_CLASS as er,
77660
- DRAGGABLE_CLASS as es,
77661
- getCellDataParsed as et,
77662
- GROUP_EXPAND_EVENT as eu,
77663
- isGrouping as ev,
77664
- HEADER_ROW_CLASS as ew,
77665
- HEADER_ACTUAL_ROW_CLASS as ex,
77666
- ROW_FOCUSED_CLASS as ey,
77667
- HEADER_SORTABLE_CLASS as ez,
77762
+ TrashButton as e0,
77763
+ isFilterBtn as e1,
77764
+ ColumnService as e2,
77765
+ MOBILE_CLASS as e3,
77766
+ SELECTION_BORDER_CLASS as e4,
77767
+ getCellData as e5,
77768
+ getCellEditor as e6,
77769
+ getRange as e7,
77770
+ isRangeSingleCell as e8,
77771
+ codesLetter as e9,
77772
+ GROUP_EXPAND_EVENT as eA,
77773
+ isGrouping as eB,
77774
+ HEADER_ROW_CLASS as eC,
77775
+ HEADER_ACTUAL_ROW_CLASS as eD,
77776
+ ROW_FOCUSED_CLASS as eE,
77777
+ HEADER_SORTABLE_CLASS as eF,
77778
+ MIN_COL_SIZE as eG,
77779
+ FilterButton as eH,
77780
+ HeaderCellRenderer as eI,
77781
+ HEADER_CLASS as eJ,
77782
+ calculateRowHeaderSize as ea,
77783
+ ROW_HEADER_TYPE as eb,
77784
+ getScrollbarSize as ec,
77785
+ FOCUS_CLASS as ed,
77786
+ CELL_HANDLER_CLASS as ee,
77787
+ TMP_SELECTION_BG_CLASS as ef,
77788
+ getItemByPosition as eg,
77789
+ EDIT_INPUT_WR as eh,
77790
+ keyValues as ei,
77791
+ isObject as ej,
77792
+ DRAGG_TEXT as ek,
77793
+ PSEUDO_GROUP_ITEM as el,
77794
+ GROUP_EXPANDED as em,
77795
+ GROUP_DEPTH as en,
77796
+ GROUP_EXPAND_BTN as eo,
77797
+ DATA_ROW as ep,
77798
+ isGroupingColumn as eq,
77799
+ GROUP_COLUMN_PROP as er,
77800
+ getCellRaw as es,
77801
+ DATA_COL as et,
77802
+ CELL_CLASS as eu,
77803
+ Build as ev,
77804
+ isRowDragService as ew,
77805
+ DRAG_ICON_CLASS as ex,
77806
+ DRAGGABLE_CLASS as ey,
77807
+ getCellDataParsed as ez,
77668
77808
  SubTableType as f,
77669
77809
  getAllDataProfiles as g,
77670
77810
  getAllBusinessRefModelTypes as h,