@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.
- package/cjs/ListTable.js +25 -15
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.d.ts +1 -2
- package/cjs/PivotChart.js +0 -7
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.d.ts +1 -1
- package/cjs/PivotTable.js +34 -14
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/components/react/react-custom-layout.d.ts +21 -0
- package/cjs/components/react/react-custom-layout.js +48 -0
- package/cjs/components/react/react-custom-layout.js.map +1 -0
- package/cjs/core/BaseTable.d.ts +5 -0
- package/cjs/core/BaseTable.js +37 -23
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/style.js +1 -1
- package/cjs/core/style.js.map +1 -1
- package/cjs/data/DataSource.d.ts +6 -1
- package/cjs/data/DataSource.js +12 -2
- package/cjs/data/DataSource.js.map +1 -1
- package/cjs/dataset/dataset.d.ts +15 -2
- package/cjs/dataset/dataset.js +187 -72
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/dataset/statistics-helper.d.ts +43 -3
- package/cjs/dataset/statistics-helper.js +61 -26
- package/cjs/dataset/statistics-helper.js.map +1 -1
- package/cjs/event/listener/table-group.js +2 -2
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/index.d.ts +3 -1
- package/cjs/index.js +14 -5
- package/cjs/index.js.map +1 -1
- package/cjs/layout/pivot-header-layout.d.ts +1 -0
- package/cjs/layout/pivot-header-layout.js +7 -0
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/scenegraph/component/custom.js +6 -4
- package/cjs/scenegraph/component/custom.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +4 -0
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/layout/compute-col-width.js +2 -2
- package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js +3 -3
- package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +2 -1
- package/cjs/scenegraph/scenegraph.js +12 -3
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +8 -0
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/customLayout.d.ts +1 -1
- package/cjs/ts-types/customLayout.js.map +1 -1
- package/cjs/ts-types/new-data-set.d.ts +9 -1
- package/cjs/ts-types/new-data-set.js +1 -1
- package/cjs/ts-types/new-data-set.js.map +1 -1
- package/cjs/ts-types/pivot-table/corner.d.ts +12 -0
- package/cjs/ts-types/pivot-table/corner.js.map +1 -1
- package/cjs/vrender.d.ts +4 -0
- package/cjs/vrender.js +39 -11
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +25311 -9542
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +21 -11
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.d.ts +1 -2
- package/es/PivotChart.js +0 -7
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.d.ts +1 -1
- package/es/PivotTable.js +34 -14
- package/es/PivotTable.js.map +1 -1
- package/es/components/react/react-custom-layout.d.ts +21 -0
- package/es/components/react/react-custom-layout.js +38 -0
- package/es/components/react/react-custom-layout.js.map +1 -0
- package/es/core/BaseTable.d.ts +5 -0
- package/es/core/BaseTable.js +40 -23
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/style.js +1 -1
- package/es/core/style.js.map +1 -1
- package/es/data/DataSource.d.ts +6 -1
- package/es/data/DataSource.js +12 -2
- package/es/data/DataSource.js.map +1 -1
- package/es/dataset/dataset.d.ts +15 -2
- package/es/dataset/dataset.js +187 -73
- package/es/dataset/dataset.js.map +1 -1
- package/es/dataset/statistics-helper.d.ts +43 -3
- package/es/dataset/statistics-helper.js +55 -23
- package/es/dataset/statistics-helper.js.map +1 -1
- package/es/event/listener/table-group.js +2 -2
- package/es/event/listener/table-group.js.map +1 -1
- package/es/index.d.ts +3 -1
- package/es/index.js +5 -1
- package/es/index.js.map +1 -1
- package/es/layout/pivot-header-layout.d.ts +1 -0
- package/es/layout/pivot-header-layout.js +7 -0
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/scenegraph/component/custom.js +7 -3
- package/es/scenegraph/component/custom.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +4 -0
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/layout/compute-col-width.js +3 -3
- package/es/scenegraph/layout/compute-col-width.js.map +1 -1
- package/es/scenegraph/layout/compute-row-height.js +4 -4
- package/es/scenegraph/layout/compute-row-height.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +2 -1
- package/es/scenegraph/scenegraph.js +12 -3
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/ts-types/base-table.d.ts +8 -0
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/customLayout.d.ts +1 -1
- package/es/ts-types/customLayout.js.map +1 -1
- package/es/ts-types/new-data-set.d.ts +9 -1
- package/es/ts-types/new-data-set.js +1 -1
- package/es/ts-types/new-data-set.js.map +1 -1
- package/es/ts-types/pivot-table/corner.d.ts +12 -0
- package/es/ts-types/pivot-table/corner.js.map +1 -1
- package/es/vrender.d.ts +4 -0
- package/es/vrender.js +9 -3
- package/es/vrender.js.map +1 -1
- package/package.json +8 -8
package/es/PivotTable.js
CHANGED
|
@@ -14,7 +14,7 @@ import { BaseTable } from "./core/BaseTable";
|
|
|
14
14
|
|
|
15
15
|
import { Title } from "./components/title/title";
|
|
16
16
|
|
|
17
|
-
import { cloneDeep, isValid } from "@visactor/vutils";
|
|
17
|
+
import { cloneDeep, isNumber, isValid } from "@visactor/vutils";
|
|
18
18
|
|
|
19
19
|
import { Env } from "./tools/env";
|
|
20
20
|
|
|
@@ -465,13 +465,16 @@ export class PivotTable extends BaseTable {
|
|
|
465
465
|
}
|
|
466
466
|
}
|
|
467
467
|
}
|
|
468
|
-
updateSortRules(sortRules) {
|
|
468
|
+
updateSortRules(sortRules, col, row) {
|
|
469
469
|
this.internalProps.dataConfig ? this.internalProps.dataConfig.sortRules = sortRules : this.internalProps.dataConfig = {
|
|
470
470
|
sortRules: sortRules
|
|
471
|
-
}, this.dataset.updateSortRules(sortRules), this._changePivotSortStateBySortRules()
|
|
472
|
-
|
|
473
|
-
this.
|
|
474
|
-
this.
|
|
471
|
+
}, this.dataset.updateSortRules(sortRules), this._changePivotSortStateBySortRules();
|
|
472
|
+
const {layoutMap: layoutMap} = this.internalProps;
|
|
473
|
+
layoutMap.resetHeaderTree(), this.scenegraph.clearCells(), isNumber(col) && isNumber(row) ? (this.isRowHeader(col, row) ? (this.setMinMaxLimitWidth(!0),
|
|
474
|
+
this.internalProps._widthResizedColMap.clear()) : this.isCornerHeader(col, row) ? "column" === layoutMap.cornerSetting.titleOnDimension ? (this.setMinMaxLimitWidth(!0),
|
|
475
|
+
this.internalProps._widthResizedColMap.clear()) : "row" === layoutMap.cornerSetting.titleOnDimension && this.internalProps._heightResizedRowMap.clear() : this.isColumnHeader(col, row) && this.internalProps._heightResizedRowMap.clear(),
|
|
476
|
+
this.refreshRowColCount()) : this.refreshHeader(), this.internalProps.useOneRowHeightFillAll = !1,
|
|
477
|
+
this.scenegraph.createSceneGraph(!0), this.render();
|
|
475
478
|
}
|
|
476
479
|
_changePivotSortStateBySortRules() {
|
|
477
480
|
var _a, _b, _c, _d;
|
|
@@ -546,7 +549,7 @@ export class PivotTable extends BaseTable {
|
|
|
546
549
|
sortField: headerDefine.dimensionKey,
|
|
547
550
|
sortType: SortType[order]
|
|
548
551
|
} ];
|
|
549
|
-
this.updateSortRules(this.dataset.sortRules);
|
|
552
|
+
this.updateSortRules(this.dataset.sortRules, col, row);
|
|
550
553
|
}
|
|
551
554
|
}
|
|
552
555
|
getPivotSortState(col, row) {
|
|
@@ -677,11 +680,14 @@ export class PivotTable extends BaseTable {
|
|
|
677
680
|
this.refreshHeader(), this.internalProps.useOneRowHeightFillAll = !1, this.scenegraph.clearCells(),
|
|
678
681
|
this.clearCellStyleCache(), this.scenegraph.createSceneGraph(), this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row),
|
|
679
682
|
this.internalProps.title && !this.internalProps.title.isReleased && (this._updateSize(),
|
|
680
|
-
this.internalProps.title.resize(), this.scenegraph.resize()), this.eventManager.updateEventBinder()
|
|
683
|
+
this.internalProps.title.resize(), this.scenegraph.resize()), this.eventManager.updateEventBinder(),
|
|
684
|
+
this.options.emptyTip && (this.internalProps.emptyTip || (this.internalProps.emptyTip = new EmptyTip(this.options.emptyTip, this)),
|
|
685
|
+
this.internalProps.emptyTip.resetVisible());
|
|
681
686
|
}
|
|
682
687
|
startEditCell(col, row) {
|
|
683
688
|
var _a;
|
|
684
|
-
if (isValid(col) && isValid(row)) this.
|
|
689
|
+
if (isValid(col) && isValid(row)) this.eventManager.isDraging = !1, this.selectCell(col, row),
|
|
690
|
+
this.editorManager.startEditCell(col, row); else if (null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.cellPos) {
|
|
685
691
|
const {col: col, row: row} = this.stateManager.select.cellPos;
|
|
686
692
|
isValid(col) && isValid(row) && this.editorManager.startEditCell(col, row);
|
|
687
693
|
}
|
|
@@ -690,14 +696,17 @@ export class PivotTable extends BaseTable {
|
|
|
690
696
|
this.editorManager.completeEdit();
|
|
691
697
|
}
|
|
692
698
|
getEditor(col, row) {
|
|
693
|
-
var _a, _b;
|
|
699
|
+
var _a, _b, _c;
|
|
694
700
|
let editorDefine;
|
|
695
|
-
if (this.
|
|
701
|
+
if (this.isCornerHeader(col, row)) {
|
|
696
702
|
const define = this.getHeaderDefine(col, row);
|
|
697
703
|
editorDefine = null !== (_a = null == define ? void 0 : define.headerEditor) && void 0 !== _a ? _a : this.options.headerEditor;
|
|
704
|
+
} else if (this.isHeader(col, row)) {
|
|
705
|
+
const define = this.getHeaderDefine(col, row);
|
|
706
|
+
editorDefine = null !== (_b = null == define ? void 0 : define.headerEditor) && void 0 !== _b ? _b : this.options.headerEditor;
|
|
698
707
|
} else {
|
|
699
708
|
const define = this.getBodyColumnDefine(col, row);
|
|
700
|
-
editorDefine = null !== (
|
|
709
|
+
editorDefine = null !== (_c = null == define ? void 0 : define.editor) && void 0 !== _c ? _c : this.options.editor;
|
|
701
710
|
}
|
|
702
711
|
if ("function" == typeof editorDefine) {
|
|
703
712
|
editorDefine = editorDefine({
|
|
@@ -752,6 +761,17 @@ export class PivotTable extends BaseTable {
|
|
|
752
761
|
}
|
|
753
762
|
changeCellValues(startCol, startRow, values, workOnEditableCell = !1) {
|
|
754
763
|
let pasteColEnd = startCol, pasteRowEnd = startRow;
|
|
764
|
+
const beforeChangeValues = [], oldValues = [];
|
|
765
|
+
for (let i = 0; i < values.length && !(startRow + i > this.rowCount - 1); i++) {
|
|
766
|
+
const rowValues = values[i], rawRowValues = [], oldRowValues = [];
|
|
767
|
+
beforeChangeValues.push(rawRowValues), oldValues.push(oldRowValues);
|
|
768
|
+
for (let j = 0; j < rowValues.length && !(startCol + j > this.colCount - 1); j++) {
|
|
769
|
+
const beforeChangeValue = this.getCellRawValue(startCol + j, startRow + i);
|
|
770
|
+
rawRowValues.push(beforeChangeValue);
|
|
771
|
+
const oldValue = this.getCellOriginValue(startCol + j, startRow + i);
|
|
772
|
+
oldRowValues.push(oldValue);
|
|
773
|
+
}
|
|
774
|
+
}
|
|
755
775
|
for (let i = 0; i < values.length && !(startRow + i > this.rowCount - 1); i++) {
|
|
756
776
|
pasteRowEnd = startRow + i;
|
|
757
777
|
const rowValues = values[i];
|
|
@@ -760,7 +780,7 @@ export class PivotTable extends BaseTable {
|
|
|
760
780
|
workOnEditableCell && this.isHasEditorDefine(startCol + j, startRow + i) || !1 === workOnEditableCell) {
|
|
761
781
|
const value = rowValues[j];
|
|
762
782
|
let newValue = value;
|
|
763
|
-
const oldValue =
|
|
783
|
+
const oldValue = oldValues[i][j], rawValue = beforeChangeValues[i][j];
|
|
764
784
|
"number" == typeof rawValue && isAllDigits(value) && (newValue = parseFloat(value)),
|
|
765
785
|
this._changeCellValueToDataSet(startCol + j, startRow + i, oldValue, newValue),
|
|
766
786
|
this.fireListeners(TABLE_EVENT_TYPE.CHANGE_CELL_VALUE, {
|
|
@@ -796,7 +816,7 @@ export class PivotTable extends BaseTable {
|
|
|
796
816
|
this.records[rowIndex][colIndex] = newValue;
|
|
797
817
|
} else if (this.dataset) {
|
|
798
818
|
const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);
|
|
799
|
-
if (this.isHeader(col, row)) this.internalProps.layoutMap.changeTreeNodeTitle(col, row, newValue),
|
|
819
|
+
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),
|
|
800
820
|
!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 {
|
|
801
821
|
const colKeys = cellDimensionPath.colHeaderPaths.map((colPath => {
|
|
802
822
|
var _a;
|