@visactor/vtable 1.26.7 → 1.26.8

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 (183) hide show
  1. package/cjs/ListTable.d.ts +1 -1
  2. package/cjs/ListTable.js +21 -13
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.js +16 -16
  5. package/cjs/PivotChart.js.map +1 -1
  6. package/cjs/PivotTable.d.ts +1 -1
  7. package/cjs/PivotTable.js +65 -63
  8. package/cjs/PivotTable.js.map +1 -1
  9. package/cjs/body-helper/body-helper.js +2 -1
  10. package/cjs/components/index.js +1 -2
  11. package/cjs/core/BaseTable.js +2 -2
  12. package/cjs/core/BaseTable.js.map +1 -1
  13. package/cjs/core/record-helper.d.ts +1 -1
  14. package/cjs/core/record-helper.js +60 -12
  15. package/cjs/core/record-helper.js.map +1 -1
  16. package/cjs/core/tableHelper.js +2 -1
  17. package/cjs/data/DataSource.d.ts +3 -1
  18. package/cjs/data/DataSource.js +71 -23
  19. package/cjs/data/DataSource.js.map +1 -1
  20. package/cjs/dataset/dataset.d.ts +9 -1
  21. package/cjs/dataset/dataset.js +344 -187
  22. package/cjs/dataset/dataset.js.map +1 -1
  23. package/cjs/event/event.d.ts +94 -8
  24. package/cjs/event/event.js +698 -191
  25. package/cjs/event/event.js.map +1 -1
  26. package/cjs/event/helper.js +1 -1
  27. package/cjs/event/media-click.js +4 -1
  28. package/cjs/event/media-click.js.map +1 -1
  29. package/cjs/event/scroll.js +1 -1
  30. package/cjs/event/sparkline-event.js +1 -2
  31. package/cjs/event/util.js +2 -2
  32. package/cjs/event/util.js.map +1 -1
  33. package/cjs/index.d.ts +1 -1
  34. package/cjs/index.js +1 -1
  35. package/cjs/index.js.map +1 -1
  36. package/cjs/layout/pivot-header-layout.js +33 -17
  37. package/cjs/layout/pivot-header-layout.js.map +1 -1
  38. package/cjs/plugins/custom-cell-style.js +1 -1
  39. package/cjs/plugins/index.js +2 -1
  40. package/cjs/plugins/interface.js +1 -1
  41. package/cjs/plugins/invert-highlight.js +1 -1
  42. package/cjs/plugins/list-tree-stick-cell.js +1 -1
  43. package/cjs/plugins/plugin-manager.js +1 -1
  44. package/cjs/scenegraph/group-creater/cell-helper.js +27 -10
  45. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  46. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  47. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +14 -10
  48. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  49. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +17 -4
  50. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  51. package/cjs/scenegraph/layout/compute-col-width.js +6 -1
  52. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  53. package/cjs/scenegraph/layout/compute-row-height.js +11 -3
  54. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  55. package/cjs/scenegraph/layout/update-height.d.ts +4 -3
  56. package/cjs/scenegraph/layout/update-height.js +43 -29
  57. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  58. package/cjs/scenegraph/layout/update-width.d.ts +2 -1
  59. package/cjs/scenegraph/layout/update-width.js +49 -37
  60. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  61. package/cjs/scenegraph/scenegraph.d.ts +2 -2
  62. package/cjs/scenegraph/scenegraph.js +6 -5
  63. package/cjs/scenegraph/scenegraph.js.map +1 -1
  64. package/cjs/scenegraph/utils/corner-custom-merge.d.ts +10 -0
  65. package/cjs/scenegraph/utils/corner-custom-merge.js +68 -0
  66. package/cjs/scenegraph/utils/corner-custom-merge.js.map +1 -0
  67. package/cjs/state/resize/update-resize-column.js +25 -13
  68. package/cjs/state/resize/update-resize-column.js.map +1 -1
  69. package/cjs/state/resize/update-resize-row.js +24 -12
  70. package/cjs/state/resize/update-resize-row.js.map +1 -1
  71. package/cjs/themes.d.ts +4 -2
  72. package/cjs/themes.js +12 -4
  73. package/cjs/themes.js.map +1 -1
  74. package/cjs/tools/get-data-path/create-dataset.js +4 -4
  75. package/cjs/tools/get-data-path/create-dataset.js.map +1 -1
  76. package/cjs/tools/get-data-path/index.js +4 -4
  77. package/cjs/tools/get-data-path/index.js.map +1 -1
  78. package/cjs/tools/style.d.ts +3 -1
  79. package/cjs/tools/style.js +2 -2
  80. package/cjs/tools/style.js.map +1 -1
  81. package/cjs/ts-types/common.d.ts +1 -0
  82. package/cjs/ts-types/common.js.map +1 -1
  83. package/cjs/ts-types/dataset/aggregation.d.ts +1 -0
  84. package/cjs/ts-types/dataset/aggregation.js +21 -3
  85. package/cjs/ts-types/dataset/aggregation.js.map +1 -1
  86. package/cjs/ts-types/new-data-set.d.ts +1 -0
  87. package/cjs/ts-types/new-data-set.js.map +1 -1
  88. package/cjs/ts-types/table-engine.d.ts +3 -2
  89. package/cjs/ts-types/table-engine.js.map +1 -1
  90. package/cjs/vrender.js.map +1 -1
  91. package/dist/vtable.js +2224 -779
  92. package/dist/vtable.min.js +1 -1
  93. package/es/ListTable.d.ts +1 -1
  94. package/es/ListTable.js +21 -15
  95. package/es/ListTable.js.map +1 -1
  96. package/es/PivotChart.js +16 -16
  97. package/es/PivotChart.js.map +1 -1
  98. package/es/PivotTable.d.ts +1 -1
  99. package/es/PivotTable.js +65 -63
  100. package/es/PivotTable.js.map +1 -1
  101. package/es/body-helper/body-helper.js +2 -1
  102. package/es/components/index.js +1 -2
  103. package/es/core/BaseTable.js +2 -2
  104. package/es/core/BaseTable.js.map +1 -1
  105. package/es/core/record-helper.d.ts +1 -1
  106. package/es/core/record-helper.js +60 -12
  107. package/es/core/record-helper.js.map +1 -1
  108. package/es/core/tableHelper.js +2 -1
  109. package/es/data/DataSource.d.ts +3 -1
  110. package/es/data/DataSource.js +70 -23
  111. package/es/data/DataSource.js.map +1 -1
  112. package/es/dataset/dataset.d.ts +9 -1
  113. package/es/dataset/dataset.js +341 -187
  114. package/es/dataset/dataset.js.map +1 -1
  115. package/es/event/event.d.ts +94 -8
  116. package/es/event/event.js +696 -191
  117. package/es/event/event.js.map +1 -1
  118. package/es/event/helper.js +1 -1
  119. package/es/event/media-click.js +4 -1
  120. package/es/event/media-click.js.map +1 -1
  121. package/es/event/scroll.js +1 -1
  122. package/es/event/sparkline-event.js +1 -2
  123. package/es/event/util.js +2 -2
  124. package/es/event/util.js.map +1 -1
  125. package/es/index.d.ts +1 -1
  126. package/es/index.js +1 -1
  127. package/es/index.js.map +1 -1
  128. package/es/layout/pivot-header-layout.js +29 -17
  129. package/es/layout/pivot-header-layout.js.map +1 -1
  130. package/es/plugins/custom-cell-style.js +1 -1
  131. package/es/plugins/index.js +2 -1
  132. package/es/plugins/interface.js +1 -1
  133. package/es/plugins/invert-highlight.js +1 -1
  134. package/es/plugins/list-tree-stick-cell.js +1 -1
  135. package/es/plugins/plugin-manager.js +1 -1
  136. package/es/scenegraph/group-creater/cell-helper.js +23 -9
  137. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  138. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  139. package/es/scenegraph/group-creater/cell-type/text-cell.js +13 -8
  140. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  141. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +17 -5
  142. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  143. package/es/scenegraph/layout/compute-col-width.js +6 -1
  144. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  145. package/es/scenegraph/layout/compute-row-height.js +11 -3
  146. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  147. package/es/scenegraph/layout/update-height.d.ts +4 -3
  148. package/es/scenegraph/layout/update-height.js +40 -26
  149. package/es/scenegraph/layout/update-height.js.map +1 -1
  150. package/es/scenegraph/layout/update-width.d.ts +2 -1
  151. package/es/scenegraph/layout/update-width.js +46 -34
  152. package/es/scenegraph/layout/update-width.js.map +1 -1
  153. package/es/scenegraph/scenegraph.d.ts +2 -2
  154. package/es/scenegraph/scenegraph.js +7 -5
  155. package/es/scenegraph/scenegraph.js.map +1 -1
  156. package/es/scenegraph/utils/corner-custom-merge.d.ts +10 -0
  157. package/es/scenegraph/utils/corner-custom-merge.js +59 -0
  158. package/es/scenegraph/utils/corner-custom-merge.js.map +1 -0
  159. package/es/state/resize/update-resize-column.js +19 -10
  160. package/es/state/resize/update-resize-column.js.map +1 -1
  161. package/es/state/resize/update-resize-row.js +19 -9
  162. package/es/state/resize/update-resize-row.js.map +1 -1
  163. package/es/themes.d.ts +4 -2
  164. package/es/themes.js +11 -3
  165. package/es/themes.js.map +1 -1
  166. package/es/tools/get-data-path/create-dataset.js +4 -4
  167. package/es/tools/get-data-path/create-dataset.js.map +1 -1
  168. package/es/tools/get-data-path/index.js +4 -4
  169. package/es/tools/get-data-path/index.js.map +1 -1
  170. package/es/tools/style.d.ts +3 -1
  171. package/es/tools/style.js +2 -2
  172. package/es/tools/style.js.map +1 -1
  173. package/es/ts-types/common.d.ts +1 -0
  174. package/es/ts-types/common.js.map +1 -1
  175. package/es/ts-types/dataset/aggregation.d.ts +1 -0
  176. package/es/ts-types/dataset/aggregation.js +21 -3
  177. package/es/ts-types/dataset/aggregation.js.map +1 -1
  178. package/es/ts-types/new-data-set.d.ts +1 -0
  179. package/es/ts-types/new-data-set.js.map +1 -1
  180. package/es/ts-types/table-engine.d.ts +3 -2
  181. package/es/ts-types/table-engine.js.map +1 -1
  182. package/es/vrender.js.map +1 -1
  183. package/package.json +9 -9
