@visactor/vtable 1.3.3 → 1.4.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 (115) hide show
  1. package/cjs/ListTable.js +25 -15
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotChart.d.ts +1 -2
  4. package/cjs/PivotChart.js +0 -7
  5. package/cjs/PivotChart.js.map +1 -1
  6. package/cjs/PivotTable.d.ts +1 -1
  7. package/cjs/PivotTable.js +34 -14
  8. package/cjs/PivotTable.js.map +1 -1
  9. package/cjs/components/react/react-custom-layout.d.ts +21 -0
  10. package/cjs/components/react/react-custom-layout.js +48 -0
  11. package/cjs/components/react/react-custom-layout.js.map +1 -0
  12. package/cjs/core/BaseTable.d.ts +5 -0
  13. package/cjs/core/BaseTable.js +37 -23
  14. package/cjs/core/BaseTable.js.map +1 -1
  15. package/cjs/core/style.js +1 -1
  16. package/cjs/core/style.js.map +1 -1
  17. package/cjs/data/DataSource.d.ts +6 -1
  18. package/cjs/data/DataSource.js +12 -2
  19. package/cjs/data/DataSource.js.map +1 -1
  20. package/cjs/dataset/dataset.d.ts +15 -2
  21. package/cjs/dataset/dataset.js +187 -72
  22. package/cjs/dataset/dataset.js.map +1 -1
  23. package/cjs/dataset/statistics-helper.d.ts +43 -3
  24. package/cjs/dataset/statistics-helper.js +61 -26
  25. package/cjs/dataset/statistics-helper.js.map +1 -1
  26. package/cjs/event/listener/table-group.js +2 -2
  27. package/cjs/event/listener/table-group.js.map +1 -1
  28. package/cjs/index.d.ts +3 -1
  29. package/cjs/index.js +14 -5
  30. package/cjs/index.js.map +1 -1
  31. package/cjs/layout/pivot-header-layout.d.ts +1 -0
  32. package/cjs/layout/pivot-header-layout.js +7 -0
  33. package/cjs/layout/pivot-header-layout.js.map +1 -1
  34. package/cjs/scenegraph/component/custom.js +6 -4
  35. package/cjs/scenegraph/component/custom.js.map +1 -1
  36. package/cjs/scenegraph/group-creater/cell-helper.js +4 -0
  37. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  38. package/cjs/scenegraph/layout/compute-col-width.js +2 -2
  39. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  40. package/cjs/scenegraph/layout/compute-row-height.js +3 -3
  41. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  42. package/cjs/scenegraph/scenegraph.d.ts +2 -1
  43. package/cjs/scenegraph/scenegraph.js +12 -3
  44. package/cjs/scenegraph/scenegraph.js.map +1 -1
  45. package/cjs/ts-types/base-table.d.ts +8 -0
  46. package/cjs/ts-types/base-table.js.map +1 -1
  47. package/cjs/ts-types/customLayout.d.ts +1 -1
  48. package/cjs/ts-types/customLayout.js.map +1 -1
  49. package/cjs/ts-types/new-data-set.d.ts +9 -1
  50. package/cjs/ts-types/new-data-set.js +1 -1
  51. package/cjs/ts-types/new-data-set.js.map +1 -1
  52. package/cjs/ts-types/pivot-table/corner.d.ts +12 -0
  53. package/cjs/ts-types/pivot-table/corner.js.map +1 -1
  54. package/cjs/vrender.d.ts +4 -0
  55. package/cjs/vrender.js +39 -11
  56. package/cjs/vrender.js.map +1 -1
  57. package/dist/vtable.js +25311 -9542
  58. package/dist/vtable.min.js +2 -2
  59. package/es/ListTable.js +21 -11
  60. package/es/ListTable.js.map +1 -1
  61. package/es/PivotChart.d.ts +1 -2
  62. package/es/PivotChart.js +0 -7
  63. package/es/PivotChart.js.map +1 -1
  64. package/es/PivotTable.d.ts +1 -1
  65. package/es/PivotTable.js +34 -14
  66. package/es/PivotTable.js.map +1 -1
  67. package/es/components/react/react-custom-layout.d.ts +21 -0
  68. package/es/components/react/react-custom-layout.js +38 -0
  69. package/es/components/react/react-custom-layout.js.map +1 -0
  70. package/es/core/BaseTable.d.ts +5 -0
  71. package/es/core/BaseTable.js +40 -23
  72. package/es/core/BaseTable.js.map +1 -1
  73. package/es/core/style.js +1 -1
  74. package/es/core/style.js.map +1 -1
  75. package/es/data/DataSource.d.ts +6 -1
  76. package/es/data/DataSource.js +12 -2
  77. package/es/data/DataSource.js.map +1 -1
  78. package/es/dataset/dataset.d.ts +15 -2
  79. package/es/dataset/dataset.js +187 -73
  80. package/es/dataset/dataset.js.map +1 -1
  81. package/es/dataset/statistics-helper.d.ts +43 -3
  82. package/es/dataset/statistics-helper.js +55 -23
  83. package/es/dataset/statistics-helper.js.map +1 -1
  84. package/es/event/listener/table-group.js +2 -2
  85. package/es/event/listener/table-group.js.map +1 -1
  86. package/es/index.d.ts +3 -1
  87. package/es/index.js +5 -1
  88. package/es/index.js.map +1 -1
  89. package/es/layout/pivot-header-layout.d.ts +1 -0
  90. package/es/layout/pivot-header-layout.js +7 -0
  91. package/es/layout/pivot-header-layout.js.map +1 -1
  92. package/es/scenegraph/component/custom.js +7 -3
  93. package/es/scenegraph/component/custom.js.map +1 -1
  94. package/es/scenegraph/group-creater/cell-helper.js +4 -0
  95. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  96. package/es/scenegraph/layout/compute-col-width.js +3 -3
  97. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  98. package/es/scenegraph/layout/compute-row-height.js +4 -4
  99. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  100. package/es/scenegraph/scenegraph.d.ts +2 -1
  101. package/es/scenegraph/scenegraph.js +12 -3
  102. package/es/scenegraph/scenegraph.js.map +1 -1
  103. package/es/ts-types/base-table.d.ts +8 -0
  104. package/es/ts-types/base-table.js.map +1 -1
  105. package/es/ts-types/customLayout.d.ts +1 -1
  106. package/es/ts-types/customLayout.js.map +1 -1
  107. package/es/ts-types/new-data-set.d.ts +9 -1
  108. package/es/ts-types/new-data-set.js +1 -1
  109. package/es/ts-types/new-data-set.js.map +1 -1
  110. package/es/ts-types/pivot-table/corner.d.ts +12 -0
  111. package/es/ts-types/pivot-table/corner.js.map +1 -1
  112. package/es/vrender.d.ts +4 -0
  113. package/es/vrender.js +9 -3
  114. package/es/vrender.js.map +1 -1
  115. package/package.json +8 -8
