@visactor/vtable 1.25.1-alpha.1 → 1.26.1-alpha.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 (93) hide show
  1. package/cjs/ListTable.js +2 -1
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotChart.js +3 -2
  4. package/cjs/PivotChart.js.map +1 -1
  5. package/cjs/PivotTable.js +85 -13
  6. package/cjs/PivotTable.js.map +1 -1
  7. package/cjs/core/BaseTable.js +8 -5
  8. package/cjs/core/BaseTable.js.map +1 -1
  9. package/cjs/core/FouseInput.js +2 -1
  10. package/cjs/data/DataSource.js +2 -1
  11. package/cjs/edit/edit-manager.js +0 -1
  12. package/cjs/event/listener/container-dom.js +5 -2
  13. package/cjs/event/listener/container-dom.js.map +1 -1
  14. package/cjs/event/listener/table-group.js +24 -3
  15. package/cjs/event/listener/table-group.js.map +1 -1
  16. package/cjs/header-helper/header-helper.js +1 -0
  17. package/cjs/header-helper/header-helper.js.map +1 -1
  18. package/cjs/header-helper/style.js +1 -2
  19. package/cjs/index.d.ts +1 -1
  20. package/cjs/index.js +1 -1
  21. package/cjs/index.js.map +1 -1
  22. package/cjs/layout/index.js +1 -1
  23. package/cjs/layout/layout-helper.js +2 -1
  24. package/cjs/layout/pivot-header-layout.js +1 -1
  25. package/cjs/layout/row-height-map.js +1 -1
  26. package/cjs/layout/simple-header-layout.js +1 -1
  27. package/cjs/layout/tree-helper.js +1 -1
  28. package/cjs/plugins/index.js +1 -1
  29. package/cjs/plugins/interface.js +1 -1
  30. package/cjs/plugins/invert-highlight.js +1 -1
  31. package/cjs/plugins/list-tree-stick-cell.js +1 -1
  32. package/cjs/plugins/plugin-manager.js +1 -1
  33. package/cjs/scenegraph/group-creater/cell-helper.js +6 -3
  34. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  35. package/cjs/scenegraph/scenegraph.js +1 -1
  36. package/cjs/state/select/update-position.js +2 -1
  37. package/cjs/state/select/update-position.js.map +1 -1
  38. package/cjs/state/state.d.ts +1 -0
  39. package/cjs/state/state.js +7 -1
  40. package/cjs/state/state.js.map +1 -1
  41. package/cjs/ts-types/dataset/aggregation.js +94 -39
  42. package/cjs/ts-types/dataset/aggregation.js.map +1 -1
  43. package/cjs/ts-types/icon.d.ts +2 -2
  44. package/cjs/ts-types/icon.js.map +1 -1
  45. package/cjs/vrender.js.map +1 -1
  46. package/dist/vtable.js +293 -87
  47. package/dist/vtable.min.js +1 -1
  48. package/es/ListTable.js +1 -1
  49. package/es/ListTable.js.map +1 -1
  50. package/es/PivotChart.js +2 -2
  51. package/es/PivotChart.js.map +1 -1
  52. package/es/PivotTable.js +85 -13
  53. package/es/PivotTable.js.map +1 -1
  54. package/es/core/BaseTable.js +8 -5
  55. package/es/core/BaseTable.js.map +1 -1
  56. package/es/core/FouseInput.js +2 -1
  57. package/es/data/DataSource.js +2 -1
  58. package/es/edit/edit-manager.js +1 -2
  59. package/es/event/listener/container-dom.js +4 -1
  60. package/es/event/listener/container-dom.js.map +1 -1
  61. package/es/event/listener/table-group.js +24 -3
  62. package/es/event/listener/table-group.js.map +1 -1
  63. package/es/header-helper/header-helper.js +1 -0
  64. package/es/header-helper/header-helper.js.map +1 -1
  65. package/es/header-helper/style.js +1 -2
  66. package/es/index.d.ts +1 -1
  67. package/es/index.js +1 -1
  68. package/es/index.js.map +1 -1
  69. package/es/layout/index.js +1 -1
  70. package/es/layout/layout-helper.js +2 -1
  71. package/es/layout/pivot-header-layout.js +1 -1
  72. package/es/layout/row-height-map.js +1 -1
  73. package/es/layout/simple-header-layout.js +1 -1
  74. package/es/layout/tree-helper.js +1 -1
  75. package/es/plugins/index.js +1 -1
  76. package/es/plugins/interface.js +1 -1
  77. package/es/plugins/invert-highlight.js +1 -1
  78. package/es/plugins/list-tree-stick-cell.js +1 -1
  79. package/es/plugins/plugin-manager.js +1 -1
  80. package/es/scenegraph/group-creater/cell-helper.js +6 -3
  81. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  82. package/es/scenegraph/scenegraph.js +1 -1
  83. package/es/state/select/update-position.js +3 -0
  84. package/es/state/select/update-position.js.map +1 -1
  85. package/es/state/state.d.ts +1 -0
  86. package/es/state/state.js +6 -1
  87. package/es/state/state.js.map +1 -1
  88. package/es/ts-types/dataset/aggregation.js +68 -38
  89. package/es/ts-types/dataset/aggregation.js.map +1 -1
  90. package/es/ts-types/icon.d.ts +2 -2
  91. package/es/ts-types/icon.js.map +1 -1
  92. package/es/vrender.js.map +1 -1
  93. package/package.json +6 -5
