@visactor/vtable 1.2.1-alpha.2 → 1.3.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.
- package/cjs/ListTable.js +2 -1
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.d.ts +1 -5
- package/cjs/PivotChart.js +7 -30
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.d.ts +7 -2
- package/cjs/PivotTable.js +98 -24
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/body-helper/style/Style.d.ts +3 -0
- package/cjs/body-helper/style/Style.js +32 -25
- package/cjs/body-helper/style/Style.js.map +1 -1
- package/cjs/components/empty-tip/empty-tip.js +2 -2
- package/cjs/components/empty-tip/empty-tip.js.map +1 -1
- package/cjs/components/tooltip/TooltipHandler.js +4 -2
- package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
- package/cjs/components/tooltip/logic/BubbleTooltipElement.d.ts +2 -0
- package/cjs/components/tooltip/logic/BubbleTooltipElement.js +18 -4
- package/cjs/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
- package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js +1 -1
- package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +1 -1
- package/cjs/core/BaseTable.js +7 -7
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/tableHelper.js +2 -1
- package/cjs/core/tableHelper.js.map +1 -1
- package/cjs/dataset/dataset.d.ts +2 -0
- package/cjs/dataset/dataset.js +8 -7
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/event/listener/container-dom.js +9 -6
- package/cjs/event/listener/container-dom.js.map +1 -1
- package/cjs/event/listener/table-group.js +8 -7
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/header-helper/header-helper.d.ts +1 -0
- package/cjs/header-helper/header-helper.js +12 -2
- package/cjs/header-helper/header-helper.js.map +1 -1
- package/cjs/header-helper/style/Style.d.ts +3 -0
- package/cjs/header-helper/style/Style.js +34 -27
- package/cjs/header-helper/style/Style.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/pivot-header-layout.js +43 -21
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/tree-helper.js +4 -1
- package/cjs/layout/tree-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +2 -2
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/icon/icon-update.js +1 -0
- package/cjs/scenegraph/icon/icon-update.js.map +1 -1
- package/cjs/scenegraph/layout/frozen.js +12 -4
- package/cjs/scenegraph/layout/frozen.js.map +1 -1
- package/cjs/scenegraph/utils/text-icon-layout.js +1 -1
- package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/cjs/state/select/update-position.js +1 -1
- package/cjs/state/select/update-position.js.map +1 -1
- package/cjs/state/state.js +7 -5
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/theme.js +3 -0
- package/cjs/themes/theme.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +3 -1
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/column/style.d.ts +1 -0
- package/cjs/ts-types/column/style.js.map +1 -1
- package/cjs/ts-types/common.d.ts +4 -13
- package/cjs/ts-types/common.js.map +1 -1
- package/cjs/ts-types/icon.d.ts +1 -0
- package/cjs/ts-types/icon.js.map +1 -1
- package/cjs/ts-types/list-table/layout-map/api.d.ts +2 -1
- package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.d.ts +3 -1
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.d.ts +1 -0
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
- package/cjs/ts-types/style-define.d.ts +1 -0
- package/cjs/ts-types/style-define.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +4 -1
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/ts-types/tooltip.d.ts +1 -0
- package/cjs/ts-types/tooltip.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +463 -112
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +2 -1
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.d.ts +1 -5
- package/es/PivotChart.js +6 -31
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.d.ts +7 -2
- package/es/PivotTable.js +100 -26
- package/es/PivotTable.js.map +1 -1
- package/es/body-helper/style/Style.d.ts +3 -0
- package/es/body-helper/style/Style.js +32 -25
- package/es/body-helper/style/Style.js.map +1 -1
- package/es/components/empty-tip/empty-tip.js +2 -2
- package/es/components/empty-tip/empty-tip.js.map +1 -1
- package/es/components/tooltip/TooltipHandler.js +4 -2
- package/es/components/tooltip/TooltipHandler.js.map +1 -1
- package/es/components/tooltip/logic/BubbleTooltipElement.d.ts +2 -0
- package/es/components/tooltip/logic/BubbleTooltipElement.js +18 -4
- package/es/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
- package/es/components/tooltip/logic/BubbleTooltipElementStyle.js +1 -1
- package/es/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
- package/es/core/BaseTable.d.ts +1 -1
- package/es/core/BaseTable.js +7 -7
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/tableHelper.js +2 -1
- package/es/core/tableHelper.js.map +1 -1
- package/es/dataset/dataset.d.ts +2 -0
- package/es/dataset/dataset.js +8 -7
- package/es/dataset/dataset.js.map +1 -1
- package/es/event/listener/container-dom.js +9 -6
- package/es/event/listener/container-dom.js.map +1 -1
- package/es/event/listener/table-group.js +8 -7
- package/es/event/listener/table-group.js.map +1 -1
- package/es/header-helper/header-helper.d.ts +1 -0
- package/es/header-helper/header-helper.js +12 -2
- package/es/header-helper/header-helper.js.map +1 -1
- package/es/header-helper/style/Style.d.ts +3 -0
- package/es/header-helper/style/Style.js +34 -27
- package/es/header-helper/style/Style.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/pivot-header-layout.js +43 -21
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/tree-helper.js +4 -1
- package/es/layout/tree-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +2 -2
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/icon/icon-update.js +1 -0
- package/es/scenegraph/icon/icon-update.js.map +1 -1
- package/es/scenegraph/layout/frozen.js +12 -4
- package/es/scenegraph/layout/frozen.js.map +1 -1
- package/es/scenegraph/utils/text-icon-layout.js +1 -1
- package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/es/state/select/update-position.js +1 -1
- package/es/state/select/update-position.js.map +1 -1
- package/es/state/state.js +7 -5
- package/es/state/state.js.map +1 -1
- package/es/themes/theme.js +3 -0
- package/es/themes/theme.js.map +1 -1
- package/es/ts-types/base-table.d.ts +3 -1
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/column/style.d.ts +1 -0
- package/es/ts-types/column/style.js.map +1 -1
- package/es/ts-types/common.d.ts +4 -13
- package/es/ts-types/common.js.map +1 -1
- package/es/ts-types/icon.d.ts +1 -0
- package/es/ts-types/icon.js.map +1 -1
- package/es/ts-types/list-table/layout-map/api.d.ts +2 -1
- package/es/ts-types/list-table/layout-map/api.js.map +1 -1
- package/es/ts-types/pivot-table/dimension/basic-dimension.d.ts +3 -1
- package/es/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
- package/es/ts-types/pivot-table/indicator/basic-indicator.d.ts +1 -0
- package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
- package/es/ts-types/style-define.d.ts +1 -0
- package/es/ts-types/style-define.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +4 -1
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/ts-types/tooltip.d.ts +1 -0
- package/es/ts-types/tooltip.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +4 -4
package/cjs/PivotTable.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FieldData, FieldDef, PivotTableAPI, SortRules,
|
|
1
|
+
import type { FieldData, FieldDef, PivotTableAPI, SortRules, CellAddress, ICellHeaderPaths, DropDownMenuEventInfo, FieldKeyDef, PivotTableConstructorOptions, IHeaderTreeDefine, IDimensionInfo, SortOrder, IPagination, CellLocation } from './ts-types';
|
|
2
2
|
import { HierarchyState } from './ts-types';
|
|
3
3
|
import { FlatDataToObjects } from './dataset/flatDataToObject';
|
|
4
4
|
import { PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';
|
|
@@ -14,7 +14,10 @@ export declare class PivotTable extends BaseTable implements PivotTableAPI {
|
|
|
14
14
|
};
|
|
15
15
|
internalProps: PivotTableProtected;
|
|
16
16
|
options: PivotTableConstructorOptions;
|
|
17
|
-
pivotSortState:
|
|
17
|
+
pivotSortState: {
|
|
18
|
+
dimensions: IDimensionInfo[];
|
|
19
|
+
order: SortOrder;
|
|
20
|
+
}[];
|
|
18
21
|
editorManager: EditManeger;
|
|
19
22
|
dataset?: Dataset;
|
|
20
23
|
flatDataToObjects?: FlatDataToObjects;
|
|
@@ -46,10 +49,12 @@ export declare class PivotTable extends BaseTable implements PivotTableAPI {
|
|
|
46
49
|
getCellOriginRecord(col: number, row: number): any;
|
|
47
50
|
getCellRawRecord(col: number, row: number): any;
|
|
48
51
|
updateSortRules(sortRules: SortRules): void;
|
|
52
|
+
_changePivotSortStateBySortRules(): void;
|
|
49
53
|
updatePivotSortState(pivotSortStateConfig: {
|
|
50
54
|
dimensions: IDimensionInfo[];
|
|
51
55
|
order: SortOrder;
|
|
52
56
|
}[]): void;
|
|
57
|
+
sort(col: number, row: number, order: SortOrder): void;
|
|
53
58
|
getPivotSortState(col: number, row: number): SortOrder;
|
|
54
59
|
_moveHeaderPosition(source: CellAddress, target: CellAddress): {
|
|
55
60
|
sourceIndex: number;
|
package/cjs/PivotTable.js
CHANGED
|
@@ -33,7 +33,7 @@ const ts_types_1 = require("./ts-types"), pivot_header_layout_1 = require("./lay
|
|
|
33
33
|
|
|
34
34
|
class PivotTable extends BaseTable_1.BaseTable {
|
|
35
35
|
constructor(container, options) {
|
|
36
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
36
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
37
37
|
if ("node" === env_1.Env.mode ? (options = container, container = null) : container instanceof HTMLElement || (options = container,
|
|
38
38
|
container = container.container ? container.container : null), super(container, options),
|
|
39
39
|
this.layoutNodeId = {
|
|
@@ -68,14 +68,16 @@ class PivotTable extends BaseTable_1.BaseTable {
|
|
|
68
68
|
this.dataset = new dataset_1.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),
|
|
69
69
|
options.columnTree || (!1 !== options.indicatorsAsCol && (this.dataset.colHeaderTree = (0,
|
|
70
70
|
layout_helper_1.supplementIndicatorNodesForCustomTree)(this.dataset.colHeaderTree, options.indicators)),
|
|
71
|
-
|
|
71
|
+
0 !== (null !== (_o = null === (_m = this.records) || void 0 === _m ? void 0 : _m.length) && void 0 !== _o ? _o : 0) || this.dataset.customColTree || this.dataset.customRowTree || (this.dataset.colHeaderTree = []),
|
|
72
|
+
columnDimensionTree = new tree_helper_1.DimensionTree(null !== (_p = this.dataset.colHeaderTree) && void 0 !== _p ? _p : [], this.layoutNodeId)),
|
|
72
73
|
options.rowTree || (!1 === options.indicatorsAsCol && (this.dataset.rowHeaderTree = (0,
|
|
73
74
|
layout_helper_1.supplementIndicatorNodesForCustomTree)(this.dataset.rowHeaderTree, options.indicators)),
|
|
74
|
-
|
|
75
|
+
0 !== (null !== (_r = null === (_q = this.records) || void 0 === _q ? void 0 : _q.length) && void 0 !== _r ? _r : 0) || this.dataset.customColTree || this.dataset.customRowTree || (this.dataset.rowHeaderTree = []),
|
|
76
|
+
rowDimensionTree = new tree_helper_1.DimensionTree(null !== (_s = this.dataset.rowHeaderTree) && void 0 !== _s ? _s : [], this.layoutNodeId, this.options.rowHierarchyType, "tree" === this.options.rowHierarchyType ? null !== (_t = this.options.rowExpandLevel) && void 0 !== _t ? _t : 1 : void 0)),
|
|
75
77
|
this.internalProps.layoutMap = new pivot_header_layout_1.PivotHeaderLayoutMap(this, this.dataset, columnDimensionTree, rowDimensionTree);
|
|
76
78
|
}
|
|
77
|
-
this.
|
|
78
|
-
"node" !== env_1.Env.mode && (this.editorManager = new edit_manager_1.EditManeger(this)),
|
|
79
|
+
this._changePivotSortStateBySortRules(), (null !== (_v = null === (_u = options.pivotSortState) || void 0 === _u ? void 0 : _u.length) && void 0 !== _v ? _v : 0) > 0 && (this.pivotSortState = [],
|
|
80
|
+
this.pivotSortState = options.pivotSortState), "node" !== env_1.Env.mode && (this.editorManager = new edit_manager_1.EditManeger(this)),
|
|
79
81
|
this.refreshHeader(), this.stateManager.initCheckedState(records), this.scenegraph.createSceneGraph(),
|
|
80
82
|
options.title && (this.internalProps.title = new title_1.Title(options.title, this),
|
|
81
83
|
this.scenegraph.resize()), this.options.emptyTip && (this.internalProps.emptyTip || (this.internalProps.emptyTip = new empty_tip_1.EmptyTip(this.options.emptyTip, this)),
|
|
@@ -112,7 +114,7 @@ class PivotTable extends BaseTable_1.BaseTable {
|
|
|
112
114
|
return ifCan;
|
|
113
115
|
}
|
|
114
116
|
updateOption(options) {
|
|
115
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
117
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
116
118
|
const internalProps = this.internalProps;
|
|
117
119
|
if (super.updateOption(options), this.layoutNodeId = {
|
|
118
120
|
seqId: 0
|
|
@@ -153,14 +155,16 @@ class PivotTable extends BaseTable_1.BaseTable {
|
|
|
153
155
|
this.dataset = new dataset_1.Dataset(internalProps.dataConfig, rowKeys, columnKeys, indicatorKeys, this.internalProps.indicators, null === (_o = options.indicatorsAsCol) || void 0 === _o || _o, records, options.rowHierarchyType, this.internalProps.columnTree, this.internalProps.rowTree),
|
|
154
156
|
options.columnTree || (!1 !== options.indicatorsAsCol && (this.dataset.colHeaderTree = (0,
|
|
155
157
|
layout_helper_1.supplementIndicatorNodesForCustomTree)(this.dataset.colHeaderTree, options.indicators)),
|
|
156
|
-
|
|
158
|
+
0 !== (null !== (_q = null === (_p = this.records) || void 0 === _p ? void 0 : _p.length) && void 0 !== _q ? _q : 0) || this.dataset.customColTree || this.dataset.customRowTree || (this.dataset.colHeaderTree = []),
|
|
159
|
+
columnDimensionTree = new tree_helper_1.DimensionTree(null !== (_r = this.dataset.colHeaderTree) && void 0 !== _r ? _r : [], this.layoutNodeId)),
|
|
157
160
|
options.rowTree || (!1 === options.indicatorsAsCol && (this.dataset.rowHeaderTree = (0,
|
|
158
161
|
layout_helper_1.supplementIndicatorNodesForCustomTree)(this.dataset.rowHeaderTree, options.indicators)),
|
|
159
|
-
|
|
162
|
+
0 !== (null !== (_t = null === (_s = this.records) || void 0 === _s ? void 0 : _s.length) && void 0 !== _t ? _t : 0) || this.dataset.customColTree || this.dataset.customRowTree || (this.dataset.rowHeaderTree = []),
|
|
163
|
+
rowDimensionTree = new tree_helper_1.DimensionTree(null !== (_u = this.dataset.rowHeaderTree) && void 0 !== _u ? _u : [], this.layoutNodeId, this.options.rowHierarchyType, "tree" === this.options.rowHierarchyType ? null !== (_v = this.options.rowExpandLevel) && void 0 !== _v ? _v : 1 : void 0)),
|
|
160
164
|
internalProps.layoutMap = new pivot_header_layout_1.PivotHeaderLayoutMap(this, this.dataset, columnDimensionTree, rowDimensionTree);
|
|
161
165
|
}
|
|
162
|
-
return this.
|
|
163
|
-
this.refreshHeader(), internalProps.releaseList && (internalProps.releaseList.forEach((releaseObj => {
|
|
166
|
+
return this._changePivotSortStateBySortRules(), (null !== (_x = null === (_w = options.pivotSortState) || void 0 === _w ? void 0 : _w.length) && void 0 !== _x ? _x : 0) > 0 && (this.pivotSortState = [],
|
|
167
|
+
this.pivotSortState = options.pivotSortState), this.refreshHeader(), internalProps.releaseList && (internalProps.releaseList.forEach((releaseObj => {
|
|
164
168
|
var _a;
|
|
165
169
|
return null === (_a = null == releaseObj ? void 0 : releaseObj.release) || void 0 === _a ? void 0 : _a.call(releaseObj);
|
|
166
170
|
})), internalProps.releaseList = null), this.scenegraph.clearCells(), this.scenegraph.createSceneGraph(),
|
|
@@ -463,26 +467,94 @@ class PivotTable extends BaseTable_1.BaseTable {
|
|
|
463
467
|
}
|
|
464
468
|
}
|
|
465
469
|
updateSortRules(sortRules) {
|
|
466
|
-
this.internalProps.dataConfig.sortRules = sortRules
|
|
470
|
+
this.internalProps.dataConfig ? this.internalProps.dataConfig.sortRules = sortRules : this.internalProps.dataConfig = {
|
|
471
|
+
sortRules: sortRules
|
|
472
|
+
}, this.dataset.updateSortRules(sortRules), this._changePivotSortStateBySortRules(),
|
|
467
473
|
this.internalProps.layoutMap.resetHeaderTree(), this.scenegraph.clearCells(), this.refreshHeader(),
|
|
468
474
|
this.scenegraph.createSceneGraph(), this.render();
|
|
469
475
|
}
|
|
476
|
+
_changePivotSortStateBySortRules() {
|
|
477
|
+
var _a, _b, _c, _d;
|
|
478
|
+
this.pivotSortState = [];
|
|
479
|
+
const sortRules = null !== (_b = null === (_a = this.internalProps.dataConfig) || void 0 === _a ? void 0 : _a.sortRules) && void 0 !== _b ? _b : [];
|
|
480
|
+
for (let i = 0; i < sortRules.length; i++) {
|
|
481
|
+
const sortRule = sortRules[i];
|
|
482
|
+
if (sortRule.sortType) {
|
|
483
|
+
const dimensions = [];
|
|
484
|
+
if (sortRule.sortByIndicator) {
|
|
485
|
+
if (sortRule.sortField === (this.dataset.indicatorsAsCol ? this.dataset.rows[this.dataset.rows.length - 1] : this.dataset.columns[this.dataset.columns.length - 1])) {
|
|
486
|
+
for (let j = 0; j < sortRule.query.length; j++) dimensions.push({
|
|
487
|
+
dimensionKey: this.dataset.indicatorsAsCol ? this.dataset.columns[j] : this.dataset.rows[j],
|
|
488
|
+
value: sortRule.query[j]
|
|
489
|
+
});
|
|
490
|
+
dimensions.push({
|
|
491
|
+
indicatorKey: sortRule.sortByIndicator,
|
|
492
|
+
value: null !== (_d = null === (_c = this.internalProps.layoutMap.getIndicatorInfo(sortRule.sortByIndicator)) || void 0 === _c ? void 0 : _c.title) && void 0 !== _d ? _d : sortRule.sortByIndicator
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
} else dimensions.push({
|
|
496
|
+
dimensionKey: sortRule.sortField,
|
|
497
|
+
isPivotCorner: !0,
|
|
498
|
+
value: sortRule.sortField
|
|
499
|
+
});
|
|
500
|
+
this.pivotSortState.push({
|
|
501
|
+
dimensions: dimensions,
|
|
502
|
+
order: sortRule.sortType
|
|
503
|
+
});
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}
|
|
470
507
|
updatePivotSortState(pivotSortStateConfig) {
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
508
|
+
this.pivotSortState = pivotSortStateConfig;
|
|
509
|
+
}
|
|
510
|
+
sort(col, row, order) {
|
|
511
|
+
let dimensions;
|
|
512
|
+
if (this.isCornerHeader(col, row)) {
|
|
513
|
+
const dimensionInfo = this.getHeaderDefine(col, row);
|
|
514
|
+
dimensions = [];
|
|
515
|
+
const dimension = {
|
|
516
|
+
isPivotCorner: !0,
|
|
517
|
+
dimensionKey: dimensionInfo.value,
|
|
518
|
+
value: dimensionInfo.value
|
|
519
|
+
};
|
|
520
|
+
dimensions.push(dimension);
|
|
521
|
+
} else dimensions = this.isColumnHeader(col, row) ? this.getCellHeaderPaths(col, row).colHeaderPaths : this.getCellHeaderPaths(col, row).rowHeaderPaths;
|
|
522
|
+
const sortIndicator = dimensions[dimensions.length - 1].indicatorKey, headerDefine = this.getHeaderDefine(col, row);
|
|
523
|
+
if (headerDefine.sort) {
|
|
524
|
+
if (this.dataset.sortRules) {
|
|
525
|
+
for (let i = this.dataset.sortRules.length - 1; i >= 0; i--) {
|
|
526
|
+
const sortRule = this.dataset.sortRules[i];
|
|
527
|
+
(headerDefine.dimensionKey && sortRule.sortField === headerDefine.dimensionKey || sortIndicator && sortRule.sortField === (this.dataset.indicatorsAsCol ? this.dataset.rows[this.dataset.rows.length - 1] : this.dataset.columns[this.dataset.columns.length - 1])) && this.dataset.sortRules.splice(i, 1);
|
|
528
|
+
}
|
|
529
|
+
sortIndicator ? this.dataset.sortRules.push({
|
|
530
|
+
sortField: this.dataset.indicatorsAsCol ? this.dataset.rows[this.dataset.rows.length - 1] : this.dataset.columns[this.dataset.columns.length - 1],
|
|
531
|
+
sortType: ts_types_1.SortType[order],
|
|
532
|
+
sortByIndicator: sortIndicator,
|
|
533
|
+
query: dimensions.reduce(((arr, dimension) => (dimension.dimensionKey && arr.push(dimension.value),
|
|
534
|
+
arr)), [])
|
|
535
|
+
}) : this.dataset.sortRules.push({
|
|
536
|
+
sortField: headerDefine.dimensionKey,
|
|
537
|
+
sortType: ts_types_1.SortType[order]
|
|
538
|
+
});
|
|
539
|
+
} else this.dataset.sortRules = sortIndicator ? [ {
|
|
540
|
+
sortField: this.dataset.indicatorsAsCol ? this.dataset.rows[this.dataset.rows.length - 1] : this.dataset.columns[this.dataset.columns.length - 1],
|
|
541
|
+
sortType: ts_types_1.SortType[order],
|
|
542
|
+
sortByIndicator: sortIndicator,
|
|
543
|
+
query: dimensions.reduce(((arr, dimension) => (dimension.dimensionKey && arr.push(dimension.value),
|
|
544
|
+
arr)), [])
|
|
545
|
+
} ] : [ {
|
|
546
|
+
sortField: headerDefine.dimensionKey,
|
|
547
|
+
sortType: ts_types_1.SortType[order]
|
|
548
|
+
} ];
|
|
549
|
+
this.updateSortRules(this.dataset.sortRules);
|
|
478
550
|
}
|
|
479
551
|
}
|
|
480
552
|
getPivotSortState(col, row) {
|
|
481
553
|
if (!this.pivotSortState) return;
|
|
482
554
|
const cellRange = this.getCellRange(col, row);
|
|
483
555
|
for (let i = 0; i < this.pivotSortState.length; i++) {
|
|
484
|
-
const
|
|
485
|
-
if ((0, helper_1.cellInRange)(cellRange,
|
|
556
|
+
const pivotState = this.pivotSortState[i], dimensions = pivotState.dimensions, cell = this.getCellAddressByHeaderPaths(dimensions), order = pivotState.order;
|
|
557
|
+
if (cell && (0, helper_1.cellInRange)(cellRange, cell.col, cell.row)) return order;
|
|
486
558
|
}
|
|
487
559
|
}
|
|
488
560
|
_moveHeaderPosition(source, target) {
|
|
@@ -581,7 +653,7 @@ class PivotTable extends BaseTable_1.BaseTable {
|
|
|
581
653
|
};
|
|
582
654
|
}
|
|
583
655
|
setRecords(records) {
|
|
584
|
-
var _a, _b, _c, _d, _e;
|
|
656
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
585
657
|
const oldHoverState = {
|
|
586
658
|
col: this.stateManager.hover.cellPos.col,
|
|
587
659
|
row: this.stateManager.hover.cellPos.row
|
|
@@ -597,10 +669,12 @@ class PivotTable extends BaseTable_1.BaseTable {
|
|
|
597
669
|
indicatorDimensionKey: internalProps.layoutMap.indicatorDimensionKey
|
|
598
670
|
}, records)); else {
|
|
599
671
|
let columnDimensionTree, rowDimensionTree;
|
|
600
|
-
this.dataset.setRecords(records),
|
|
601
|
-
|
|
672
|
+
this.dataset.setRecords(records), options.columnTree ? columnDimensionTree = internalProps.layoutMap.columnDimensionTree : (0 !== (null !== (_d = null === (_c = this.records) || void 0 === _c ? void 0 : _c.length) && void 0 !== _d ? _d : 0) || this.dataset.customColTree || this.dataset.customRowTree || (this.dataset.colHeaderTree = []),
|
|
673
|
+
columnDimensionTree = new tree_helper_1.DimensionTree(null !== (_e = this.dataset.colHeaderTree) && void 0 !== _e ? _e : [], this.layoutNodeId)),
|
|
674
|
+
options.rowTree ? rowDimensionTree = internalProps.layoutMap.rowDimensionTree : (0 !== (null !== (_g = null === (_f = this.records) || void 0 === _f ? void 0 : _f.length) && void 0 !== _g ? _g : 0) || this.dataset.customColTree || this.dataset.customRowTree || (this.dataset.rowHeaderTree = []),
|
|
675
|
+
rowDimensionTree = new tree_helper_1.DimensionTree(null !== (_h = this.dataset.rowHeaderTree) && void 0 !== _h ? _h : [], this.layoutNodeId, this.options.rowHierarchyType, "tree" === this.options.rowHierarchyType ? null !== (_j = this.options.rowExpandLevel) && void 0 !== _j ? _j : 1 : void 0)),
|
|
602
676
|
internalProps.layoutMap = new pivot_header_layout_1.PivotHeaderLayoutMap(this, this.dataset, columnDimensionTree, rowDimensionTree),
|
|
603
|
-
this.pivotSortState = [], options.pivotSortState && this.
|
|
677
|
+
this.pivotSortState = [], options.pivotSortState && (this.pivotSortState = options.pivotSortState);
|
|
604
678
|
}
|
|
605
679
|
this.refreshHeader(), this.scenegraph.clearCells(), this.clearCellStyleCache(),
|
|
606
680
|
this.scenegraph.createSceneGraph(), this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row),
|