@gct-paas/excel 0.1.39-beta.47 → 0.1.39-beta.49

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 (97) hide show
  1. package/dist/{BaseComponent-B4z-0IvX.js → BaseComponent-C1h429zs.js} +2 -2
  2. package/dist/{VueVideoPlayer-CsiWnQT8.js → VueVideoPlayer-Ca23ED7v.js} +2 -2
  3. package/dist/{align-editor-CRjMBiv1.js → align-editor-6c2LC6xc.js} +1 -1
  4. package/dist/{barcode-design-CkIF3AdC.js → barcode-design-C_xO0jor.js} +2 -2
  5. package/dist/base/index.es.js +109 -62
  6. package/dist/{diagonal-design-CBGnh101.js → diagonal-design-BFxBAG3i.js} +2 -2
  7. package/dist/{dynamic-table-action-ZAmTIvcp.js → dynamic-table-action-DFabTKVv.js} +119 -82
  8. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DTkBFPUl.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang--M6ES58_.js} +382 -368
  9. package/dist/{edit.utils-CXmmCnxE-Be_Jj92u.js → edit.utils-CXmmCnxE-CW2WVjJi.js} +1 -1
  10. package/dist/excel.css +2 -2
  11. package/dist/{exceljs.min-BdYR3omv.js → exceljs.min-vOmepi6j.js} +2 -2
  12. package/dist/{font-editor-C40nR0g-.js → font-editor-CNA-69tk.js} +3 -3
  13. package/dist/{image-design-CjDaoN6i.js → image-design-DAMqKfR4.js} +2 -2
  14. package/dist/{index-C3YwX02a.js → index-2SkzLFoC.js} +2 -2
  15. package/dist/{index-BYLb70Wd.js → index-5B4uB3JL.js} +2 -2
  16. package/dist/{index-CAeGCpqZ.js → index-6CT_4Jha.js} +1 -1
  17. package/dist/{index-KGWuZtk7.js → index-B-wN9cvQ.js} +2 -2
  18. package/dist/{index-BJh9up1X.js → index-BEVtkZps.js} +1 -1
  19. package/dist/{index-BMTx6T5g.js → index-BH2VaJgM.js} +3 -3
  20. package/dist/{index-YqLRgg7Y.js → index-BJ7AkCbB.js} +2 -2
  21. package/dist/{index-CSl64wAM.js → index-BJFbn7eK.js} +3 -3
  22. package/dist/{index-DPrC3u3G.js → index-BV8-rI9q.js} +3 -3
  23. package/dist/{index-BQMXQ1X0.js → index-BVR1UCrj.js} +2 -2
  24. package/dist/{index-6v9F3V5a.js → index-BVYi3rfK.js} +3 -3
  25. package/dist/{index-Cl-nmu1E.js → index-Bnn8D9vx.js} +1 -1
  26. package/dist/{index-BJOhGaZ4.js → index-Bq_rp1rw.js} +2 -2
  27. package/dist/{index-BTUEzj0j.js → index-BrB6jgrE.js} +2 -2
  28. package/dist/{index-DxBNlXoA.js → index-BxIQyIEM.js} +2 -2
  29. package/dist/{index-DrzUn5zx.js → index-CHQfSnNJ.js} +1 -1
  30. package/dist/{index-jzjOcKYl.js → index-CSHFxbHp.js} +2 -2
  31. package/dist/{index-r-T7O_NL.js → index-Ce9iZFsC.js} +2 -2
  32. package/dist/{index-9bqJP9tH.js → index-ChioR7wt.js} +2 -2
  33. package/dist/{index-CbkZXECS.js → index-Cxjc25sU.js} +3 -3
  34. package/dist/{index-CLFvRsjI.js → index-D-dP3cGJ.js} +2 -2
  35. package/dist/{index-BhwTs4qO.js → index-D1bnU20t.js} +2 -2
  36. package/dist/{index-CwFhzKly.js → index-DAVD3o_T.js} +2 -2
  37. package/dist/{index-DHtjlchw.js → index-DNNqAs8a.js} +168 -149
  38. package/dist/{index-C1Ew74_3.js → index-DOyoMEXD.js} +1 -1
  39. package/dist/{index-CRyXfD1E.js → index-DRu1a_M6.js} +2 -2
  40. package/dist/{index-C8ZmRWFO.js → index-DZ_chfLG.js} +4 -4
  41. package/dist/{index-Dp514iQN.js → index-DjHFRe8n.js} +3 -3
  42. package/dist/{index-CJNVJa0j.js → index-DloaUH4l.js} +2 -2
  43. package/dist/{index-CMBdCQdv.js → index-Es4YDRo8.js} +1 -1
  44. package/dist/{index-BTYJa5FX.js → index-LgYJM2d4.js} +1 -1
  45. package/dist/{index-DGEWt4fq.js → index-ZSXgrukM.js} +1 -1
  46. package/dist/{index-DXJ2ZLjB.js → index-h65oY0wv.js} +1 -1
  47. package/dist/{index-e2fj0ZUQ.js → index-vYnnD6AY.js} +1 -1
  48. package/dist/{index-BJg7lRhl.js → index-zmFqYyCW.js} +2 -2
  49. package/dist/index.es.js +2 -2
  50. package/dist/{mb-render-C7bYBZNr.js → mb-render-HYBbL4je.js} +1 -1
  51. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-Bj9EoXh1.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-NbLtIf54.js} +1 -1
  52. package/dist/{pagination-design-DvuhHy_g.js → pagination-design-C33n_knS.js} +2 -2
  53. package/dist/paper-widget-design-BSEiISrR.js +4 -0
  54. package/dist/{print-runtime-instance-CjKnPN_O.js → print-runtime-instance-DKxmOdjq.js} +1 -1
  55. package/dist/{print-snapshot-renderer-Cjtv_a17.js → print-snapshot-renderer-DplvMCOJ.js} +3 -3
  56. package/dist/{qrcode-design-Bmz1I857.js → qrcode-design-CSsYRa59.js} +1 -1
  57. package/dist/{revo-grid.entry-BORGM9ol.js → revo-grid.entry-Be97ST99.js} +1 -1
  58. package/dist/{revogr-attribution_7.entry-Bbt9xrbj.js → revogr-attribution_7.entry-DY55EHUK.js} +3 -3
  59. package/dist/{revogr-clipboard_3.entry-BALlsgGo.js → revogr-clipboard_3.entry-BBOcVxnm.js} +2 -2
  60. package/dist/{revogr-data_4.entry-C5gCRtZO.js → revogr-data_4.entry-BbfKmCSr.js} +2 -2
  61. package/dist/{revogr-filter-panel.entry-0bOrAEF0.js → revogr-filter-panel.entry-CQgUZAYK.js} +1 -1
  62. package/dist/seal-design-C1pRzFqT.js +4 -0
  63. package/dist/{serialnumber-design-DqpV7rjc.js → serialnumber-design-B_Vr6PTs.js} +1 -1
  64. package/dist/shared/index.es.js +6 -6
  65. package/dist/{single-field-drop-DME3ih-W.js → single-field-drop-DDCsNS3W.js} +2 -2
  66. package/dist/{size-editor-BwDIwzDh.js → size-editor-BQqwHGX-.js} +1 -1
  67. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +3 -1
  68. package/dist/src/nocode-base/src/hooks/material-consume/types.d.ts +2 -0
  69. package/dist/src/nocode-base/src/runtime/formula-utils.d.ts +2 -0
  70. package/dist/src/nocode-base/src/runtime/runtime-form-state-store.d.ts +6 -2
  71. package/dist/src/nocode-base/src/runtime/table-row-identity.d.ts +2 -0
  72. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +12 -0
  73. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +9 -1
  74. package/dist/src/online-form/src/views/designer/modules/panel/panel-data-init-config/object-init/hooks/useObjectInit.d.ts +1 -0
  75. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +6 -0
  76. package/dist/src/online-form/src/views/designer/types/index.d.ts +2 -0
  77. package/dist/{sub-table-factory-9_e9NXAk.js → sub-table-factory-BpyB5OlC.js} +2 -2
  78. package/dist/{text-design-CCgUDgoT.js → text-design-6ExcVDYW.js} +2 -2
  79. package/dist/{throttle-Cpk1LoGk-DEt1jg2L.js → throttle-Cpk1LoGk-Bg_Bed1e.js} +1 -1
  80. package/dist/{timediff-design-DDss5fNj.js → timediff-design-BEVJAK71.js} +1 -1
  81. package/dist/{trace-like-wrapper-BUq72oS3.js → trace-like-wrapper-CBpVK8U6.js} +2 -2
  82. package/dist/{value-editor.vue_vue_type_style_index_0_lang-WNhb31ms.js → value-editor.vue_vue_type_style_index_0_lang-mSchVPf0.js} +2 -2
  83. package/dist/web-render/index.es.js +3 -3
  84. package/dist/{widget-barcode-BZnKdE1G.js → widget-barcode-BMA-mWsJ.js} +4 -4
  85. package/dist/{widget-diagonal-BklDdpSM.js → widget-diagonal-DA3UW7np.js} +3 -3
  86. package/dist/{widget-image-C_UvhchS.js → widget-image-aDBxxk8w.js} +5 -5
  87. package/dist/{widget-line-DY28Dncn.js → widget-line-BxocSAh7.js} +2 -2
  88. package/dist/{widget-pagination-CfYnms-D.js → widget-pagination-Colzk2mT.js} +5 -5
  89. package/dist/{widget-power-CoFnc1vr.js → widget-power-Cbet700Q.js} +3 -3
  90. package/dist/{widget-qrcode-CKMRpndx.js → widget-qrcode-DgjnrEVt.js} +3 -3
  91. package/dist/{widget-rangelimit-yZ0Omj6J.js → widget-rangelimit-B9vhV0nA.js} +3 -3
  92. package/dist/{widget-serialnumber-SYVYekOJ.js → widget-serialnumber-D8EJ1fV-.js} +1 -1
  93. package/dist/{widget-text-D6vtAr4i.js → widget-text-D-vER3xP.js} +5 -5
  94. package/dist/{widget-timediff-FSvEPH5s.js → widget-timediff-gbfqYExJ.js} +2 -2
  95. package/package.json +1 -1
  96. package/dist/paper-widget-design-CAz9s6te.js +0 -4
  97. package/dist/seal-design-BDuIghlX.js +0 -4
