@visactor/vtable 0.24.2-alpha.3 → 0.25.0

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 (139) hide show
  1. package/cjs/ListTable.js +5 -3
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotChart.js +14 -12
  4. package/cjs/PivotChart.js.map +1 -1
  5. package/cjs/PivotTable.js +22 -18
  6. package/cjs/PivotTable.js.map +1 -1
  7. package/cjs/core/BaseTable.d.ts +1 -0
  8. package/cjs/core/BaseTable.js +62 -16
  9. package/cjs/core/BaseTable.js.map +1 -1
  10. package/cjs/core/TABLE_EVENT_TYPE.d.ts +3 -1
  11. package/cjs/core/TABLE_EVENT_TYPE.js +3 -0
  12. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  13. package/cjs/edit/edit-manager.js +0 -1
  14. package/cjs/edit/edit-manager.js.map +1 -1
  15. package/cjs/event/event.d.ts +2 -0
  16. package/cjs/event/event.js +12 -2
  17. package/cjs/event/event.js.map +1 -1
  18. package/cjs/event/listener/container-dom.js +5 -2
  19. package/cjs/event/listener/container-dom.js.map +1 -1
  20. package/cjs/event/listener/scroll-bar.js +8 -0
  21. package/cjs/event/listener/scroll-bar.js.map +1 -1
  22. package/cjs/event/listener/table-group.js +23 -8
  23. package/cjs/event/listener/table-group.js.map +1 -1
  24. package/cjs/index.d.ts +1 -1
  25. package/cjs/index.js +1 -1
  26. package/cjs/index.js.map +1 -1
  27. package/cjs/layout/tree-helper.js +1 -1
  28. package/cjs/layout/tree-helper.js.map +1 -1
  29. package/cjs/scenegraph/component/table-component.d.ts +8 -0
  30. package/cjs/scenegraph/component/table-component.js +180 -2
  31. package/cjs/scenegraph/component/table-component.js.map +1 -1
  32. package/cjs/scenegraph/component/util.d.ts +1 -0
  33. package/cjs/scenegraph/component/util.js +8 -2
  34. package/cjs/scenegraph/component/util.js.map +1 -1
  35. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +18 -9
  36. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  37. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +5 -5
  38. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  39. package/cjs/scenegraph/group-creater/progress/proxy.js +4 -2
  40. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  41. package/cjs/scenegraph/layout/frozen.js +4 -2
  42. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  43. package/cjs/scenegraph/scenegraph.d.ts +7 -0
  44. package/cjs/scenegraph/scenegraph.js +42 -19
  45. package/cjs/scenegraph/scenegraph.js.map +1 -1
  46. package/cjs/scenegraph/select/update-select-border.js +4 -4
  47. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  48. package/cjs/state/cell-move/index.js +2 -1
  49. package/cjs/state/cell-move/index.js.map +1 -1
  50. package/cjs/state/resize/update-resize-column.js +4 -3
  51. package/cjs/state/resize/update-resize-column.js.map +1 -1
  52. package/cjs/state/resize/update-resize-row.d.ts +2 -0
  53. package/cjs/state/resize/update-resize-row.js +63 -0
  54. package/cjs/state/resize/update-resize-row.js.map +1 -0
  55. package/cjs/state/state.d.ts +11 -1
  56. package/cjs/state/state.js +30 -5
  57. package/cjs/state/state.js.map +1 -1
  58. package/cjs/themes/component.js +1 -1
  59. package/cjs/tools/global.d.ts +1 -0
  60. package/cjs/tools/global.js +2 -2
  61. package/cjs/tools/global.js.map +1 -1
  62. package/cjs/ts-types/base-table.d.ts +7 -0
  63. package/cjs/ts-types/base-table.js.map +1 -1
  64. package/cjs/ts-types/events.d.ts +11 -0
  65. package/cjs/ts-types/events.js.map +1 -1
  66. package/cjs/ts-types/table-engine.d.ts +2 -0
  67. package/cjs/ts-types/table-engine.js.map +1 -1
  68. package/cjs/vrender.js.map +1 -1
  69. package/dist/vtable.js +700 -68
  70. package/dist/vtable.min.js +2 -2
  71. package/es/ListTable.js +5 -3
  72. package/es/ListTable.js.map +1 -1
  73. package/es/PivotChart.js +14 -12
  74. package/es/PivotChart.js.map +1 -1
  75. package/es/PivotTable.js +22 -18
  76. package/es/PivotTable.js.map +1 -1
  77. package/es/core/BaseTable.d.ts +1 -0
  78. package/es/core/BaseTable.js +62 -17
  79. package/es/core/BaseTable.js.map +1 -1
  80. package/es/core/TABLE_EVENT_TYPE.d.ts +3 -1
  81. package/es/core/TABLE_EVENT_TYPE.js +3 -0
  82. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  83. package/es/edit/edit-manager.js +0 -1
  84. package/es/edit/edit-manager.js.map +1 -1
  85. package/es/event/event.d.ts +2 -0
  86. package/es/event/event.js +12 -2
  87. package/es/event/event.js.map +1 -1
  88. package/es/event/listener/container-dom.js +5 -2
  89. package/es/event/listener/container-dom.js.map +1 -1
  90. package/es/event/listener/scroll-bar.js +8 -0
  91. package/es/event/listener/scroll-bar.js.map +1 -1
  92. package/es/event/listener/table-group.js +23 -8
  93. package/es/event/listener/table-group.js.map +1 -1
  94. package/es/index.d.ts +1 -1
  95. package/es/index.js +1 -1
  96. package/es/index.js.map +1 -1
  97. package/es/layout/tree-helper.js +1 -1
  98. package/es/layout/tree-helper.js.map +1 -1
  99. package/es/scenegraph/component/table-component.d.ts +8 -0
  100. package/es/scenegraph/component/table-component.js +181 -3
  101. package/es/scenegraph/component/table-component.js.map +1 -1
  102. package/es/scenegraph/component/util.d.ts +1 -0
  103. package/es/scenegraph/component/util.js +7 -1
  104. package/es/scenegraph/component/util.js.map +1 -1
  105. package/es/scenegraph/graphic/contributions/group-contribution-render.js +18 -9
  106. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  107. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +5 -4
  108. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  109. package/es/scenegraph/group-creater/progress/proxy.js +4 -2
  110. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  111. package/es/scenegraph/layout/frozen.js +4 -2
  112. package/es/scenegraph/layout/frozen.js.map +1 -1
  113. package/es/scenegraph/scenegraph.d.ts +7 -0
  114. package/es/scenegraph/scenegraph.js +44 -19
  115. package/es/scenegraph/scenegraph.js.map +1 -1
  116. package/es/scenegraph/select/update-select-border.js +4 -4
  117. package/es/scenegraph/select/update-select-border.js.map +1 -1
  118. package/es/state/cell-move/index.js +2 -1
  119. package/es/state/cell-move/index.js.map +1 -1
  120. package/es/state/resize/update-resize-column.js +4 -3
  121. package/es/state/resize/update-resize-column.js.map +1 -1
  122. package/es/state/resize/update-resize-row.d.ts +2 -0
  123. package/es/state/resize/update-resize-row.js +57 -0
  124. package/es/state/resize/update-resize-row.js.map +1 -0
  125. package/es/state/state.d.ts +11 -1
  126. package/es/state/state.js +31 -4
  127. package/es/state/state.js.map +1 -1
  128. package/es/themes/component.js +1 -1
  129. package/es/tools/global.d.ts +1 -0
  130. package/es/tools/global.js +2 -0
  131. package/es/tools/global.js.map +1 -1
  132. package/es/ts-types/base-table.d.ts +7 -0
  133. package/es/ts-types/base-table.js.map +1 -1
  134. package/es/ts-types/events.d.ts +11 -0
  135. package/es/ts-types/events.js.map +1 -1
  136. package/es/ts-types/table-engine.d.ts +2 -0
  137. package/es/ts-types/table-engine.js.map +1 -1
  138. package/es/vrender.js.map +1 -1
  139. package/package.json +5 -5