package/cjs/PivotTable.js CHANGED
@@ -517,7 +517,7 @@ class PivotTable extends BaseTable_1.BaseTable {
517
517
  this.pivotSortState = [];
518
518
  const sortRules = null !== (_b = null === (_a = this.internalProps.dataConfig) || void 0 === _a ? void 0 : _a.sortRules) && void 0 !== _b ? _b : [];
519
519
  for (let i = 0; i < sortRules.length; i++) {
520
- const sortRule = sortRules[i], dimensions = [];
520
+ const sortRule = sortRules[i], dimensions = [], sortType = sortRule.sortType ? sortRule.sortType.toUpperCase() : "ASC";
521
521
  if (sortRule.sortByIndicator && sortRule.sortField === (this.dataset.indicatorsAsCol ? this.dataset.rows[this.dataset.rows.length - 1] : this.dataset.columns[this.dataset.columns.length - 1])) {
522
522
  for (let j = 0; j < sortRule.query.length; j++) dimensions.push({
523
523
  dimensionKey: this.dataset.indicatorsAsCol ? this.dataset.columns[j] : this.dataset.rows[j],
@@ -526,17 +526,46 @@ class PivotTable extends BaseTable_1.BaseTable {
526
526
  dimensions.push({
527
527
  indicatorKey: sortRule.sortByIndicator,
528
528
  value: null !== (_d = null === (_c = this.internalProps.layoutMap.getIndicatorInfo(sortRule.sortByIndicator)) || void 0 === _c ? void 0 : _c.title) && void 0 !== _d ? _d : sortRule.sortByIndicator
529
+ }), this.pivotSortState.push({
530
+ dimensions: dimensions,
531
+ order: ts_types_1.SortType[sortType]
529
532
  });
530
- } else dimensions.push({
531
- dimensionKey: sortRule.sortField,
532
- isPivotCorner: !0,
533
- value: sortRule.sortField
534
- });
535
- const sortType = sortRule.sortType ? sortRule.sortType.toUpperCase() : "ASC";
536
- this.pivotSortState.push({
537
- dimensions: dimensions,
538
- order: ts_types_1.SortType[sortType]
539
- });
533
+ } else {
534
+ const sortField = sortRule.sortField, rowIndex = this.dataset.rows.indexOf(sortField), colIndex = this.dataset.columns.indexOf(sortField);
535
+ let pushed = !1;
536
+ if (rowIndex >= 0) {
537
+ const rowDimensions = [];
538
+ for (let k = 0; k <= rowIndex; k++) rowDimensions.push({
539
+ dimensionKey: this.dataset.rows[k],
540
+ isPivotCorner: !0,
541
+ value: this.dataset.rows[k]
542
+ });
543
+ this.pivotSortState.push({
544
+ dimensions: rowDimensions,
545
+ order: ts_types_1.SortType[sortType]
546
+ }), pushed = !0;
547
+ }
548
+ if (colIndex >= 0) {
549
+ const colDimensions = [];
550
+ for (let k = 0; k <= colIndex; k++) colDimensions.push({
551
+ dimensionKey: this.dataset.columns[k],
552
+ isPivotCorner: !0,
553
+ value: this.dataset.columns[k]
554
+ });
555
+ this.pivotSortState.push({
556
+ dimensions: colDimensions,
557
+ order: ts_types_1.SortType[sortType]
558
+ }), pushed = !0;
559
+ }
560
+ pushed || (dimensions.push({
561
+ dimensionKey: sortField,
562
+ isPivotCorner: !0,
563
+ value: sortField
564
+ }), this.pivotSortState.push({
565
+ dimensions: dimensions,
566
+ order: ts_types_1.SortType[sortType]
567
+ }));
568
+ }
540
569
  }
541
570
  }
542
571
  _filterHideIndicatorNode() {
@@ -599,10 +628,53 @@ class PivotTable extends BaseTable_1.BaseTable {
599
628
  }
600
629
  }
601
630
  getPivotSortState(col, row) {
631
+ var _a;
602
632
  if (!this.pivotSortState) return;
603
633
  const cellRange = this.getCellRange(col, row);
604
634
  for (let i = 0; i < this.pivotSortState.length; i++) {
605
- const pivotState = this.pivotSortState[i], dimensions = pivotState.dimensions, cell = this.getCellAddressByHeaderPaths(dimensions), order = pivotState.order;
635
+ const pivotState = this.pivotSortState[i], dimensions = pivotState.dimensions;
636
+ if (this.isCornerHeader(col, row)) {
637
+ const layoutMap = this.internalProps.layoutMap, header = layoutMap.getHeader(col, row);
638
+ if (header && header.pivotInfo && dimensions && dimensions.length > 0) {
639
+ let cellPathKeys = [];
640
+ const leftSnCount = null !== (_a = layoutMap.leftRowSeriesNumberColumnCount) && void 0 !== _a ? _a : 0;
641
+ if ("row" === layoutMap.cornerSetting.titleOnDimension) {
642
+ const dimIndex = col - leftSnCount;
643
+ cellPathKeys = layoutMap.rowDimensionKeys.slice(0, dimIndex + 1);
644
+ } else if ("column" === layoutMap.cornerSetting.titleOnDimension) {
645
+ const dimIndex = row;
646
+ cellPathKeys = layoutMap.colDimensionKeys.slice(0, dimIndex + 1);
647
+ } else if ("all" === layoutMap.cornerSetting.titleOnDimension) if (layoutMap.indicatorsAsCol) {
648
+ let indicatorAtIndex = layoutMap.colDimensionKeys.indexOf(layoutMap.indicatorDimensionKey);
649
+ if (-1 === indicatorAtIndex && (indicatorAtIndex = layoutMap.columnHeaderLevelCount - 1),
650
+ row === indicatorAtIndex) {
651
+ const dimIndex = col - leftSnCount;
652
+ cellPathKeys = layoutMap.rowDimensionKeys.slice(0, dimIndex + 1);
653
+ } else {
654
+ const dimIndex = row;
655
+ cellPathKeys = layoutMap.colDimensionKeys.slice(0, dimIndex + 1);
656
+ }
657
+ } else {
658
+ let indicatorAtIndex = layoutMap.rowDimensionKeys.indexOf(layoutMap.indicatorDimensionKey);
659
+ if (-1 === indicatorAtIndex && (indicatorAtIndex = layoutMap.rowHeaderLevelCount - 1),
660
+ col - leftSnCount === indicatorAtIndex) {
661
+ const dimIndex = row;
662
+ cellPathKeys = layoutMap.colDimensionKeys.slice(0, dimIndex + 1);
663
+ } else {
664
+ const dimIndex = col - leftSnCount;
665
+ cellPathKeys = layoutMap.rowDimensionKeys.slice(0, dimIndex + 1);
666
+ }
667
+ }
668
+ if (cellPathKeys.length > 0 && dimensions.length === cellPathKeys.length) {
669
+ if (dimensions.every(((dim, idx) => {
670
+ const isCorner = dim.isPivotCorner || !(0, vutils_1.isValid)(dim.isPivotCorner) && dim.dimensionKey && !dim.value, keyMatch = dim.dimensionKey === cellPathKeys[idx] || dim.value === cellPathKeys[idx];
671
+ return isCorner && keyMatch;
672
+ }))) return pivotState.order;
673
+ }
674
+ }
675
+ continue;
676
+ }
677
+ const cell = this.getCellAddressByHeaderPaths(dimensions), order = pivotState.order;
606
678
  if (cell && (0, helper_1.cellInRange)(cellRange, cell.col, cell.row)) return order;
607
679
  }
608
680
  }
@@ -710,7 +782,7 @@ class PivotTable extends BaseTable_1.BaseTable {
710
782
  }
711
783
  setRecords(records) {
712
784
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
713
- (0, chart_render_helper_1.clearChartRenderQueue)();
785
+ this.stateManager.endResizeIfResizing(), (0, chart_render_helper_1.clearChartRenderQueue)();
714
786
  const oldHoverState = {
715
787
  col: this.stateManager.hover.cellPos.col,
716
788
  row: this.stateManager.hover.cellPos.row