@@ -1,6 +1,6 @@
1
- import { has, isEmpty, keyBy, pick, isNil, mapKeys, cloneDeep, flatMap, omit, merge, pickBy, isObject as isObject$1, omitBy, defaults, groupBy, isEqual, get as get$1, last, first } from "lodash-es";
1
+ import { has, keyBy, pick, isNil, isEmpty, mapKeys, cloneDeep, flatMap, omit, merge, pickBy, isObject as isObject$1, omitBy, defaults, groupBy, isEqual, get as get$1, last, first } from "lodash-es";
2
2
  import dayjs from "dayjs";
3
- import { computed, defineComponent, ref, onMounted, openBlock, createBlock, Transition, withCtx, withDirectives, createElementVNode, normalizeClass, normalizeStyle, toDisplayString, vShow, createVNode, render as render$1, toRaw, inject, defineAsyncComponent, getCurrentInstance, h as h$1 } from "vue";
3
+ import { computed, toRaw, defineComponent, ref, onMounted, openBlock, createBlock, Transition, withCtx, withDirectives, createElementVNode, normalizeClass, normalizeStyle, toDisplayString, vShow, createVNode, render as render$1, inject, defineAsyncComponent, getCurrentInstance, h as h$1 } from "vue";
4
4
  import { api as api$1 } from "@gct-paas/api";