package/es/PivotTable.js CHANGED
@@ -34,7 +34,7 @@ import { cloneDeepSpec } from "@visactor/vutils-extension";
34
34
 
35
35
  export class PivotTable extends BaseTable {
36
36
  constructor(container, options) {
37
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
37
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
38
38
  "node" === Env.mode ? (options = container, container = null) : container instanceof HTMLElement || (options = container,
39
39
  container = container.container ? container.container : null), super(container, options),
40
40
  options.layout && Object.assign(options, options.layout), this.internalProps.columns = cloneDeep(options.columns),
@@ -45,18 +45,19 @@ export class PivotTable extends BaseTable {
45
45
  this.internalProps.rowTree = options.indicatorsAsCol || (null === (_c = options.rows) || void 0 === _c ? void 0 : _c.length) || options.rowTree ? cloneDeep(options.rowTree) : [],
46
46
  this.internalProps.records = options.records, this.pagination = options.pagination,
47
47
  this.internalProps.columnResizeType = null !== (_d = options.columnResizeType) && void 0 !== _d ? _d : "column",
48
+ this.internalProps.rowResizeType = null !== (_e = options.rowResizeType) && void 0 !== _e ? _e : "row",
48
49
  this.internalProps.dataConfig = cloneDeep(options.dataConfig), options.rowTree || options.columnTree ? this.internalProps.enableDataAnalysis = !1 : this.internalProps.enableDataAnalysis = !0;
49
50
  const records = this.internalProps.records;
50
51
  if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {
51
- const rowKeys = null !== (_f = null === (_e = options.rows) || void 0 === _e ? void 0 : _e.reduce(((keys, rowObj) => ("string" == typeof rowObj ? keys.push(rowObj) : keys.push(rowObj.dimensionKey),
52
- keys)), [])) && void 0 !== _f ? _f : [], columnKeys = null !== (_h = null === (_g = options.columns) || void 0 === _g ? void 0 : _g.reduce(((keys, columnObj) => ("string" == typeof columnObj ? keys.push(columnObj) : keys.push(columnObj.dimensionKey),
53
- keys)), [])) && void 0 !== _h ? _h : [], indicatorKeys = null !== (_k = null === (_j = options.indicators) || void 0 === _j ? void 0 : _j.reduce(((keys, indicatorObj) => ("string" == typeof indicatorObj ? keys.push(indicatorObj) : keys.push(indicatorObj.indicatorKey),
54
- keys)), [])) && void 0 !== _k ? _k : [];
55
- this.dataset = new Dataset(this.internalProps.dataConfig, rowKeys, columnKeys, indicatorKeys, this.internalProps.indicators, null === (_l = options.indicatorsAsCol) || void 0 === _l || _l, options.records, options.rowHierarchyType, this.internalProps.columnTree, this.internalProps.rowTree),
52
+ const rowKeys = null !== (_g = null === (_f = options.rows) || void 0 === _f ? void 0 : _f.reduce(((keys, rowObj) => ("string" == typeof rowObj ? keys.push(rowObj) : keys.push(rowObj.dimensionKey),
53
+ keys)), [])) && void 0 !== _g ? _g : [], columnKeys = null !== (_j = null === (_h = options.columns) || void 0 === _h ? void 0 : _h.reduce(((keys, columnObj) => ("string" == typeof columnObj ? keys.push(columnObj) : keys.push(columnObj.dimensionKey),
54
+ keys)), [])) && void 0 !== _j ? _j : [], indicatorKeys = null !== (_l = null === (_k = options.indicators) || void 0 === _k ? void 0 : _k.reduce(((keys, indicatorObj) => ("string" == typeof indicatorObj ? keys.push(indicatorObj) : keys.push(indicatorObj.indicatorKey),
55
+ keys)), [])) && void 0 !== _l ? _l : [];
56
+ this.dataset = new Dataset(this.internalProps.dataConfig, rowKeys, columnKeys, indicatorKeys, this.internalProps.indicators, null === (_m = options.indicatorsAsCol) || void 0 === _m || _m, options.records, options.rowHierarchyType, this.internalProps.columnTree, this.internalProps.rowTree),
56
57
  this.internalProps.layoutMap = new PivotHeaderLayoutMap(this, this.dataset);
57
58
  } else {
58
59
  if (!Array.isArray(this.internalProps.columnTree) && !Array.isArray(this.internalProps.rowTree)) return;
59
- this.internalProps.layoutMap = new PivotHeaderLayoutMap(this, null), (null === (_m = null == records ? void 0 : records[0]) || void 0 === _m ? void 0 : _m.constructor) !== Array && (this.flatDataToObjects = new FlatDataToObjects({
60
+ this.internalProps.layoutMap = new PivotHeaderLayoutMap(this, null), (null === (_o = null == records ? void 0 : records[0]) || void 0 === _o ? void 0 : _o.constructor) !== Array && (this.flatDataToObjects = new FlatDataToObjects({
60
61
  rows: this.internalProps.layoutMap.fullRowDimensionKeys,
61
62
  columns: this.internalProps.layoutMap.colDimensionKeys,
62
63
  indicators: this.internalProps.layoutMap.indicatorKeys,
@@ -97,7 +98,7 @@ export class PivotTable extends BaseTable {
97
98
  return ifCan;
98
99
  }
99
100
  updateOption(options) {
100
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
101
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
101
102
  const internalProps = this.internalProps;
102
103
  if (super.updateOption(options), this.internalProps.columns = cloneDeep(options.columns),
103
104
  this.internalProps.rows = cloneDeep(options.rows), this.internalProps.indicators = (null === (_a = options.indicators) || void 0 === _a ? void 0 : _a.length) ? cloneDeepSpec(options.indicators) : [],
@@ -108,25 +109,26 @@ export class PivotTable extends BaseTable {
108
109
  options.records && (this.internalProps.records = options.records), this.stateManager.initCheckedState(this.internalProps.records),
109
110
  this.stateManager.updateDrillState(void 0, void 0, !1, !1, -1, -1), this.pagination = options.pagination,
110
111
  internalProps.columnResizeType = null !== (_e = options.columnResizeType) && void 0 !== _e ? _e : "column",
112
+ internalProps.rowResizeType = null !== (_f = options.rowResizeType) && void 0 !== _f ? _f : "row",
111
113
  internalProps.dataConfig = cloneDeep(options.dataConfig), options.rowTree || options.columnTree ? internalProps.enableDataAnalysis = !1 : internalProps.enableDataAnalysis = !0,
112
114
  "tree" === (null == options ? void 0 : options.rowHierarchyType) && "tree" === this.internalProps.layoutMap.rowHierarchyType && this.internalProps.layoutMap.rowExpandLevel === (null == options ? void 0 : options.rowExpandLevel)) {
113
115
  const beforeRowDimensions = this.internalProps.layoutMap.rowDimensionTree.tree.children;
114
- null === (_f = this.internalProps.rowTree) || void 0 === _f || _f.forEach(((node, index) => {
116
+ null === (_g = this.internalProps.rowTree) || void 0 === _g || _g.forEach(((node, index) => {
115
117
  const beforeRowDimension = beforeRowDimensions.find((item => item.dimensionKey === node.dimensionKey && item.value === node.value));
116
118
  beforeRowDimension && this.syncHierarchyState(beforeRowDimension, node);
117
119
  }));
118
120
  }
119
121
  const records = this.internalProps.records;
120
122
  if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {
121
- const rowKeys = null === (_g = options.rows) || void 0 === _g ? void 0 : _g.reduce(((keys, rowObj) => ("string" == typeof rowObj ? keys.push(rowObj) : keys.push(rowObj.dimensionKey),
122
- keys)), []), columnKeys = null === (_h = options.columns) || void 0 === _h ? void 0 : _h.reduce(((keys, columnObj) => ("string" == typeof columnObj ? keys.push(columnObj) : keys.push(columnObj.dimensionKey),
123
- keys)), []), indicatorKeys = null === (_j = options.indicators) || void 0 === _j ? void 0 : _j.reduce(((keys, indicatorObj) => ("string" == typeof indicatorObj ? keys.push(indicatorObj) : keys.push(indicatorObj.indicatorKey),
123
+ const rowKeys = null === (_h = options.rows) || void 0 === _h ? void 0 : _h.reduce(((keys, rowObj) => ("string" == typeof rowObj ? keys.push(rowObj) : keys.push(rowObj.dimensionKey),
124
+ keys)), []), columnKeys = null === (_j = options.columns) || void 0 === _j ? void 0 : _j.reduce(((keys, columnObj) => ("string" == typeof columnObj ? keys.push(columnObj) : keys.push(columnObj.dimensionKey),
125
+ keys)), []), indicatorKeys = null === (_k = options.indicators) || void 0 === _k ? void 0 : _k.reduce(((keys, indicatorObj) => ("string" == typeof indicatorObj ? keys.push(indicatorObj) : keys.push(indicatorObj.indicatorKey),
124
126
  keys)), []);
125
- this.dataset = new Dataset(internalProps.dataConfig, rowKeys, columnKeys, indicatorKeys, this.internalProps.indicators, null === (_k = options.indicatorsAsCol) || void 0 === _k || _k, options.records, options.rowHierarchyType, this.internalProps.columnTree, this.internalProps.rowTree),
127
+ this.dataset = new Dataset(internalProps.dataConfig, rowKeys, columnKeys, indicatorKeys, this.internalProps.indicators, null === (_l = options.indicatorsAsCol) || void 0 === _l || _l, options.records, options.rowHierarchyType, this.internalProps.columnTree, this.internalProps.rowTree),
126
128
  internalProps.layoutMap = new PivotHeaderLayoutMap(this, this.dataset);
127
129
  } else {
128
130
  if (!Array.isArray(this.internalProps.columnTree) && !Array.isArray(this.internalProps.rowTree)) return this;
129
- internalProps.layoutMap = new PivotHeaderLayoutMap(this, null), (null === (_l = null == records ? void 0 : records[0]) || void 0 === _l ? void 0 : _l.constructor) !== Array && (this.flatDataToObjects = new FlatDataToObjects({
131
+ internalProps.layoutMap = new PivotHeaderLayoutMap(this, null), (null === (_m = null == records ? void 0 : records[0]) || void 0 === _m ? void 0 : _m.constructor) !== Array && (this.flatDataToObjects = new FlatDataToObjects({
130
132
  rows: internalProps.layoutMap.fullRowDimensionKeys,
131
133
  columns: internalProps.layoutMap.colDimensionKeys,
132
134
  indicators: internalProps.layoutMap.indicatorKeys,
@@ -567,8 +569,8 @@ export class PivotTable extends BaseTable {
567
569
  changeCellValue(col, row, value, workOnEditableCell = !1) {
568
570
  if (workOnEditableCell && this.isHasEditorDefine(col, row) || !1 === workOnEditableCell) {
569
571
  let newValue = value;
570
- const oldValue = this.getCellOriginValue(col, row);
571
- "number" == typeof this.getCellRawValue(col, row) && isAllDigits(value) && (newValue = parseFloat(value)),
572
+ const oldValue = this.getCellOriginValue(col, row), rawValue = this.getCellRawValue(col, row);
573
+ "number" == typeof rawValue && isAllDigits(value) && (newValue = parseFloat(value)),
572
574
  this._changeCellValueToDataSet(col, row, oldValue, newValue);
573
575
  const range = this.getCellRange(col, row);
574
576
  for (let sCol = range.start.col; sCol <= range.end.col; sCol++) for (let sRow = range.start.row; sRow <= range.end.row; sRow++) this.scenegraph.updateCellContent(sCol, sRow);
@@ -576,14 +578,15 @@ export class PivotTable extends BaseTable {
576
578
  const oldWidth = this.getColWidth(col), newWidth = computeColWidth(col, 0, this.rowCount - 1, this, !1);
577
579
  newWidth !== oldWidth && this.scenegraph.updateColWidth(col, newWidth - oldWidth);
578
580
  }
579
- if ("adaptive" === this.heightMode || this.autoFillHeight && this.getAllRowsHeight() <= this.tableNoFrameHeight) this.scenegraph.recalculateRowHeights(); else if ("autoHeight" === this.heightMode) {
581
+ if ("adaptive" === this.heightMode || this.autoFillHeight && this.getAllRowsHeight() <= this.tableNoFrameHeight) 0 === this.internalProps._heightResizedRowMap.size && this.scenegraph.recalculateRowHeights(); else if ("autoHeight" === this.heightMode && !this.internalProps._heightResizedRowMap.has(row)) {
580
582
  const oldHeight = this.getRowHeight(row), newHeight = computeRowHeight(row, 0, this.colCount - 1, this);
581
583
  this.scenegraph.updateRowHeight(row, newHeight - oldHeight);
582
584
  }
583
585
  this.fireListeners(TABLE_EVENT_TYPE.CHANGE_CELL_VALUE, {
584
586
  col: col,
585
587
  row: row,
586
- rawValue: this.getCellRawValue(col, row),
588
+ rawValue: rawValue,
589
+ currentValue: oldValue,
587
590
  changedValue: newValue
588
591
  }), this.scenegraph.updateNextFrame();
589
592
  }
@@ -605,6 +608,7 @@ export class PivotTable extends BaseTable {
605
608
  col: startCol + j,
606
609
  row: startRow + i,
607
610
  rawValue: rawValue,
611
+ currentValue: oldValue,
608
612
  changedValue: this.getCellOriginValue(startCol + j, startRow + i)
609
613
  });
610
614
  }