@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
package/es/ListTable.d.ts CHANGED
@@ -99,7 +99,7 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
99
99
  getEditor(col: number, row: number): IEditor<any, any>;
100
100
  isHasEditorDefine(col: number, row: number): boolean;
101
101
  changeCellValue(col: number, row: number, value: string | number | null, workOnEditableCell?: boolean, triggerEvent?: boolean, noTriggerChangeCellValuesEvent?: boolean): void;
102
- changeCellValues(startCol: number, startRow: number, values: (string | number)[][], workOnEditableCell?: boolean, triggerEvent?: boolean, noTriggerChangeCellValuesEvent?: boolean): Promise<boolean[][]>;
102
+ changeCellValues(startCol: number, startRow: number, values: (string | number)[][], workOnEditableCell?: boolean, triggerEvent?: boolean, noTriggerChangeCellValuesEvent?: boolean, shouldCancel?: () => boolean): Promise<boolean[][]>;
103
103
  changeCellValuesByRanges(ranges: CellRange[], value: string | number | null, workOnEditableCell?: boolean, triggerEvent?: boolean, noTriggerChangeCellValuesEvent?: boolean): Promise<void>;
104
104
  changeSourceCellValue(recordIndex: number | number[], field: FieldDef, value: string | number | null): void;
105
105
  changeCellValueByRecord(recordIndex: number | number[], field: FieldDef, value: string | number | null, options?: {
package/es/ListTable.js CHANGED
@@ -2,7 +2,7 @@ import { HierarchyState } from "./ts-types";
2
2
 
3
3
  import { SimpleHeaderLayoutMap } from "./layout";
4
4
 
5
- import { isArray, isValid } from "@visactor/vutils";
5
+ import { arrayEqual, isArray, isValid } from "@visactor/vutils";
6
6
 
7
7
  import { _setRecords, checkHasAggregationOnColumnDefine, generateAggregationForColumn } from "./core/tableHelper";
8
8
 
@@ -32,7 +32,7 @@ import { getGroupByDataConfig } from "./core/group-helper";
32
32
 
33
33
  import { DataSource } from "./data";
34
34
 
35
- import { getValueFromDeepArray } from "./data/DataSource";
35
+ import { getRecordFieldValue, getValueFromDeepArray } from "./data/DataSource";
36
36
 
37
37
  import { listTableAddRecord, listTableAddRecords, listTableChangeCellValue, listTableChangeCellValues, listTableChangeCellValuesByRanges, listTableDeleteRecords, listTableUpdateRecords, sortRecords } from "./core/record-helper";
38
38
 
@@ -55,6 +55,10 @@ function clearLayoutColumnState(columns) {
55
55
  }));
56
56
  }
57
57
 