package/cjs/PivotTable.js CHANGED
@@ -463,13 +463,17 @@ class PivotTable extends BaseTable_1.BaseTable {
463
463
  }
464
464
  }
465
465
  }
466
- updateSortRules(sortRules) {
466
+ updateSortRules(sortRules, col, row) {
467
467
  this.internalProps.dataConfig ? this.internalProps.dataConfig.sortRules = sortRules : this.internalProps.dataConfig = {
468
468
  sortRules: sortRules
469
- }, this.dataset.updateSortRules(sortRules), this._changePivotSortStateBySortRules(),
470
- this.internalProps.layoutMap.resetHeaderTree(), this.scenegraph.clearCells(), this.refreshHeader(),
471
- this.internalProps.useOneRowHeightFillAll = !1, this.scenegraph.createSceneGraph(),
472
- this.render();
469
+ }, this.dataset.updateSortRules(sortRules), this._changePivotSortStateBySortRules();
470
+ const {layoutMap: layoutMap} = this.internalProps;
471
+ layoutMap.resetHeaderTree(), this.scenegraph.clearCells(), (0, vutils_1.isNumber)(col) && (0,
472
+ vutils_1.isNumber)(row) ? (this.isRowHeader(col, row) ? (this.setMinMaxLimitWidth(!0),
473
+ this.internalProps._widthResizedColMap.clear()) : this.isCornerHeader(col, row) ? "column" === layoutMap.cornerSetting.titleOnDimension ? (this.setMinMaxLimitWidth(!0),
474
+ this.internalProps._widthResizedColMap.clear()) : "row" === layoutMap.cornerSetting.titleOnDimension && this.internalProps._heightResizedRowMap.clear() : this.isColumnHeader(col, row) && this.internalProps._heightResizedRowMap.clear(),
475
+ this.refreshRowColCount()) : this.refreshHeader(), this.internalProps.useOneRowHeightFillAll = !1,
476
+ this.scenegraph.createSceneGraph(!0), this.render();
473
477
  }