@@ -27,7 +27,7 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
27
27
 
28
28
  Object.defineProperty(exports, "__esModule", {
29
29
  value: !0
30
- }), exports.sortRecordIndexs = exports.getValueFromDeepArray = exports.DataSource = exports.getField = exports.getValue = void 0;
30
+ }), exports.sortRecordIndexs = exports.getValueFromDeepArray = exports.DataSource = exports.setRecordFieldValue = exports.getRecordFieldValue = exports.getField = exports.getValue = void 0;
31
31
 
32
32
  const sort = __importStar(require("../tools/sort")), ts_types_1 = require("../ts-types"), helper_1 = require("../tools/helper"), EventTarget_1 = require("../event/EventTarget"), util_1 = require("../tools/util"), vutils_1 = require("@visactor/vutils"), aggregation_1 = require("../ts-types/dataset/aggregation");
33
33
 
@@ -60,15 +60,15 @@ function getField(record, field, col, row, table, promiseCallBack) {
60
60
  if ((void 0 === fieldGet || "" === fieldGet) && Array.isArray(record)) {
61
61
  return record[col - table.leftRowSeriesNumberCount];
62
62
  }
63
- if ((0, vutils_1.isObject)(record) && fieldGet in record) {
63
+ if (Array.isArray(fieldGet)) {
64
+ return getValue(getRecordFieldValue(record, fieldGet), promiseCallBack);
65
+ }
66
+ if (isRecordContainer(record) && fieldGet in record) {
64
67
  return getValue(record[fieldGet], promiseCallBack);
65
68
  }
66
69
  if ("function" == typeof fieldGet) {
67
70
  return getValue(fieldGet(record, col, row, table), promiseCallBack);
68
71
  }
69
- if (Array.isArray(fieldGet)) {
70
- return getValue((0, util_1.getValueByPath)(record, [ ...fieldGet ]), promiseCallBack);
71
- }
72
72
  const fieldArray = `${fieldGet}`.split(".");
73
73
  if (fieldArray.length <= 1) {
74
74
  return getValue(record[fieldGet], promiseCallBack);
@@ -76,13 +76,64 @@ function getField(record, field, col, row, table, promiseCallBack) {
76
76
  return getValue((0, helper_1.applyChainSafe)(record, ((val, name) => getField(val, name, col, row, table, helper_1.emptyFn)), ...fieldArray), promiseCallBack);
77
77
  }
78
78
 
79
+ function isRecordContainer(value) {
80
+ return null !== value && "object" == typeof value;
81
+ }
82
+
83
+ function getRecordFieldPath(field) {
84
+ return Array.isArray(field) ? field : "string" == typeof field && field.includes(".") ? field.split(".") : void 0;
85
+ }
86
+
87
+ function hasRecordField(record, field) {
88
+ if (!isRecordContainer(record)) return !1;
89
+ const path = getRecordFieldPath(field);
90
+ if (!Array.isArray(field) && field in record) return !0;
91
+ if (!path) return !1;
92
+ let target = record;
93
+ for (const key of path) {
94
+ if (!isRecordContainer(target) || !(key in target)) return !1;
95
+ target = target[key];
96
+ }
97
+ return !0;
98
+ }
99
+
100
+ function getRecordFieldValue(record, field) {
101
+ if (null == record) return;
102
+ const path = getRecordFieldPath(field);
103
+ return !Array.isArray(field) && isRecordContainer(record) && field in record ? record[field] : path ? path.reduce(((current, key) => null == current ? void 0 : current[key]), record) : record[field];
104
+ }
105
+
106
+ function setRecordProperty(record, key, value) {
107
+ "__proto__" !== key && "constructor" !== key && "prototype" !== key ? record[key] = value : Object.defineProperty(record, key, {
108
+ configurable: !0,
109
+ enumerable: !0,
110
+ value: value,
111
+ writable: !0
112
+ });
113
+ }
114
+
115
+ function setRecordFieldValue(record, field, value) {
116
+ if (null == record) return;
117
+ const path = getRecordFieldPath(field);
118
+ if (!path || !Array.isArray(field) && isRecordContainer(record) && field in record) return void setRecordProperty(record, field, value);
119
+ if (0 === path.length) return;
120
+ let target = record;
121
+ for (let i = 0; i < path.length - 1; i++) {
122
+ const key = path[i];
123
+ Object.prototype.hasOwnProperty.call(target, key) && null !== target[key] && "object" == typeof target[key] || setRecordProperty(target, key, {}),
124
+ target = target[key];
125
+ }
126
+ setRecordProperty(target, path[path.length - 1], value);
127
+ }
128
+
79
129
  function _getIndex(sortedIndexMap, index) {
80
130
  if (!sortedIndexMap) return index;
81
131
  const mapIndex = sortedIndexMap[index];
82
132
  return (0, vutils_1.isValid)(mapIndex) ? mapIndex : index;
83
133
  }
84
134
 
85
- exports.getValue = getValue, exports.getField = getField;
135
+ exports.getValue = getValue, exports.getField = getField, exports.getRecordFieldValue = getRecordFieldValue,
136
+ exports.setRecordFieldValue = setRecordFieldValue;
86
137
 
87
138
  class DataSource extends EventTarget_1.EventTarget {
88
139
  static get EVENT_TYPE() {
@@ -334,23 +385,22 @@ class DataSource extends EventTarget_1.EventTarget {
334
385
  return childrenLength;
335
386
  }
336
387
  changeFieldValue(value, index, field, col, row, table) {
337
- var _a;
338
388
  if (null !== field && index >= 0) {
339
389
  const dataIndex = this.getIndexKey(index);
340
390
  if (this.cacheBeforeChangedRecord(dataIndex, table), void 0 !== field && "" !== field || (field = col - table.leftRowSeriesNumberCount),
341
- "string" == typeof field || "number" == typeof field) {
342
- const beforeChangedValue = null === (_a = this.beforeChangedRecordsMap.get(dataIndex.toString())) || void 0 === _a ? void 0 : _a[field], record = this.getOriginalRecord(dataIndex);
391
+ "string" == typeof field || "number" == typeof field || Array.isArray(field)) {
392
+ const beforeChangedValue = getRecordFieldValue(this.beforeChangedRecordsMap.get(dataIndex.toString()), field), record = this.getOriginalRecord(dataIndex);
343
393
  let formatValue = value;
344
- "number" == typeof beforeChangedValue && (0, util_1.isAllDigits)(value) && (formatValue = parseFloat(value)),
345
- (0, helper_1.isPromise)(record) ? record.then((record => {
346
- record[field] = formatValue;
347
- })).catch((err => {})) : record ? record[field] = formatValue : (this.records[dataIndex] = "Array" === this.addRecordRule ? [] : {},
348
- this.records[dataIndex][field] = formatValue);
394
+ if ("number" == typeof beforeChangedValue && (0, util_1.isAllDigits)(value) && (formatValue = parseFloat(value)),
395
+ (0, helper_1.isPromise)(record)) return record.then((record => (setRecordFieldValue(record, field, formatValue),
396
+ formatValue))).catch((err => {}));
397
+ record ? setRecordFieldValue(record, field, formatValue) : (this.records[dataIndex] = "Array" === this.addRecordRule ? [] : {},
398
+ setRecordFieldValue(this.records[dataIndex], field, formatValue));
349
399
  }
350
400
  }
351
401
  }
352
402
  changeFieldValueByRecordIndex(value, recordIndex, field, table) {
353
- var _a, _b, _c, _d;
403
+ var _a, _b, _c;
354
404
  if (null === field) return;
355
405
  if (null == recordIndex) return;
356
406
  const rawKey = recordIndex.toString();
@@ -358,12 +408,12 @@ class DataSource extends EventTarget_1.EventTarget {
358
408
  const rawRecords = Array.isArray(null === (_a = this.dataSourceObj) || void 0 === _a ? void 0 : _a.records) ? this.dataSourceObj.records : null, originRecord = rawRecords ? Array.isArray(recordIndex) ? getValueFromDeepArray(rawRecords, recordIndex) : rawRecords[recordIndex] : void 0;
359
409
  this.beforeChangedRecordsMap.set(rawKey, null !== (_b = (0, vutils_1.cloneDeep)(originRecord, void 0, [ "vtable_gantt_linkedFrom", "vtable_gantt_linkedTo" ])) && void 0 !== _b ? _b : {});
360
410
  }
361
- if ("string" == typeof field || "number" == typeof field) {
362
- const beforeChangedValue = null === (_c = this.beforeChangedRecordsMap.get(rawKey)) || void 0 === _c ? void 0 : _c[field], rawRecords = Array.isArray(null === (_d = this.dataSourceObj) || void 0 === _d ? void 0 : _d.records) ? this.dataSourceObj.records : null, record = rawRecords ? Array.isArray(recordIndex) ? getValueFromDeepArray(rawRecords, recordIndex) : rawRecords[recordIndex] : void 0;
411
+ if ("string" == typeof field || "number" == typeof field || Array.isArray(field)) {
412
+ const beforeChangedValue = getRecordFieldValue(this.beforeChangedRecordsMap.get(rawKey), field), rawRecords = Array.isArray(null === (_c = this.dataSourceObj) || void 0 === _c ? void 0 : _c.records) ? this.dataSourceObj.records : null, record = rawRecords ? Array.isArray(recordIndex) ? getValueFromDeepArray(rawRecords, recordIndex) : rawRecords[recordIndex] : void 0;
363
413
  let formatValue = value;
364
414
  "number" == typeof beforeChangedValue && (0, util_1.isAllDigits)(value) && (formatValue = parseFloat(value)),
365
- record ? record[field] = formatValue : rawRecords && "number" == typeof recordIndex && (rawRecords[recordIndex] = "Array" === this.addRecordRule ? [] : {},
366
- rawRecords[recordIndex][field] = formatValue);
415
+ record ? setRecordFieldValue(record, field, formatValue) : rawRecords && "number" == typeof recordIndex && (rawRecords[recordIndex] = "Array" === this.addRecordRule ? [] : {},
416
+ setRecordFieldValue(rawRecords[recordIndex], field, formatValue));
367
417
  }
368
418
  }
369
419
  cacheBeforeChangedRecord(dataIndex, table) {
@@ -756,8 +806,7 @@ class DataSource extends EventTarget_1.EventTarget {
756
806
  hasOriginalField(index, field) {
757
807
  if (null === field) return !1;
758
808
  if ("function" == typeof field) return !0;
759
- const record = this.getOriginalRecord(index);
760
- return Boolean(record && field in record);
809
+ return hasRecordField(this.getOriginalRecord(index), field);
761
810
  }
762
811
  fieldPromiseCallBack(_index, _field, _value) {}
763
812
  recordPromiseCallBack(_index, _record) {}
@@ -900,5 +949,4 @@ function sortRecordIndexs(recordIndexs, sort) {
900
949
  exports.DataSource = DataSource, DataSource.EMPTY = new DataSource({
901
950
  get() {},
902
951
  length: 0
903
- }), exports.getValueFromDeepArray = getValueFromDeepArray, exports.sortRecordIndexs = sortRecordIndexs;
904
- //# sourceMappingURL=DataSource.js.map
952
+ }), exports.getValueFromDeepArray = getValueFromDeepArray, exports.sortRecordIndexs = sortRecordIndexs;