5
5
  var PlatformEnum = /* @__PURE__ */ ((PlatformEnum2) => {
6
6
  PlatformEnum2["INTEGRATION_PAAS_DP"] = "INTEGRATION_PAAS_DP";
@@ -4044,6 +4044,240 @@ function resolveDesignPanelFeatures(tableType) {
4044
4044
  showConfigSection
4045
4045
  };
4046
4046
  }
4047
+ const uuid2 = (len, radix) => {
4048
+ const chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");
4049
+ let uuid = [], i2;
4050
+ radix = radix || chars.length;
4051
+ if (len) {
4052
+ for (i2 = 0; i2 < len; i2++) uuid[i2] = chars[0 | Math.random() * radix];
4053
+ } else {
4054
+ let r;
4055
+ uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-";
4056
+ uuid[14] = "4";
4057
+ for (i2 = 0; i2 < 36; i2++) {
4058
+ if (!uuid[i2]) {
4059
+ r = 0 | Math.random() * 16;
4060
+ uuid[i2] = chars[i2 == 19 ? r & 3 | 8 : r];
4061
+ }
4062
+ }
4063
+ }
4064
+ return uuid.join("");
4065
+ };
4066
+ const normalizeToArray = (val) => Array.isArray(val) ? val.filter((v) => !isNil(v)) : !isNil(val) ? [val] : [];
4067
+ const safeParseArray = (str) => {
4068
+ try {
4069
+ if (!str) return [];
4070
+ const v = JSON.parse(str);
4071
+ return Array.isArray(v) ? v : [];
4072
+ } catch {
4073
+ return [];
4074
+ }
4075
+ };
4076
+ const mergeByMultiKey = (A, B, {
4077
+ keyFields = ["type", "isCustom"],
4078
+ fieldsToMerge = ["alias", "enable"],
4079
+ isAllowMerge = true,
4080
+ isConcat = false
4081
+ } = {}) => {
4082
+ if (!Array.isArray(A)) return [];
4083
+ if (!isAllowMerge || !Array.isArray(B) || B.length === 0) return [...A];
4084
+ if (isConcat && Array.isArray(A) && A.length === 0) return [...B];
4085
+ const keyFn = (item) => keyFields.map((k) => {
4086
+ const v = item?.[k];
4087
+ if (typeof v === "boolean") return String(v);
4088
+ return v == null ? "" : String(v);
4089
+ }).join("::");
4090
+ const bMap = keyBy(B, keyFn);
4091
+ const result = A.map((a) => {
4092
+ const info = bMap[keyFn(a)];
4093
+ return info ? { ...a, ...pick(info, fieldsToMerge) } : { ...a };
4094
+ });
4095
+ return result;
4096
+ };
4097
+ const CLIENT_ROW_UID_KEY = "__gct_rv_uid";
4098
+ const FRONT_ROW_KEY = "front_row_key_";
4099
+ function ensureFrontRowKey(row) {
4100
+ if (!row) return "";
4101
+ const existing = row[FRONT_ROW_KEY];
4102
+ if (existing != null && String(existing).trim() !== "") return String(existing);
4103
+ const uid = Array.isArray(row._2DTABLE_) && row.group_ != null && String(row.group_).trim() !== "" ? `group:${row.group_}` : `r_${Date.now()}_${uuid2(8)}`;
4104
+ row[FRONT_ROW_KEY] = uid;
4105
+ return uid;
4106
+ }
4107
+ const getRowId = (row) => ensureFrontRowKey(row);
4108
+ function ensureTableRowKeys(rows) {
4109
+ if (!Array.isArray(rows)) return;
4110
+ rows.forEach((row) => {
4111
+ if (!row || typeof row !== "object" || Array.isArray(row)) return;
4112
+ ensureFrontRowKey(row);
4113
+ ensureTableRowKeys(row._2DTABLE_);
4114
+ });
4115
+ }
4116
+ function resetTableRowIdentity(row) {
4117
+ delete row.id_;
4118
+ delete row[FRONT_ROW_KEY];
4119
+ if (Array.isArray(row._2DTABLE_) && row.group_ != null) row.group_ = `dyn${uuid2(16)}`;
4120
+ ensureFrontRowKey(row);
4121
+ if (Array.isArray(row._2DTABLE_)) row._2DTABLE_.forEach(resetTableRowIdentity);
4122
+ }
4123
+ const RUNTIME_COLUMN_ROW_KEY = "_column_row_key_";
4124
+ const MAX_FRONT_ROW_KEY_LENGTH = 255;
4125
+ const TABLE_2D_ROW_KEY_PREFIX = "2d1.";
4126
+ function encodeBase64Url(value) {
4127
+ return btoa(
4128
+ Array.from(new TextEncoder().encode(value), (byte) => String.fromCharCode(byte)).join("")
4129
+ ).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
4130
+ }
4131
+ function decodeBase64Url(value) {
4132
+ const base64 = value.replace(/-/g, "+").replace(/_/g, "/");
4133
+ const padded = base64 + "=".repeat((4 - base64.length % 4) % 4);
4134
+ return new TextDecoder().decode(Uint8Array.from(atob(padded), (char) => char.charCodeAt(0)));
4135
+ }
4136
+ function decodeTableCellRowKey(rowKey) {
4137
+ if (typeof rowKey !== "string" || !rowKey.startsWith(TABLE_2D_ROW_KEY_PREFIX)) return void 0;
4138
+ try {
4139
+ const parsed = JSON.parse(decodeBase64Url(rowKey.slice(TABLE_2D_ROW_KEY_PREFIX.length)));
4140
+ if (!Array.isArray(parsed) || parsed.length !== 2 || parsed.some((item) => typeof item !== "string" || item === ""))
4141
+ return void 0;
4142
+ return { cellRowKey: parsed[0], columnRowKey: parsed[1] };
4143
+ } catch {
4144
+ return void 0;
4145
+ }
4146
+ }
4147
+ function encodeTableCellRowKey(cellRowKey, columnRowKey) {
4148
+ const decoded = decodeTableCellRowKey(cellRowKey);
4149
+ const originalCellRowKey = decoded?.cellRowKey ?? String(cellRowKey ?? "");
4150
+ const persistedColumnRowKey = String(columnRowKey ?? "");
4151
+ if (!originalCellRowKey || !persistedColumnRowKey)
4152
+ throw new Error("二维表子行或关联列缺少 front_row_key_");
4153
+ if (decoded?.columnRowKey === persistedColumnRowKey) return String(cellRowKey);
4154
+ const encoded = `${TABLE_2D_ROW_KEY_PREFIX}${encodeBase64Url(
4155
+ JSON.stringify([originalCellRowKey, persistedColumnRowKey])
4156
+ )}`;
4157
+ if (encoded.length > MAX_FRONT_ROW_KEY_LENGTH)
4158
+ throw new Error(`二维表内置关联键长度超过 ${MAX_FRONT_ROW_KEY_LENGTH},不能提交`);
4159
+ return encoded;
4160
+ }
4161
+ function isTableRowKeyMatch(rowKey, expected) {
4162
+ if (rowKey == null || expected == null) return false;
4163
+ const actual = String(rowKey);
4164
+ const target = String(expected);
4165
+ return actual === target || decodeTableCellRowKey(actual)?.cellRowKey === target;
4166
+ }
4167
+ function splitRuntimeDataPath(path) {
4168
+ const parts = path.split(".");
4169
+ const result = [];
4170
+ for (let index2 = 0; index2 < parts.length; index2++) {
4171
+ const part = parts[index2];
4172
+ const candidate = `${part}.${parts[index2 + 1] ?? ""}`;
4173
+ if (part === "2d1" && decodeTableCellRowKey(candidate)) {
4174
+ result.push(candidate);
4175
+ index2++;
4176
+ } else result.push(part);
4177
+ }
4178
+ return result;
4179
+ }
4180
+ function findRuntimeTableRow(rows, rowKey) {
4181
+ if (!rowKey || !Array.isArray(rows)) return void 0;
4182
+ for (const row of rows) {
4183
+ if (!row || row.deleted_) continue;
4184
+ if (isTableRowKeyMatch(row[FRONT_ROW_KEY], rowKey)) return row;
4185
+ const child = findRuntimeTableRow(row._2DTABLE_, rowKey);
4186
+ if (child) return child;
4187
+ }
4188
+ return void 0;
4189
+ }
4190
+ function findRuntimeParentRow(rows, rowKey) {
4191
+ if (!rowKey || !Array.isArray(rows)) return void 0;
4192
+ return rows.find(
4193
+ (row) => !row?.deleted_ && (isTableRowKeyMatch(row[FRONT_ROW_KEY], rowKey) || row._2DTABLE_?.some(
4194
+ (child) => !child?.deleted_ && isTableRowKeyMatch(child[FRONT_ROW_KEY], rowKey)
4195
+ ))
4196
+ );
4197
+ }
4198
+ function findRuntimeTableCell(parent, columnRowKey) {
4199
+ if (!columnRowKey || !Array.isArray(parent?._2DTABLE_)) return void 0;
4200
+ return parent._2DTABLE_.find(
4201
+ (child) => !child?.deleted_ && child[RUNTIME_COLUMN_ROW_KEY] === columnRowKey
4202
+ );
4203
+ }
4204
+ function getRenderedRuntimeTableCell(state, info, parent, displayColumn) {
4205
+ if (!info?.colSubFieldKey) {
4206
+ return parent?._2DTABLE_?.at(displayColumn);
4207
+ }
4208
+ const column = state[info.colSubFieldKey]?.at(displayColumn);
4209
+ return column ? findRuntimeTableCell(parent, ensureFrontRowKey(column)) : void 0;
4210
+ }
4211
+ function bindRuntimeTableColumns(state, relations) {
4212
+ const expandedTables = /* @__PURE__ */ new Set();
4213
+ for (const info of relations) {
4214
+ const rows = state[info.rowSubFieldKey];
4215
+ const columns = info.colSubFieldKey ? state[info.colSubFieldKey] : void 0;
4216
+ if (!Array.isArray(rows) || !Array.isArray(columns)) continue;
4217
+ ensureTableRowKeys(columns);
4218
+ for (const parent of rows) {
4219
+ if (!Array.isArray(parent?._2DTABLE_)) continue;
4220
+ ensureTableRowKeys([parent]);
4221
+ const existingKeys = parent._2DTABLE_.map((child) => child[RUNTIME_COLUMN_ROW_KEY]).filter(Boolean);
4222
+ const bound = new Set(existingKeys);
4223
+ if (bound.size !== existingKeys.length)
4224
+ throw new Error(`二维表「${info.rowSubFieldKey}」存在重复的关联列行键`);
4225
+ const available = columns.filter(
4226
+ (column) => !column.deleted_ && !bound.has(ensureFrontRowKey(column))
4227
+ );
4228
+ for (const child of parent._2DTABLE_) {
4229
+ if (child[RUNTIME_COLUMN_ROW_KEY]) continue;
4230
+ const persistedIdentity = decodeTableCellRowKey(child[FRONT_ROW_KEY]);
4231
+ const reference = info.rowRefFieldKey ? child[info.rowRefFieldKey] : void 0;
4232
+ let businessColumn;
4233
+ if (reference != null && reference !== "" && info.colRefFieldKey) {
4234
+ const matches = columns.filter(
4235
+ (candidate) => String(candidate[info.colRefFieldKey]) === String(reference)
4236
+ );
4237
+ if (matches.length !== 1)
4238
+ throw new Error(
4239
+ `二维表「${info.rowSubFieldKey}」的关联列引用「${reference}」无法唯一匹配`
4240
+ );
4241
+ businessColumn = matches[0];
4242
+ }
4243
+ const persistedColumn = persistedIdentity ? columns.find(
4244
+ (candidate) => ensureFrontRowKey(candidate) === persistedIdentity.columnRowKey
4245
+ ) : void 0;
4246
+ if (persistedIdentity && !persistedColumn)
4247
+ throw new Error(
4248
+ `二维表「${info.rowSubFieldKey}」子行「${child[FRONT_ROW_KEY]}」的内置关联列不存在`
4249
+ );
4250
+ if (businessColumn && persistedColumn && businessColumn !== persistedColumn)
4251
+ throw new Error(
4252
+ `二维表「${info.rowSubFieldKey}」子行「${child[FRONT_ROW_KEY]}」的业务引用与内置关联冲突`
4253
+ );
4254
+ const column = businessColumn ?? persistedColumn ?? available.shift();
4255
+ if (!column) throw new Error(`二维表「${info.rowSubFieldKey}」缺少可绑定的关联列行`);
4256
+ const columnKey = ensureFrontRowKey(column);
4257
+ if (bound.has(columnKey))
4258
+ throw new Error(`二维表「${info.rowSubFieldKey}」重复绑定关联列行「${columnKey}」`);
4259
+ toRaw(child)[RUNTIME_COLUMN_ROW_KEY] = columnKey;
4260
+ bound.add(columnKey);
4261
+ const availablePosition = available.indexOf(column);
4262
+ if (availablePosition >= 0) available.splice(availablePosition, 1);
4263
+ }
4264
+ if (!parent.deleted_) {
4265
+ for (const column of available) {
4266
+ const child = {
4267
+ _DICT: {},
4268
+ _OPCT: {},
4269
+ _MCTABLE: {},
4270
+ [RUNTIME_COLUMN_ROW_KEY]: ensureFrontRowKey(column)
4271
+ };
4272
+ ensureFrontRowKey(child);
4273
+ parent._2DTABLE_.push(child);
4274
+ expandedTables.add(info.rowSubFieldKey);
4275
+ }
4276
+ }
4277
+ }
4278
+ }
4279
+ return Array.from(expandedTables);
4280
+ }
4047
4281
  const manifest$1g = {
4048
4282
  type: FIELD_TYPE.MATERIAL_CONTAINER,
4049
4283
  design: "fw:auto-complete",
@@ -5277,82 +5511,6 @@ function toPx(length, element) {
5277
5511
  return unit == "px" ? val : pxPerUnit(unit, element) * val;
5278
5512
  }
5279
5513
  var src = toPx;
5280
- const uuid2 = (len, radix) => {
5281
- const chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");
5282
- let uuid = [], i2;
5283
- radix = radix || chars.length;
5284
- if (len) {
5285
- for (i2 = 0; i2 < len; i2++) uuid[i2] = chars[0 | Math.random() * radix];
5286
- } else {
5287
- let r;
5288
- uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-";
5289
- uuid[14] = "4";
5290
- for (i2 = 0; i2 < 36; i2++) {
5291
- if (!uuid[i2]) {
5292
- r = 0 | Math.random() * 16;
5293
- uuid[i2] = chars[i2 == 19 ? r & 3 | 8 : r];
5294
- }
5295
- }
5296
- }
5297
- return uuid.join("");
5298
- };
5299
- const normalizeToArray = (val) => Array.isArray(val) ? val.filter((v) => !isNil(v)) : !isNil(val) ? [val] : [];
5300
- const safeParseArray = (str) => {
5301
- try {
5302
- if (!str) return [];
5303
- const v = JSON.parse(str);
5304
- return Array.isArray(v) ? v : [];
5305
- } catch {
5306
- return [];
5307
- }
5308
- };
5309
- const mergeByMultiKey = (A, B, {
5310
- keyFields = ["type", "isCustom"],
5311
- fieldsToMerge = ["alias", "enable"],
5312
- isAllowMerge = true,
5313
- isConcat = false
5314
- } = {}) => {
5315
- if (!Array.isArray(A)) return [];
5316
- if (!isAllowMerge || !Array.isArray(B) || B.length === 0) return [...A];
5317
- if (isConcat && Array.isArray(A) && A.length === 0) return [...B];
5318
- const keyFn = (item) => keyFields.map((k) => {
5319
- const v = item?.[k];
5320
- if (typeof v === "boolean") return String(v);
5321
- return v == null ? "" : String(v);
5322
- }).join("::");
5323
- const bMap = keyBy(B, keyFn);
5324
- const result = A.map((a) => {
5325
- const info = bMap[keyFn(a)];
5326
- return info ? { ...a, ...pick(info, fieldsToMerge) } : { ...a };
5327
- });
5328
- return result;
5329
- };
5330
- const CLIENT_ROW_UID_KEY = "__gct_rv_uid";
5331
- const FRONT_ROW_KEY = "front_row_key_";
5332
- function ensureFrontRowKey(row) {
5333
- if (!row) return "";
5334
- const existing = row[FRONT_ROW_KEY];
5335
- if (existing != null && String(existing).trim() !== "") return String(existing);
5336
- const uid = Array.isArray(row._2DTABLE_) && row.group_ != null && String(row.group_).trim() !== "" ? `group:${row.group_}` : `r_${Date.now()}_${uuid2(8)}`;
5337
- row[FRONT_ROW_KEY] = uid;
5338
- return uid;
5339
- }
5340
- const getRowId = (row) => ensureFrontRowKey(row);
5341
- function ensureTableRowKeys(rows) {
5342
- if (!Array.isArray(rows)) return;
5343
- rows.forEach((row) => {
5344
- if (!row || typeof row !== "object" || Array.isArray(row)) return;
5345
- ensureFrontRowKey(row);
5346
- ensureTableRowKeys(row._2DTABLE_);
5347
- });
5348
- }
5349
- function resetTableRowIdentity(row) {
5350
- delete row.id_;
5351
- delete row[FRONT_ROW_KEY];
5352
- if (Array.isArray(row._2DTABLE_) && row.group_ != null) row.group_ = `dyn${uuid2(16)}`;
5353
- ensureFrontRowKey(row);
5354
- if (Array.isArray(row._2DTABLE_)) row._2DTABLE_.forEach(resetTableRowIdentity);
5355
- }
5356
5514
  var Syntax;
5357
5515
  (function(Syntax2) {
5358
5516
  Syntax2["AssignmentExpression"] = "AssignmentExpression";
@@ -59531,151 +59689,6 @@ async function requestNonMedProCheckDsData(payload) {
59531
59689
  }
59532
59690
  return Object.keys(byTable).length > 0 ? { byTable } : void 0;
59533
59691
  }
59534
- const RUNTIME_COLUMN_ROW_KEY = "_column_row_key_";
59535
- const MAX_FRONT_ROW_KEY_LENGTH = 255;
59536
- const TABLE_2D_ROW_KEY_PREFIX = "2d1.";
59537
- function encodeBase64Url(value) {
59538
- return btoa(
59539
- Array.from(new TextEncoder().encode(value), (byte) => String.fromCharCode(byte)).join("")
59540
- ).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
59541
- }
59542
- function decodeBase64Url(value) {
59543
- const base64 = value.replace(/-/g, "+").replace(/_/g, "/");
59544
- const padded = base64 + "=".repeat((4 - base64.length % 4) % 4);
59545
- return new TextDecoder().decode(Uint8Array.from(atob(padded), (char) => char.charCodeAt(0)));
59546
- }
59547
- function decodeTableCellRowKey(rowKey) {
59548
- if (typeof rowKey !== "string" || !rowKey.startsWith(TABLE_2D_ROW_KEY_PREFIX)) return void 0;
59549
- try {
59550
- const parsed = JSON.parse(decodeBase64Url(rowKey.slice(TABLE_2D_ROW_KEY_PREFIX.length)));
59551
- if (!Array.isArray(parsed) || parsed.length !== 2 || parsed.some((item) => typeof item !== "string" || item === ""))
59552
- return void 0;
59553
- return { cellRowKey: parsed[0], columnRowKey: parsed[1] };
59554
- } catch {
59555
- return void 0;
59556
- }
59557
- }
59558
- function encodeTableCellRowKey(cellRowKey, columnRowKey) {
59559
- const decoded = decodeTableCellRowKey(cellRowKey);
59560
- const originalCellRowKey = decoded?.cellRowKey ?? String(cellRowKey ?? "");
59561
- const persistedColumnRowKey = String(columnRowKey ?? "");
59562
- if (!originalCellRowKey || !persistedColumnRowKey)
59563
- throw new Error("二维表子行或关联列缺少 front_row_key_");
59564
- if (decoded?.columnRowKey === persistedColumnRowKey) return String(cellRowKey);
59565
- const encoded = `${TABLE_2D_ROW_KEY_PREFIX}${encodeBase64Url(
59566
- JSON.stringify([originalCellRowKey, persistedColumnRowKey])
59567
- )}`;
59568
- if (encoded.length > MAX_FRONT_ROW_KEY_LENGTH)
59569
- throw new Error(`二维表内置关联键长度超过 ${MAX_FRONT_ROW_KEY_LENGTH},不能提交`);
59570
- return encoded;
59571
- }
59572
- function isTableRowKeyMatch(rowKey, expected) {
59573
- if (rowKey == null || expected == null) return false;
59574
- const actual = String(rowKey);
59575
- const target = String(expected);
59576
- return actual === target || decodeTableCellRowKey(actual)?.cellRowKey === target;
59577
- }
59578
- function findRuntimeTableRow(rows, rowKey) {
59579
- if (!rowKey || !Array.isArray(rows)) return void 0;
59580
- for (const row of rows) {
59581
- if (!row || row.deleted_) continue;
59582
- if (isTableRowKeyMatch(row[FRONT_ROW_KEY], rowKey)) return row;
59583
- const child = findRuntimeTableRow(row._2DTABLE_, rowKey);
59584
- if (child) return child;
59585
- }
59586
- return void 0;
59587
- }
59588
- function findRuntimeParentRow(rows, rowKey) {
59589
- if (!rowKey || !Array.isArray(rows)) return void 0;
59590
- return rows.find(
59591
- (row) => !row?.deleted_ && (isTableRowKeyMatch(row[FRONT_ROW_KEY], rowKey) || row._2DTABLE_?.some(
59592
- (child) => !child?.deleted_ && isTableRowKeyMatch(child[FRONT_ROW_KEY], rowKey)
59593
- ))
59594
- );
59595
- }
59596
- function findRuntimeTableCell(parent, columnRowKey) {
59597
- if (!columnRowKey || !Array.isArray(parent?._2DTABLE_)) return void 0;
59598
- return parent._2DTABLE_.find(
59599
- (child) => !child?.deleted_ && child[RUNTIME_COLUMN_ROW_KEY] === columnRowKey
59600
- );
59601
- }
59602
- function getRenderedRuntimeTableCell(state, info, parent, displayColumn) {
59603
- if (!info?.colSubFieldKey) {
59604
- return parent?._2DTABLE_?.at(displayColumn);
59605
- }
59606
- const column = state[info.colSubFieldKey]?.at(displayColumn);
59607
- return column ? findRuntimeTableCell(parent, ensureFrontRowKey(column)) : void 0;
59608
- }
59609
- function bindRuntimeTableColumns(state, relations) {
59610
- const expandedTables = /* @__PURE__ */ new Set();
59611
- for (const info of relations) {
59612
- const rows = state[info.rowSubFieldKey];
59613
- const columns = info.colSubFieldKey ? state[info.colSubFieldKey] : void 0;
59614
- if (!Array.isArray(rows) || !Array.isArray(columns)) continue;
59615
- ensureTableRowKeys(columns);
59616
- for (const parent of rows) {
59617
- if (!Array.isArray(parent?._2DTABLE_)) continue;
59618
- ensureTableRowKeys([parent]);
59619
- const existingKeys = parent._2DTABLE_.map((child) => child[RUNTIME_COLUMN_ROW_KEY]).filter(Boolean);
59620
- const bound = new Set(existingKeys);
59621
- if (bound.size !== existingKeys.length)
59622
- throw new Error(`二维表「${info.rowSubFieldKey}」存在重复的关联列行键`);
59623
- const available = columns.filter(
59624
- (column) => !column.deleted_ && !bound.has(ensureFrontRowKey(column))
59625
- );
59626
- for (const child of parent._2DTABLE_) {
59627
- if (child[RUNTIME_COLUMN_ROW_KEY]) continue;
59628
- const persistedIdentity = decodeTableCellRowKey(child[FRONT_ROW_KEY]);
59629
- const reference = info.rowRefFieldKey ? child[info.rowRefFieldKey] : void 0;
59630
- let businessColumn;
59631
- if (reference != null && reference !== "" && info.colRefFieldKey) {
59632
- const matches = columns.filter(
59633
- (candidate) => String(candidate[info.colRefFieldKey]) === String(reference)
59634
- );
59635
- if (matches.length !== 1)
59636
- throw new Error(
59637
- `二维表「${info.rowSubFieldKey}」的关联列引用「${reference}」无法唯一匹配`
59638
- );
59639
- businessColumn = matches[0];
59640
- }
59641
- const persistedColumn = persistedIdentity ? columns.find(
59642
- (candidate) => ensureFrontRowKey(candidate) === persistedIdentity.columnRowKey
59643
- ) : void 0;
59644
- if (persistedIdentity && !persistedColumn)
59645
- throw new Error(
59646
- `二维表「${info.rowSubFieldKey}」子行「${child[FRONT_ROW_KEY]}」的内置关联列不存在`
59647
- );
59648
- if (businessColumn && persistedColumn && businessColumn !== persistedColumn)
59649
- throw new Error(
59650
- `二维表「${info.rowSubFieldKey}」子行「${child[FRONT_ROW_KEY]}」的业务引用与内置关联冲突`
59651
- );
59652
- const column = businessColumn ?? persistedColumn ?? available.shift();
59653
- if (!column) throw new Error(`二维表「${info.rowSubFieldKey}」缺少可绑定的关联列行`);
59654
- const columnKey = ensureFrontRowKey(column);
59655
- if (bound.has(columnKey))
59656
- throw new Error(`二维表「${info.rowSubFieldKey}」重复绑定关联列行「${columnKey}」`);
59657
- toRaw(child)[RUNTIME_COLUMN_ROW_KEY] = columnKey;
59658
- bound.add(columnKey);
59659
- const availablePosition = available.indexOf(column);
59660
- if (availablePosition >= 0) available.splice(availablePosition, 1);
59661
- }
59662
- if (!parent.deleted_) {
59663
- for (const column of available) {
59664
- const child = {
59665
- _DICT: {},
59666
- _OPCT: {},
59667
- _MCTABLE: {},
59668
- [RUNTIME_COLUMN_ROW_KEY]: ensureFrontRowKey(column)
59669
- };
59670
- ensureFrontRowKey(child);
59671
- parent._2DTABLE_.push(child);
59672
- expandedTables.add(info.rowSubFieldKey);
59673
- }
59674
- }
59675
- }
59676
- }
59677
- return Array.from(expandedTables);
59678
- }
59679
59692
  const DEFAULT_FROM_STATE = {
59680
59693
  _DICT: {},
59681
59694
  //翻译的字段
@@ -66768,27 +66781,27 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
66768
66781
  case "revo-grid":
66769
66782
  return import(
66770
66783
  /* webpackMode: "lazy" */
66771
- "./revo-grid.entry-BORGM9ol.js"
66784
+ "./revo-grid.entry-Be97ST99.js"
66772
66785
  ).then(processMod, consoleError);
66773
66786
  case "revogr-filter-panel":
66774
66787
  return import(
66775
66788
  /* webpackMode: "lazy" */
66776
- "./revogr-filter-panel.entry-0bOrAEF0.js"
66789
+ "./revogr-filter-panel.entry-CQgUZAYK.js"
66777
66790
  ).then(processMod, consoleError);
66778
66791
  case "revogr-attribution_7":
66779
66792
  return import(
66780
66793
  /* webpackMode: "lazy" */
66781
- "./revogr-attribution_7.entry-Bbt9xrbj.js"
66794
+ "./revogr-attribution_7.entry-DY55EHUK.js"
66782
66795
  ).then(processMod, consoleError);
66783
66796
  case "revogr-clipboard_3":
66784
66797
  return import(
66785
66798
  /* webpackMode: "lazy" */
66786
- "./revogr-clipboard_3.entry-BALlsgGo.js"
66799
+ "./revogr-clipboard_3.entry-BBOcVxnm.js"
66787
66800
  ).then(processMod, consoleError);
66788
66801
  case "revogr-data_4":
66789
66802
  return import(
66790
66803
  /* webpackMode: "lazy" */
66791
- "./revogr-data_4.entry-C5gCRtZO.js"
66804
+ "./revogr-data_4.entry-BbfKmCSr.js"
66792
66805
  ).then(processMod, consoleError);
66793
66806
  }
66794
66807
  }
@@ -77183,7 +77196,7 @@ export {
77183
77196
  BpmnSignatureTypeEnum as by,
77184
77197
  ButtonTypeEnum as bz,
77185
77198
  getProfileByTableType as c,
77186
- PRODUCT_QUICK_SEARCH_EXP as c$,
77199
+ PRODUCT_QUICK_SEARCH_FIELDS as c$,
77187
77200
  findRuntimeTableCell as c0,
77188
77201
  getCheckTableSnapshotKey as c1,
77189
77202
  getParseRuleConfig as c2,
@@ -77194,153 +77207,154 @@ export {
77194
77207
  hasByTableCheckTableSnapshot as c7,
77195
77208
  hasSharedCheckTableSnapshot as c8,
77196
77209
  isMedProSuite as c9,
77197
- F$a as cA,
77198
- F$9 as cB,
77199
- FILL_FROM_SOURCE_PRODUCT_OPTION as cC,
77200
- FILL_FROM_TARGET_MATERIAL_NO_OPTION as cD,
77201
- FILL_FROM_INVENTORY_OPTION$2 as cE,
77202
- FILL_FROM_PART_OPTION as cF,
77203
- FILL_FROM_INVENTORY_OPTION$3 as cG,
77204
- TABLE_TYPE$b as cH,
77205
- FILL_FROM_INVENTORY_OPTION$1 as cI,
77206
- INVENTORY_BASE_FIELDS as cJ,
77207
- resolveGroupByWarehouse as cK,
77208
- AUTO_LOAD_READONLY_SELECT_FIELDS as cL,
77209
- buildFillFromInventoryOption as cM,
77210
- resolveStocktakeInventoryApi as cN,
77211
- F$5 as cO,
77212
- FILL_FROM_INVENTORY_OPTION as cP,
77213
- composeProductionLotListQuery as cQ,
77214
- F as cR,
77215
- isProductManuallyEditable as cS,
77216
- applyFillFromMfgOrderOption as cT,
77217
- applyFillFromOption as cU,
77218
- applyFillFromProductOption as cV,
77219
- mergeQueryFilters as cW,
77220
- composeMaterialLotListQuery as cX,
77221
- MATERIAL_CONTAINER_ID as cY,
77222
- F$c as cZ,
77223
- PRODUCT_QUICK_SEARCH_FIELDS as c_,
77210
+ runRowHandler as cA,
77211
+ F$a as cB,
77212
+ F$9 as cC,
77213
+ FILL_FROM_SOURCE_PRODUCT_OPTION as cD,
77214
+ FILL_FROM_TARGET_MATERIAL_NO_OPTION as cE,
77215
+ FILL_FROM_INVENTORY_OPTION$2 as cF,
77216
+ FILL_FROM_PART_OPTION as cG,
77217
+ FILL_FROM_INVENTORY_OPTION$3 as cH,
77218
+ TABLE_TYPE$b as cI,
77219
+ FILL_FROM_INVENTORY_OPTION$1 as cJ,
77220
+ INVENTORY_BASE_FIELDS as cK,
77221
+ resolveGroupByWarehouse as cL,
77222
+ AUTO_LOAD_READONLY_SELECT_FIELDS as cM,
77223
+ buildFillFromInventoryOption as cN,
77224
+ resolveStocktakeInventoryApi as cO,
77225
+ F$5 as cP,
77226
+ FILL_FROM_INVENTORY_OPTION as cQ,
77227
+ composeProductionLotListQuery as cR,
77228
+ F as cS,
77229
+ isProductManuallyEditable as cT,
77230
+ applyFillFromMfgOrderOption as cU,
77231
+ applyFillFromOption as cV,
77232
+ applyFillFromProductOption as cW,
77233
+ mergeQueryFilters as cX,
77234
+ composeMaterialLotListQuery as cY,
77235
+ MATERIAL_CONTAINER_ID as cZ,
77236
+ F$c as c_,
77224
77237
  isTableRowKeyMatch as ca,
77225
77238
  jsonSchemaUtils as cb,
77226
77239
  judgeUnique as cc,
77227
77240
  migrateDiagonalDirectionToVertex as cd,
77228
77241
  requestMedProCheckDsData as ce,
77229
77242
  requestNonMedProCheckDsData as cf,
77230
- stockCheck as cg,
77231
- useOnlineFormActionButton as ch,
77232
- getFieldPlaceholder as ci,
77233
- FRONT_ROW_KEY as cj,
77234
- resetTableRowIdentity as ck,
77235
- q as cl,
77236
- QUICK_FILL_ALLOWED_FIELDS as cm,
77237
- groupFixedTableRows as cn,
77238
- processQuickFillRows as co,
77239
- getIsGroupEmpty as cp,
77240
- getAugmentedNamespace as cq,
77241
- CardControlEnum as cr,
77242
- EntityModelTypeEnum as cs,
77243
- RecordNoGenerateEnum as ct,
77244
- TagTypeEnum as cu,
77245
- F$6 as cv,
77246
- SCAN_ROW_CONTENT_FIELDS as cw,
77247
- F$3 as cx,
77248
- F$7 as cy,
77249
- runRowHandler as cz,
77243
+ splitRuntimeDataPath as cg,
77244
+ stockCheck as ch,
77245
+ useOnlineFormActionButton as ci,
77246
+ getFieldPlaceholder as cj,
77247
+ FRONT_ROW_KEY as ck,
77248
+ resetTableRowIdentity as cl,
77249
+ q as cm,
77250
+ QUICK_FILL_ALLOWED_FIELDS as cn,
77251
+ groupFixedTableRows as co,
77252
+ processQuickFillRows as cp,
77253
+ getIsGroupEmpty as cq,
77254
+ getAugmentedNamespace as cr,
77255
+ CardControlEnum as cs,
77256
+ EntityModelTypeEnum as ct,
77257
+ RecordNoGenerateEnum as cu,
77258
+ TagTypeEnum as cv,
77259
+ F$6 as cw,
77260
+ SCAN_ROW_CONTENT_FIELDS as cx,
77261
+ F$3 as cy,
77262
+ F$7 as cz,
77250
77263
  getBusinessProfileByRefModelType as d,
77251
- getItemByPosition as d$,
77252
- isProductManuallyEditable$1 as d0,
77253
- applyFillFromMaterialNoOption as d1,
77254
- applyFillFromProductOption$1 as d2,
77255
- F$b as d3,
77256
- FILL_FROM_INVENTORY_OPTION$4 as d4,
77257
- registerInstance as d5,
77258
- createEvent as d6,
77259
- getColumnByProp as d7,
77260
- timeout as d8,
77261
- getVisibleSourceItem as d9,
77262
- getSourceItemVirtualIndexByProp as dA,
77263
- getColumnType as dB,
77264
- setSourceByPhysicalIndex as dC,
77265
- setSourceByVirtualIndex as dD,
77266
- SelectionStore as dE,
77267
- cropCellToMax as dF,
77268
- nextCell as dG,
77269
- isRowType as dH,
77270
- ViewportStore as dI,
77271
- AndOrButton as dJ,
77272
- ReorderButton as dK,
77273
- TrashButton as dL,
77274
- isFilterBtn as dM,
77275
- ColumnService as dN,
77276
- MOBILE_CLASS as dO,
77277
- SELECTION_BORDER_CLASS as dP,
77278
- getCellData as dQ,
77279
- getCellEditor as dR,
77280
- getRange as dS,
77281
- isRangeSingleCell as dT,
77282
- codesLetter as dU,
77283
- calculateRowHeaderSize as dV,
77284
- ROW_HEADER_TYPE as dW,
77285
- getScrollbarSize as dX,
77286
- FOCUS_CLASS as dY,
77287
- CELL_HANDLER_CLASS as dZ,
77288
- TMP_SELECTION_BG_CLASS as d_,
77289
- getColumns as da,
77290
- rowTypes as db,
77291
- GroupingRowPlugin as dc,
77292
- StretchColumn as dd,
77293
- isStretchPlugin as de,
77294
- AutoSizeColumnPlugin as df,
77295
- FilterPlugin as dg,
77296
- ExportFilePlugin as dh,
77297
- SortingPlugin as di,
77298
- ColumnMovePlugin as dj,
77299
- ThemeService as dk,
77300
- h as dl,
77301
- Host as dm,
77302
- getElement as dn,
77303
- BasePlugin as dp,
77304
- reduce as dq,
77305
- columnTypes as dr,
77306
- debounce$1 as ds,
77307
- RESIZE_INTERVAL as dt,
77308
- DimensionStore as du,
77309
- gatherTrimmedItems as dv,
77310
- getColumnSizes as dw,
77311
- getItemByIndex as dx,
77312
- DataStore as dy,
77313
- getSourceItem as dz,
77264
+ TMP_SELECTION_BG_CLASS as d$,
77265
+ PRODUCT_QUICK_SEARCH_EXP as d0,
77266
+ isProductManuallyEditable$1 as d1,
77267
+ applyFillFromMaterialNoOption as d2,
77268
+ applyFillFromProductOption$1 as d3,
77269
+ F$b as d4,
77270
+ FILL_FROM_INVENTORY_OPTION$4 as d5,
77271
+ registerInstance as d6,
77272
+ createEvent as d7,
77273
+ getColumnByProp as d8,
77274
+ timeout as d9,
77275
+ getSourceItem as dA,
77276
+ getSourceItemVirtualIndexByProp as dB,
77277
+ getColumnType as dC,
77278
+ setSourceByPhysicalIndex as dD,
77279
+ setSourceByVirtualIndex as dE,
77280
+ SelectionStore as dF,
77281
+ cropCellToMax as dG,
77282
+ nextCell as dH,
77283
+ isRowType as dI,
77284
+ ViewportStore as dJ,
77285
+ AndOrButton as dK,
77286
+ ReorderButton as dL,
77287
+ TrashButton as dM,
77288
+ isFilterBtn as dN,
77289
+ ColumnService as dO,
77290
+ MOBILE_CLASS as dP,
77291
+ SELECTION_BORDER_CLASS as dQ,
77292
+ getCellData as dR,
77293
+ getCellEditor as dS,
77294
+ getRange as dT,
77295
+ isRangeSingleCell as dU,
77296
+ codesLetter as dV,
77297
+ calculateRowHeaderSize as dW,
77298
+ ROW_HEADER_TYPE as dX,
77299
+ getScrollbarSize as dY,
77300
+ FOCUS_CLASS as dZ,
77301
+ CELL_HANDLER_CLASS as d_,
77302
+ getVisibleSourceItem as da,
77303
+ getColumns as db,
77304
+ rowTypes as dc,
77305
+ GroupingRowPlugin as dd,
77306
+ StretchColumn as de,
77307
+ isStretchPlugin as df,
77308
+ AutoSizeColumnPlugin as dg,
77309
+ FilterPlugin as dh,
77310
+ ExportFilePlugin as di,
77311
+ SortingPlugin as dj,
77312
+ ColumnMovePlugin as dk,
77313
+ ThemeService as dl,
77314
+ h as dm,
77315
+ Host as dn,
77316
+ getElement as dp,
77317
+ BasePlugin as dq,
77318
+ reduce as dr,
77319
+ columnTypes as ds,
77320
+ debounce$1 as dt,
77321
+ RESIZE_INTERVAL as du,
77322
+ DimensionStore as dv,
77323
+ gatherTrimmedItems as dw,
77324
+ getColumnSizes as dx,
77325
+ getItemByIndex as dy,
77326
+ DataStore as dz,
77314
77327
  expandAutofillTemplates as e,
77315
- EDIT_INPUT_WR as e0,
77316
- keyValues as e1,
77317
- isObject as e2,
77318
- DRAGG_TEXT as e3,
77319
- PSEUDO_GROUP_ITEM as e4,
77320
- GROUP_EXPANDED as e5,
77321
- GROUP_DEPTH as e6,
77322
- GROUP_EXPAND_BTN as e7,
77323
- DATA_ROW as e8,
77324
- isGroupingColumn as e9,
77325
- GROUP_COLUMN_PROP as ea,
77326
- getCellRaw as eb,
77327
- DATA_COL as ec,
77328
- CELL_CLASS as ed,
77329
- Build as ee,
77330
- isRowDragService as ef,
77331
- DRAG_ICON_CLASS as eg,
77332
- DRAGGABLE_CLASS as eh,
77333
- getCellDataParsed as ei,
77334
- GROUP_EXPAND_EVENT as ej,
77335
- isGrouping as ek,
77336
- HEADER_ROW_CLASS as el,
77337
- HEADER_ACTUAL_ROW_CLASS as em,
77338
- ROW_FOCUSED_CLASS as en,
77339
- HEADER_SORTABLE_CLASS as eo,
77340
- MIN_COL_SIZE as ep,
77341
- FilterButton as eq,
77342
- HeaderCellRenderer as er,
77343
- HEADER_CLASS as es,
77328
+ getItemByPosition as e0,
77329
+ EDIT_INPUT_WR as e1,
77330
+ keyValues as e2,
77331
+ isObject as e3,
77332
+ DRAGG_TEXT as e4,
77333
+ PSEUDO_GROUP_ITEM as e5,
77334
+ GROUP_EXPANDED as e6,
77335
+ GROUP_DEPTH as e7,
77336
+ GROUP_EXPAND_BTN as e8,
77337
+ DATA_ROW as e9,
77338
+ isGroupingColumn as ea,
77339
+ GROUP_COLUMN_PROP as eb,
77340
+ getCellRaw as ec,
77341
+ DATA_COL as ed,
77342
+ CELL_CLASS as ee,
77343
+ Build as ef,
77344
+ isRowDragService as eg,
77345
+ DRAG_ICON_CLASS as eh,
77346
+ DRAGGABLE_CLASS as ei,
77347
+ getCellDataParsed as ej,
77348
+ GROUP_EXPAND_EVENT as ek,
77349
+ isGrouping as el,
77350
+ HEADER_ROW_CLASS as em,
77351
+ HEADER_ACTUAL_ROW_CLASS as en,
77352
+ ROW_FOCUSED_CLASS as eo,
77353
+ HEADER_SORTABLE_CLASS as ep,
77354
+ MIN_COL_SIZE as eq,
77355
+ FilterButton as er,
77356
+ HeaderCellRenderer as es,
77357
+ HEADER_CLASS as et,
77344
77358
  SubTableType as f,
77345
77359
  getAllDataProfiles as g,
77346
77360
  getAllBusinessRefModelTypes as h,