474
478
  _changePivotSortStateBySortRules() {
475
479
  var _a, _b, _c, _d;
@@ -544,7 +548,7 @@ class PivotTable extends BaseTable_1.BaseTable {
544
548
  sortField: headerDefine.dimensionKey,
545
549
  sortType: ts_types_1.SortType[order]
546
550
  } ];
547
- this.updateSortRules(this.dataset.sortRules);
551
+ this.updateSortRules(this.dataset.sortRules, col, row);
548
552
  }
549
553
  }
550
554
  getPivotSortState(col, row) {
@@ -675,12 +679,14 @@ class PivotTable extends BaseTable_1.BaseTable {
675
679
  this.refreshHeader(), this.internalProps.useOneRowHeightFillAll = !1, this.scenegraph.clearCells(),
676
680
  this.clearCellStyleCache(), this.scenegraph.createSceneGraph(), this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row),
677
681
  this.internalProps.title && !this.internalProps.title.isReleased && (this._updateSize(),
678
- this.internalProps.title.resize(), this.scenegraph.resize()), this.eventManager.updateEventBinder();
682
+ this.internalProps.title.resize(), this.scenegraph.resize()), this.eventManager.updateEventBinder(),
683
+ this.options.emptyTip && (this.internalProps.emptyTip || (this.internalProps.emptyTip = new empty_tip_1.EmptyTip(this.options.emptyTip, this)),
684
+ this.internalProps.emptyTip.resetVisible());
679
685
  }