58
+ function isSameField(left, right) {
59
+ return left === right || Array.isArray(left) && Array.isArray(right) && arrayEqual(left, right);
60
+ }
61
+
58
62
  export class ListTable extends BaseTable {
59
63
  constructor(container, options) {
60
64
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -353,7 +357,7 @@ export class ListTable extends BaseTable {
353
357
  return this.transpose ? this.dataSource.getTableIndex(recordIndex) + this.rowHeaderLevelCount : this.dataSource.getTableIndex(recordIndex) + this.columnHeaderLevelCount;
354
358
  }
355
359
  getTableIndexByField(field) {
356
- const colObj = this.internalProps.layoutMap.columnObjects.find((col => col.field === field));
360
+ const colObj = this.internalProps.layoutMap.columnObjects.find((col => isSameField(col.field, field)));
357
361
  if (!colObj) return -1;
358
362
  const layoutRange = this.internalProps.layoutMap.getBodyLayoutRangeById(colObj.id);
359
363
  return this.transpose ? layoutRange.start.row : layoutRange.start.col;
@@ -515,7 +519,7 @@ export class ListTable extends BaseTable {
515
519
  };
516
520
  }
517
521
  getCellRangeByField(field, index) {
518
- const {layoutMap: layoutMap} = this.internalProps, colObj = layoutMap.columnObjects.find((col => col.field === field));
522
+ const {layoutMap: layoutMap} = this.internalProps, colObj = layoutMap.columnObjects.find((col => isSameField(col.field, field)));
519
523
  if (colObj) {
520
524
  const layoutRange = layoutMap.getBodyLayoutRangeById(colObj.id);
521
525
  let startRow;
@@ -629,7 +633,7 @@ export class ListTable extends BaseTable {
629
633
  _getSortFuncFromHeaderOption(columns, field, fieldKey) {
630
634
  if (columns || (columns = this.internalProps.columns), field && columns && columns.length > 0) for (let i = 0; i < columns.length; i++) {
631
635
  const header = columns[i];
632
- if ((fieldKey && fieldKey === header.fieldKey || !fieldKey && header.field === field) && header.sort && "function" == typeof header.sort) return header.sort;
636
+ if ((fieldKey && fieldKey === header.fieldKey || !fieldKey && isSameField(header.field, field)) && header.sort && "function" == typeof header.sort) return header.sort;
633
637
  if (header.columns) {
634
638
  const sort = this._getSortFuncFromHeaderOption(header.columns, field, fieldKey);
635
639
  if (sort) return sort;
@@ -642,7 +646,7 @@ export class ListTable extends BaseTable {
642
646
  if (normalizedSortState.length ? this.internalProps.sortState = sortState : this.internalProps.sortState = null,
643
647
  executeSort) if (normalizedSortState.length) this.internalProps.layoutMap.headerObjects.some((item => !1 !== item.define.sort)) && (this.dataSource.sort(normalizedSortState.map((item => {
644
648
  const sortFunc = this._getSortFuncFromHeaderOption(this.internalProps.columns, item.field);
645
- this.internalProps.layoutMap.headerObjects.find((col => col && col.field === item.field));
649
+ this.internalProps.layoutMap.headerObjects.find((col => col && isSameField(col.field, item.field)));
646
650
  return {
647
651
  field: item.field,
648
652
  order: item.order,
@@ -744,7 +748,7 @@ export class ListTable extends BaseTable {
744
748
  const sortState = Array.isArray(this.sortState) ? this.sortState : [ this.sortState ];
745
749
  sortState.some((item => item.order && item.field && "normal" !== item.order)) && this.internalProps.layoutMap.headerObjectsIncludeHided.some((item => !1 !== item.define.sort)) && this.dataSource.sort(sortState.map((item => {
746
750
  const sortFunc = this._getSortFuncFromHeaderOption(void 0, item.field);
747
- this.internalProps.layoutMap.headerObjectsIncludeHided.find((col => col && col.field === item.field));
751
+ this.internalProps.layoutMap.headerObjectsIncludeHided.find((col => col && isSameField(col.field, item.field)));
748
752
  return {
749
753
  field: item.field,
750
754
  order: item.order || "asc",
@@ -832,8 +836,8 @@ export class ListTable extends BaseTable {
832
836
  changeCellValue(col, row, value, workOnEditableCell = !1, triggerEvent = !0, noTriggerChangeCellValuesEvent) {
833
837
  return listTableChangeCellValue(col, row, value, workOnEditableCell, triggerEvent, this, noTriggerChangeCellValuesEvent);
834
838
  }
835
- changeCellValues(startCol, startRow, values, workOnEditableCell = !1, triggerEvent = !0, noTriggerChangeCellValuesEvent) {
836
- return listTableChangeCellValues(startCol, startRow, values, workOnEditableCell, triggerEvent, this, noTriggerChangeCellValuesEvent);
839
+ changeCellValues(startCol, startRow, values, workOnEditableCell = !1, triggerEvent = !0, noTriggerChangeCellValuesEvent, shouldCancel) {
840
+ return listTableChangeCellValues(startCol, startRow, values, workOnEditableCell, triggerEvent, this, noTriggerChangeCellValuesEvent, shouldCancel);
837
841
  }
838
842
  changeCellValuesByRanges(ranges, value, workOnEditableCell = !1, triggerEvent = !0, noTriggerChangeCellValuesEvent) {
839
843
  return listTableChangeCellValuesByRanges(ranges, value, workOnEditableCell, triggerEvent, this, noTriggerChangeCellValuesEvent);
@@ -862,10 +866,11 @@ export class ListTable extends BaseTable {
862
866
  var _a, _b, _c, _d, _e;
863
867
  const triggerEvent = null === (_a = null == options ? void 0 : options.triggerEvent) || void 0 === _a || _a, noTriggerChangeCellValuesEvent = null == options ? void 0 : options.noTriggerChangeCellValuesEvent, autoRefresh = null === (_b = null == options ? void 0 : options.autoRefresh) || void 0 === _b || _b, records = null === (_c = this.dataSource.dataSourceObj) || void 0 === _c ? void 0 : _c.records;
864
868
  let record, oldValue;
865
- if (!Array.isArray(records) || "string" != typeof field && "number" != typeof field || (record = Array.isArray(recordIndex) ? getValueFromDeepArray(records, recordIndex) : records[recordIndex],
866
- oldValue = null == record ? void 0 : record[field]), this.dataSource.changeFieldValueByRecordIndex(value, recordIndex, field, this),
869
+ if (Array.isArray(records) && ("string" == typeof field || "number" == typeof field || Array.isArray(field)) && (record = Array.isArray(recordIndex) ? getValueFromDeepArray(records, recordIndex) : records[recordIndex],
870
+ oldValue = getRecordFieldValue(record, field)), this.dataSource.changeFieldValueByRecordIndex(value, recordIndex, field, this),
871
+ Array.isArray(records) && (record = Array.isArray(recordIndex) ? getValueFromDeepArray(records, recordIndex) : records[recordIndex]),
867
872
  !triggerEvent) return;
868
- const changedValue = !record || "string" != typeof field && "number" != typeof field ? value : null == record ? void 0 : record[field];
873
+ const changedValue = record && ("string" == typeof field || "number" == typeof field || Array.isArray(field)) ? getRecordFieldValue(record, field) : value;
869
874
  if (oldValue !== changedValue) {
870
875
  const cellAddr = this.getCellAddrByFieldRecord(field, recordIndex), changeValue = {
871
876
  col: null !== (_d = null == cellAddr ? void 0 : cellAddr.col) && void 0 !== _d ? _d : -1,
@@ -895,10 +900,11 @@ export class ListTable extends BaseTable {
895
900
  for (let i = 0; i < changeValues.length; i++) {
896
901
  const {recordIndex: recordIndex, field: field, value: value} = changeValues[i], records = null === (_c = this.dataSource.dataSourceObj) || void 0 === _c ? void 0 : _c.records;
897
902
  let record, oldValue;
898
- if (!Array.isArray(records) || "string" != typeof field && "number" != typeof field || (record = Array.isArray(recordIndex) ? getValueFromDeepArray(records, recordIndex) : records[recordIndex],
899
- oldValue = null == record ? void 0 : record[field]), this.dataSource.changeFieldValueByRecordIndex(value, recordIndex, field, this),
903
+ if (Array.isArray(records) && ("string" == typeof field || "number" == typeof field || Array.isArray(field)) && (record = Array.isArray(recordIndex) ? getValueFromDeepArray(records, recordIndex) : records[recordIndex],
904
+ oldValue = getRecordFieldValue(record, field)), this.dataSource.changeFieldValueByRecordIndex(value, recordIndex, field, this),
905
+ Array.isArray(records) && (record = Array.isArray(recordIndex) ? getValueFromDeepArray(records, recordIndex) : records[recordIndex]),
900
906
  triggerEvent) {
901
- const changedValue = !record || "string" != typeof field && "number" != typeof field ? value : null == record ? void 0 : record[field];
907
+ const changedValue = record && ("string" == typeof field || "number" == typeof field || Array.isArray(field)) ? getRecordFieldValue(record, field) : value;
902
908
  if (oldValue !== changedValue) {
903
909
  const changeValue = {
904
910
  col: null !== (_e = null === (_d = this.getCellAddrByFieldRecord(field, recordIndex)) || void 0 === _d ? void 0 : _d.col) && void 0 !== _e ? _e : -1,