680
686
  startEditCell(col, row) {
681
687
  var _a;
682
- if ((0, vutils_1.isValid)(col) && (0, vutils_1.isValid)(row)) this.selectCell(col, row),
683
- this.editorManager.startEditCell(col, row); else if (null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.cellPos) {
688
+ if ((0, vutils_1.isValid)(col) && (0, vutils_1.isValid)(row)) this.eventManager.isDraging = !1,
689
+ this.selectCell(col, row), this.editorManager.startEditCell(col, row); else if (null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.cellPos) {
684
690
  const {col: col, row: row} = this.stateManager.select.cellPos;
685
691
  (0, vutils_1.isValid)(col) && (0, vutils_1.isValid)(row) && this.editorManager.startEditCell(col, row);
686
692
  }
@@ -689,14 +695,17 @@ class PivotTable extends BaseTable_1.BaseTable {
689
695
  this.editorManager.completeEdit();
690
696
  }
691
697
  getEditor(col, row) {
692
- var _a, _b;
698
+ var _a, _b, _c;
693
699
  let editorDefine;
694
- if (this.isHeader(col, row) && !this.isCornerHeader(col, row)) {
700
+ if (this.isCornerHeader(col, row)) {
695
701
  const define = this.getHeaderDefine(col, row);
696
702
  editorDefine = null !== (_a = null == define ? void 0 : define.headerEditor) && void 0 !== _a ? _a : this.options.headerEditor;
703
+ } else if (this.isHeader(col, row)) {
704
+ const define = this.getHeaderDefine(col, row);
705
+ editorDefine = null !== (_b = null == define ? void 0 : define.headerEditor) && void 0 !== _b ? _b : this.options.headerEditor;
697
706
  } else {
698
707
  const define = this.getBodyColumnDefine(col, row);
699
- editorDefine = null !== (_b = null == define ? void 0 : define.editor) && void 0 !== _b ? _b : this.options.editor;
708
+ editorDefine = null !== (_c = null == define ? void 0 : define.editor) && void 0 !== _c ? _c : this.options.editor;
700
709
  }
701
710
  if ("function" == typeof editorDefine) {
702
711
  editorDefine = editorDefine({
@@ -751,6 +760,17 @@ class PivotTable extends BaseTable_1.BaseTable {
751
760
  }
752
761
  changeCellValues(startCol, startRow, values, workOnEditableCell = !1) {
753
762
  let pasteColEnd = startCol, pasteRowEnd = startRow;
763
+ const beforeChangeValues = [], oldValues = [];
764
+ for (let i = 0; i < values.length && !(startRow + i > this.rowCount - 1); i++) {
765
+ const rowValues = values[i], rawRowValues = [], oldRowValues = [];
766
+ beforeChangeValues.push(rawRowValues), oldValues.push(oldRowValues);
767
+ for (let j = 0; j < rowValues.length && !(startCol + j > this.colCount - 1); j++) {
768
+ const beforeChangeValue = this.getCellRawValue(startCol + j, startRow + i);
769
+ rawRowValues.push(beforeChangeValue);
770
+ const oldValue = this.getCellOriginValue(startCol + j, startRow + i);
771
+ oldRowValues.push(oldValue);
772
+ }
773
+ }
754
774
  for (let i = 0; i < values.length && !(startRow + i > this.rowCount - 1); i++) {
755
775
  pasteRowEnd = startRow + i;
756
776
  const rowValues = values[i];
@@ -759,7 +779,7 @@ class PivotTable extends BaseTable_1.BaseTable {
759
779
  workOnEditableCell && this.isHasEditorDefine(startCol + j, startRow + i) || !1 === workOnEditableCell) {
760
780
  const value = rowValues[j];
761
781
  let newValue = value;
762
- const oldValue = this.getCellOriginValue(startCol + j, startRow + i), rawValue = this.getCellRawValue(startCol + j, startRow + i);
782
+ const oldValue = oldValues[i][j], rawValue = beforeChangeValues[i][j];
763
783
  "number" == typeof rawValue && (0, util_1.isAllDigits)(value) && (newValue = parseFloat(value)),
764
784
  this._changeCellValueToDataSet(startCol + j, startRow + i, oldValue, newValue),
765
785
  this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CHANGE_CELL_VALUE, {
@@ -795,7 +815,7 @@ class PivotTable extends BaseTable_1.BaseTable {
795
815
  this.records[rowIndex][colIndex] = newValue;
796
816
  } else if (this.dataset) {
797
817
  const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);
798
- if (this.isHeader(col, row)) this.internalProps.layoutMap.changeTreeNodeTitle(col, row, newValue),
818
+ if (this.isCornerHeader(col, row)) this.internalProps.layoutMap.changeCornerTitle(col, row, newValue); else if (this.isHeader(col, row)) this.internalProps.layoutMap.changeTreeNodeTitle(col, row, newValue),
799
819
  !this.isCornerHeader(col, row) && this.dataset.changeRecordFieldValue((null === (_a = cellDimensionPath.colHeaderPaths) || void 0 === _a ? void 0 : _a.length) ? null !== (_b = cellDimensionPath.colHeaderPaths[cellDimensionPath.colHeaderPaths.length - 1].indicatorKey) && void 0 !== _b ? _b : cellDimensionPath.colHeaderPaths[cellDimensionPath.colHeaderPaths.length - 1].dimensionKey : null !== (_c = cellDimensionPath.rowHeaderPaths[cellDimensionPath.rowHeaderPaths.length - 1].indicatorKey) && void 0 !== _c ? _c : cellDimensionPath.rowHeaderPaths[cellDimensionPath.rowHeaderPaths.length - 1].dimensionKey, oldValue, newValue); else {
800
820
  const colKeys = cellDimensionPath.colHeaderPaths.map((colPath => {
801
821
  var _a;