@visactor/vtable 1.2.1-alpha.2 → 1.3.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 +85 -17
- 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/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/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 +2 -2
- package/cjs/index.js.map +1 -1
- package/cjs/layout/pivot-header-layout.js +26 -8
- 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/icon/icon-update.js +1 -0
- package/cjs/scenegraph/icon/icon-update.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 +354 -91
- 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 +87 -19
- 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/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/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 +26 -8
- 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/icon/icon-update.js +1 -0
- package/es/scenegraph/icon/icon-update.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 +5 -5
package/dist/vtable.js
CHANGED
|
@@ -22113,6 +22113,7 @@
|
|
|
22113
22113
|
};
|
|
22114
22114
|
let Style$1 = class Style extends EventTarget$1 {
|
|
22115
22115
|
_color;
|
|
22116
|
+
_strokeColor;
|
|
22116
22117
|
_fontSize;
|
|
22117
22118
|
_fontFamily;
|
|
22118
22119
|
_fontWeight;
|
|
@@ -22151,6 +22152,7 @@
|
|
|
22151
22152
|
this._textAlign = style?.textAlign ?? bodyStyle?.textAlign;
|
|
22152
22153
|
this._textBaseline = style?.textBaseline ?? bodyStyle?.textBaseline;
|
|
22153
22154
|
this._color = style?.color ?? bodyStyle?.color;
|
|
22155
|
+
this._strokeColor = style?.strokeColor ?? bodyStyle?.strokeColor;
|
|
22154
22156
|
this._fontSize = style.fontSize ?? bodyStyle?.fontSize;
|
|
22155
22157
|
this._fontFamily = style.fontFamily ?? bodyStyle?.fontFamily;
|
|
22156
22158
|
this._fontWeight = style.fontWeight ?? bodyStyle?.fontWeight;
|
|
@@ -22182,6 +22184,12 @@
|
|
|
22182
22184
|
set color(color) {
|
|
22183
22185
|
this._color = color;
|
|
22184
22186
|
}
|
|
22187
|
+
get strokeColor() {
|
|
22188
|
+
return this._strokeColor;
|
|
22189
|
+
}
|
|
22190
|
+
set strokeColor(strokeColor) {
|
|
22191
|
+
this._strokeColor = strokeColor;
|
|
22192
|
+
}
|
|
22185
22193
|
get fontSize() {
|
|
22186
22194
|
return this._fontSize;
|
|
22187
22195
|
}
|
|
@@ -22642,6 +22650,7 @@
|
|
|
22642
22650
|
};
|
|
22643
22651
|
class Style extends EventTarget$1 {
|
|
22644
22652
|
_color;
|
|
22653
|
+
_strokeColor;
|
|
22645
22654
|
_fontSize;
|
|
22646
22655
|
_fontFamily;
|
|
22647
22656
|
_fontWeight;
|
|
@@ -22678,6 +22687,7 @@
|
|
|
22678
22687
|
constructor(style = {}, headerStyle = {}) {
|
|
22679
22688
|
super();
|
|
22680
22689
|
this._color = style.color ?? headerStyle?.color;
|
|
22690
|
+
this._strokeColor = style?.strokeColor ?? headerStyle?.strokeColor;
|
|
22681
22691
|
this._fontSize = style.fontSize ?? headerStyle?.fontSize;
|
|
22682
22692
|
this._fontFamily = style.fontFamily ?? headerStyle?.fontFamily;
|
|
22683
22693
|
this._fontWeight = style.fontWeight ?? headerStyle?.fontWeight;
|
|
@@ -22717,6 +22727,12 @@
|
|
|
22717
22727
|
set color(color) {
|
|
22718
22728
|
this._color = color;
|
|
22719
22729
|
}
|
|
22730
|
+
get strokeColor() {
|
|
22731
|
+
return this._strokeColor;
|
|
22732
|
+
}
|
|
22733
|
+
set strokeColor(strokeColor) {
|
|
22734
|
+
this._strokeColor = strokeColor;
|
|
22735
|
+
}
|
|
22720
22736
|
get fontSize() {
|
|
22721
22737
|
return this._fontSize;
|
|
22722
22738
|
}
|
|
@@ -25235,6 +25251,9 @@
|
|
|
25235
25251
|
get color() {
|
|
25236
25252
|
return style.color;
|
|
25237
25253
|
},
|
|
25254
|
+
get strokeColor() {
|
|
25255
|
+
return style.strokeColor;
|
|
25256
|
+
},
|
|
25238
25257
|
get borderColor() {
|
|
25239
25258
|
return style.borderColor;
|
|
25240
25259
|
},
|
|
@@ -35065,6 +35084,7 @@
|
|
|
35065
35084
|
const textAlign = getProp('textAlign', headerStyle, col, row, table);
|
|
35066
35085
|
const textBaseline = getProp('textBaseline', headerStyle, col, row, table);
|
|
35067
35086
|
const color = getProp('color', headerStyle, col, row, table);
|
|
35087
|
+
const strokeColor = getProp('strokeColor', headerStyle, col, row, table);
|
|
35068
35088
|
const lineHeight = getProp('lineHeight', headerStyle, col, row, table);
|
|
35069
35089
|
const underline = getProp('underline', headerStyle, col, row, table);
|
|
35070
35090
|
const underlineDash = getProp('underlineDash', headerStyle, col, row, table);
|
|
@@ -35101,6 +35121,7 @@
|
|
|
35101
35121
|
fontStyle,
|
|
35102
35122
|
fontVariant,
|
|
35103
35123
|
fill: color,
|
|
35124
|
+
stroke: strokeColor ?? false,
|
|
35104
35125
|
textAlign,
|
|
35105
35126
|
textBaseline,
|
|
35106
35127
|
lineHeight: lineHeight ?? fontSize,
|
|
@@ -38236,7 +38257,7 @@
|
|
|
38236
38257
|
else if (child.role === 'icon-absolute-right') {
|
|
38237
38258
|
child.setAttribute('x', child.attribute.x + detaX);
|
|
38238
38259
|
}
|
|
38239
|
-
else if (child.name === 'content' || child.name === 'text') {
|
|
38260
|
+
else if (child.name === 'content' || (child.name === 'text' && child.type !== 'richtext')) {
|
|
38240
38261
|
const childTextAlign = child.attribute.textAlign ?? textAlign;
|
|
38241
38262
|
if (childTextAlign === 'center') {
|
|
38242
38263
|
child.setAttribute('x', padding[3] + leftIconWidth + (distWidth - (padding[1] + padding[3]) - leftIconWidth - rightIconWidth) / 2);
|
|
@@ -48520,6 +48541,7 @@
|
|
|
48520
48541
|
},
|
|
48521
48542
|
placement: baseIcon.tooltip.placement
|
|
48522
48543
|
},
|
|
48544
|
+
disappearDelay: baseIcon.tooltip.disappearDelay,
|
|
48523
48545
|
style: Object.assign({}, scene.table.internalProps.theme?.tooltipStyle, baseIcon.tooltip?.style)
|
|
48524
48546
|
};
|
|
48525
48547
|
if (!scene.table.internalProps.tooltipHandler.isBinded(tooltipOptions)) {
|
|
@@ -50707,6 +50729,10 @@
|
|
|
50707
50729
|
!table.stateManager.isResizeCol()) {
|
|
50708
50730
|
const currentRange = state.select.ranges[state.select.ranges.length - 1];
|
|
50709
50731
|
if (isShift && currentRange) {
|
|
50732
|
+
if (!isCtrl) {
|
|
50733
|
+
cellPos.col = col;
|
|
50734
|
+
cellPos.row = row;
|
|
50735
|
+
}
|
|
50710
50736
|
if (state.select.headerSelectMode !== 'cell' && table.isColumnHeader(col, row)) {
|
|
50711
50737
|
const startCol = Math.min(currentRange.start.col, currentRange.end.col, col);
|
|
50712
50738
|
const endCol = Math.max(currentRange.start.col, currentRange.end.col, col);
|
|
@@ -52239,7 +52265,8 @@
|
|
|
52239
52265
|
rect: iconInfo.position,
|
|
52240
52266
|
placement: inlineIcon.attribute.tooltip.placement
|
|
52241
52267
|
},
|
|
52242
|
-
style: Object.assign({}, this.table.internalProps.theme?.tooltipStyle, inlineIcon.tooltip?.style, inlineIcon.attribute?.tooltip?.style)
|
|
52268
|
+
style: Object.assign({}, this.table.internalProps.theme?.tooltipStyle, inlineIcon.tooltip?.style, inlineIcon.attribute?.tooltip?.style),
|
|
52269
|
+
disappearDelay: inlineIcon.attribute.tooltip.disappearDelay
|
|
52243
52270
|
};
|
|
52244
52271
|
if (!this.table.internalProps.tooltipHandler.isBinded(tooltipOptions)) {
|
|
52245
52272
|
this.table.showTooltip(col, row, tooltipOptions);
|
|
@@ -52400,12 +52427,15 @@
|
|
|
52400
52427
|
endMoveCol(this);
|
|
52401
52428
|
}
|
|
52402
52429
|
checkFrozen() {
|
|
52403
|
-
|
|
52430
|
+
let originalFrozenColCount = this.table.isListTable() && !this.table.internalProps.transpose
|
|
52404
52431
|
? this.table.options.frozenColCount
|
|
52405
52432
|
: this.table.isPivotChart()
|
|
52406
52433
|
? this.table.rowHeaderLevelCount ?? 0
|
|
52407
52434
|
: Math.max((this.table.rowHeaderLevelCount ?? 0) + this.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount, this.table.options.frozenColCount ?? 0);
|
|
52408
52435
|
if (originalFrozenColCount) {
|
|
52436
|
+
if (originalFrozenColCount > this.table.colCount) {
|
|
52437
|
+
originalFrozenColCount = this.table.colCount;
|
|
52438
|
+
}
|
|
52409
52439
|
if (this.table.tableNoFrameWidth - this.table.getColsWidth(0, originalFrozenColCount - 1) <= 120) {
|
|
52410
52440
|
this.table._setFrozenColCount(0);
|
|
52411
52441
|
this.setFrozenCol(-1);
|
|
@@ -52734,7 +52764,10 @@
|
|
|
52734
52764
|
}
|
|
52735
52765
|
triggerSort(col, row, iconMark, event) {
|
|
52736
52766
|
if (this.table.isPivotTable()) {
|
|
52737
|
-
const
|
|
52767
|
+
const sortState = this.table.getPivotSortState(col, row);
|
|
52768
|
+
const order = sortState ? sortState.toUpperCase() : 'DESC';
|
|
52769
|
+
const new_order = order === 'ASC' ? 'DESC' : 'ASC';
|
|
52770
|
+
this.table.sort(col, row, new_order);
|
|
52738
52771
|
this.table.fireListeners(PIVOT_TABLE_EVENT_TYPE.PIVOT_SORT_CLICK, {
|
|
52739
52772
|
col: col,
|
|
52740
52773
|
row: row,
|
|
@@ -53284,7 +53317,9 @@
|
|
|
53284
53317
|
table.editorManager?.completeEdit(e.nativeEvent);
|
|
53285
53318
|
const hitIcon = eventArgsSet?.eventArgs?.target?.role?.startsWith('icon')
|
|
53286
53319
|
? eventArgsSet.eventArgs.target
|
|
53287
|
-
:
|
|
53320
|
+
: e.target.role?.startsWith('icon')
|
|
53321
|
+
? e.target
|
|
53322
|
+
: undefined;
|
|
53288
53323
|
eventManager.downIcon = hitIcon;
|
|
53289
53324
|
if (!hitIcon || hitIcon.attribute.interactive === false) {
|
|
53290
53325
|
if (e.pointerType === 'touch') {
|
|
@@ -53504,7 +53539,11 @@
|
|
|
53504
53539
|
stateManager.hideMenu();
|
|
53505
53540
|
}
|
|
53506
53541
|
table.editorManager?.completeEdit(e.nativeEvent);
|
|
53507
|
-
|
|
53542
|
+
const hitIcon = e.target.role?.startsWith('icon') ? e.target : undefined;
|
|
53543
|
+
eventManager.downIcon = hitIcon;
|
|
53544
|
+
if (!hitIcon &&
|
|
53545
|
+
!eventManager.checkCellFillhandle(eventArgsSet) &&
|
|
53546
|
+
eventManager.checkColumnResize(eventArgsSet, true)) {
|
|
53508
53547
|
table.scenegraph.updateChartState(null);
|
|
53509
53548
|
stateManager.updateInteractionState(InteractionState.grabing);
|
|
53510
53549
|
const { eventArgs } = eventArgsSet;
|
|
@@ -54060,22 +54099,62 @@
|
|
|
54060
54099
|
let targetCol;
|
|
54061
54100
|
let targetRow;
|
|
54062
54101
|
if (e.key === 'ArrowUp') {
|
|
54063
|
-
|
|
54064
|
-
|
|
54102
|
+
if (e.ctrlKey || e.metaKey) {
|
|
54103
|
+
targetCol = stateManager.select.cellPos.col;
|
|
54104
|
+
targetRow = 0;
|
|
54105
|
+
}
|
|
54106
|
+
else if (e.shiftKey) {
|
|
54107
|
+
targetCol = stateManager.select.cellPos.col;
|
|
54108
|
+
targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row - 1));
|
|
54109
|
+
}
|
|
54110
|
+
else {
|
|
54111
|
+
targetCol = stateManager.select.cellPos.col;
|
|
54112
|
+
targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row - 1));
|
|
54113
|
+
}
|
|
54065
54114
|
}
|
|
54066
54115
|
else if (e.key === 'ArrowDown') {
|
|
54067
|
-
|
|
54068
|
-
|
|
54116
|
+
if (e.ctrlKey || e.metaKey) {
|
|
54117
|
+
targetCol = stateManager.select.cellPos.col;
|
|
54118
|
+
targetRow = table.rowCount - 1;
|
|
54119
|
+
}
|
|
54120
|
+
else if (e.shiftKey) {
|
|
54121
|
+
targetCol = stateManager.select.cellPos.col;
|
|
54122
|
+
targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row + 1));
|
|
54123
|
+
}
|
|
54124
|
+
else {
|
|
54125
|
+
targetCol = stateManager.select.cellPos.col;
|
|
54126
|
+
targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row + 1));
|
|
54127
|
+
}
|
|
54069
54128
|
}
|
|
54070
54129
|
else if (e.key === 'ArrowLeft') {
|
|
54071
|
-
|
|
54072
|
-
|
|
54130
|
+
if (e.ctrlKey || e.metaKey) {
|
|
54131
|
+
targetCol = 0;
|
|
54132
|
+
targetRow = stateManager.select.cellPos.row;
|
|
54133
|
+
}
|
|
54134
|
+
else if (e.shiftKey) {
|
|
54135
|
+
targetRow = stateManager.select.cellPos.row;
|
|
54136
|
+
targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col - 1));
|
|
54137
|
+
}
|
|
54138
|
+
else {
|
|
54139
|
+
targetRow = stateManager.select.cellPos.row;
|
|
54140
|
+
targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col - 1));
|
|
54141
|
+
}
|
|
54073
54142
|
}
|
|
54074
54143
|
else if (e.key === 'ArrowRight') {
|
|
54075
|
-
|
|
54076
|
-
|
|
54144
|
+
if (e.ctrlKey || e.metaKey) {
|
|
54145
|
+
targetCol = table.colCount - 1;
|
|
54146
|
+
targetRow = stateManager.select.cellPos.row;
|
|
54147
|
+
}
|
|
54148
|
+
else if (e.shiftKey) {
|
|
54149
|
+
targetRow = stateManager.select.cellPos.row;
|
|
54150
|
+
targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col + 1));
|
|
54151
|
+
}
|
|
54152
|
+
else {
|
|
54153
|
+
targetRow = stateManager.select.cellPos.row;
|
|
54154
|
+
targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col + 1));
|
|
54155
|
+
}
|
|
54077
54156
|
}
|
|
54078
|
-
table.selectCell(targetCol, targetRow);
|
|
54157
|
+
table.selectCell(targetCol, targetRow, e.shiftKey);
|
|
54079
54158
|
if ((table.options.keyboardOptions?.moveEditCellOnArrowKeys ?? false) &&
|
|
54080
54159
|
table.editorManager.editingEditor) {
|
|
54081
54160
|
table.editorManager.completeEdit();
|
|
@@ -56099,10 +56178,19 @@
|
|
|
56099
56178
|
getIcons(col, row) {
|
|
56100
56179
|
const icons = [];
|
|
56101
56180
|
if (this._table.isPivotTable()) {
|
|
56102
|
-
const { showSort } = this._table.internalProps.layoutMap.getHeader(col, row);
|
|
56181
|
+
const { showSort, sort } = this._table.internalProps.layoutMap.getHeader(col, row);
|
|
56103
56182
|
if (showSort) {
|
|
56104
|
-
|
|
56105
|
-
|
|
56183
|
+
let order = this._table.getPivotSortState(col, row);
|
|
56184
|
+
if (order) {
|
|
56185
|
+
order = order.toUpperCase();
|
|
56186
|
+
}
|
|
56187
|
+
const sortIcon = order === 'ASC' ? this.downIcon : order === 'DESC' ? this.upIcon : this.normalIcon;
|
|
56188
|
+
if (sortIcon) {
|
|
56189
|
+
icons.push(sortIcon);
|
|
56190
|
+
}
|
|
56191
|
+
}
|
|
56192
|
+
else if (sort) {
|
|
56193
|
+
const sortIcon = this.getSortIconForPivotTable(this._table.getPivotSortState(col, row), this._table, col, row);
|
|
56106
56194
|
if (sortIcon) {
|
|
56107
56195
|
icons.push(sortIcon);
|
|
56108
56196
|
}
|
|
@@ -56225,6 +56313,17 @@
|
|
|
56225
56313
|
}
|
|
56226
56314
|
return icon;
|
|
56227
56315
|
}
|
|
56316
|
+
getSortIconForPivotTable(order, _table, col, row) {
|
|
56317
|
+
const headerC = _table.getHeaderDefine(col, row);
|
|
56318
|
+
if (!headerC ||
|
|
56319
|
+
headerC.showSort === false ||
|
|
56320
|
+
(!isValid$1(headerC.showSort) && !headerC.sort) ||
|
|
56321
|
+
(headerC.columns && headerC.columns.length > 0)) {
|
|
56322
|
+
return null;
|
|
56323
|
+
}
|
|
56324
|
+
const icon = order === 'ASC' ? this.downIcon : order === 'DESC' ? this.upIcon : this.normalIcon;
|
|
56325
|
+
return icon;
|
|
56326
|
+
}
|
|
56228
56327
|
getDropDownStateIcons(_table, col, row) {
|
|
56229
56328
|
const headerC = _table.getHeaderDefine(col, row);
|
|
56230
56329
|
const headerL = _table._getHeaderLayoutMap(col, row);
|
|
@@ -56441,8 +56540,8 @@
|
|
|
56441
56540
|
.vtable__bubble-tooltip-element {
|
|
56442
56541
|
position: absolute;
|
|
56443
56542
|
|
|
56444
|
-
pointer-events: none;
|
|
56445
|
-
user-select: none;
|
|
56543
|
+
// pointer-events: none;
|
|
56544
|
+
//user-select: none;
|
|
56446
56545
|
max-width: 300px;
|
|
56447
56546
|
z-index: 99999;
|
|
56448
56547
|
|
|
@@ -56456,6 +56555,8 @@
|
|
|
56456
56555
|
}
|
|
56457
56556
|
.vtable__bubble-tooltip-element--hidden {
|
|
56458
56557
|
opacity: 0;
|
|
56558
|
+
pointer-events: none;
|
|
56559
|
+
user-select: none;
|
|
56459
56560
|
/* transform: translate(-50%, -50%); */
|
|
56460
56561
|
transition: opacity 75ms linear;
|
|
56461
56562
|
}
|
|
@@ -56508,6 +56609,8 @@
|
|
|
56508
56609
|
_rootElement;
|
|
56509
56610
|
_messageElement;
|
|
56510
56611
|
_triangleElement;
|
|
56612
|
+
_disappearDelay;
|
|
56613
|
+
_disappearDelayId;
|
|
56511
56614
|
constructor() {
|
|
56512
56615
|
this._handler = new EventHandler();
|
|
56513
56616
|
const rootElement = (this._rootElement = createElement('div', [TOOLTIP_CLASS, HIDDEN_CLASS]));
|
|
@@ -56517,8 +56620,17 @@
|
|
|
56517
56620
|
rootElement.appendChild(messageElement);
|
|
56518
56621
|
this._messageElement = rootElement.querySelector(`.${CONTENT_CLASS}`) || undefined;
|
|
56519
56622
|
this._triangleElement = rootElement.querySelector(`.${TRIANGLE_CLASS}`) || undefined;
|
|
56623
|
+
rootElement.addEventListener('mousemove', () => {
|
|
56624
|
+
this._disappearDelayId && clearTimeout(this._disappearDelayId);
|
|
56625
|
+
});
|
|
56626
|
+
rootElement.addEventListener('mouseleave', () => {
|
|
56627
|
+
this._disappearDelay = undefined;
|
|
56628
|
+
this.unbindFromCell();
|
|
56629
|
+
});
|
|
56520
56630
|
}
|
|
56521
56631
|
bindToCell(table, col, row, tooltipInstanceInfo, confine) {
|
|
56632
|
+
this._disappearDelay = tooltipInstanceInfo?.disappearDelay;
|
|
56633
|
+
this._disappearDelayId && clearTimeout(this._disappearDelayId);
|
|
56522
56634
|
const rootElement = this._rootElement;
|
|
56523
56635
|
const messageElement = this._messageElement;
|
|
56524
56636
|
const triangle = this._triangleElement;
|
|
@@ -56574,10 +56686,21 @@
|
|
|
56574
56686
|
}
|
|
56575
56687
|
}
|
|
56576
56688
|
unbindFromCell() {
|
|
56577
|
-
|
|
56578
|
-
|
|
56579
|
-
|
|
56580
|
-
|
|
56689
|
+
if (this._disappearDelay) {
|
|
56690
|
+
this._disappearDelayId = setTimeout(() => {
|
|
56691
|
+
const rootElement = this._rootElement;
|
|
56692
|
+
if (rootElement?.parentElement) {
|
|
56693
|
+
rootElement.classList.remove(SHOWN_CLASS);
|
|
56694
|
+
rootElement.classList.add(HIDDEN_CLASS);
|
|
56695
|
+
}
|
|
56696
|
+
}, this._disappearDelay ?? 0);
|
|
56697
|
+
}
|
|
56698
|
+
else {
|
|
56699
|
+
const rootElement = this._rootElement;
|
|
56700
|
+
if (rootElement?.parentElement) {
|
|
56701
|
+
rootElement.classList.remove(SHOWN_CLASS);
|
|
56702
|
+
rootElement.classList.add(HIDDEN_CLASS);
|
|
56703
|
+
}
|
|
56581
56704
|
}
|
|
56582
56705
|
}
|
|
56583
56706
|
_canBindToCell(table, col, row) {
|
|
@@ -56905,6 +57028,7 @@
|
|
|
56905
57028
|
placement: Placement.bottom,
|
|
56906
57029
|
rect
|
|
56907
57030
|
},
|
|
57031
|
+
disappearDelay: table.internalProps.tooltip.overflowTextTooltipDisappearDelay ?? 0,
|
|
56908
57032
|
style: { arrowMark: false }
|
|
56909
57033
|
};
|
|
56910
57034
|
}
|
|
@@ -56921,6 +57045,7 @@
|
|
|
56921
57045
|
placement: Placement.bottom,
|
|
56922
57046
|
rect
|
|
56923
57047
|
},
|
|
57048
|
+
disappearDelay: table.internalProps.tooltip.overflowTextTooltipDisappearDelay ?? 0,
|
|
56924
57049
|
style: table.theme.tooltipStyle
|
|
56925
57050
|
};
|
|
56926
57051
|
}
|
|
@@ -58651,7 +58776,7 @@
|
|
|
58651
58776
|
: Object.assign({}, (indicatorInfo ?? dimensionInfo)?.headerStyle),
|
|
58652
58777
|
headerType: indicatorInfo?.headerType ?? dimensionInfo?.headerType ?? 'text',
|
|
58653
58778
|
headerIcon: indicatorInfo?.headerIcon ?? dimensionInfo?.headerIcon,
|
|
58654
|
-
define: Object.assign({}, hd, indicatorInfo ?? dimensionInfo),
|
|
58779
|
+
define: Object.assign({}, hd, indicatorInfo ?? Object.assign({}, dimensionInfo, { sort: undefined })),
|
|
58655
58780
|
fieldFormat: indicatorInfo?.headerFormat ?? dimensionInfo?.headerFormat,
|
|
58656
58781
|
dropDownMenu: indicatorInfo?.dropDownMenu ?? dimensionInfo?.dropDownMenu,
|
|
58657
58782
|
pivotInfo: {
|
|
@@ -58663,6 +58788,7 @@
|
|
|
58663
58788
|
minWidth: dimensionInfo?.minWidth,
|
|
58664
58789
|
maxWidth: dimensionInfo?.maxWidth,
|
|
58665
58790
|
showSort: indicatorInfo?.showSort ?? dimensionInfo?.showSort,
|
|
58791
|
+
sort: indicatorInfo?.sort,
|
|
58666
58792
|
description: dimensionInfo?.description
|
|
58667
58793
|
};
|
|
58668
58794
|
if (indicatorInfo) {
|
|
@@ -59079,7 +59205,7 @@
|
|
|
59079
59205
|
return TABLE_EVENT_TYPE;
|
|
59080
59206
|
}
|
|
59081
59207
|
options;
|
|
59082
|
-
version = "1.
|
|
59208
|
+
version = "1.3.0";
|
|
59083
59209
|
pagination;
|
|
59084
59210
|
id = `VTable${Date.now()}`;
|
|
59085
59211
|
headerStyleCache;
|
|
@@ -59298,11 +59424,7 @@
|
|
|
59298
59424
|
this.internalProps.colCount = colCount;
|
|
59299
59425
|
}
|
|
59300
59426
|
get frozenColCount() {
|
|
59301
|
-
|
|
59302
|
-
if (frozenColCount > this.colCount) {
|
|
59303
|
-
frozenColCount = 0;
|
|
59304
|
-
}
|
|
59305
|
-
return frozenColCount;
|
|
59427
|
+
return this.internalProps.layoutMap?.frozenColCount ?? this.internalProps.frozenColCount ?? 0;
|
|
59306
59428
|
}
|
|
59307
59429
|
set frozenColCount(frozenColCount) {
|
|
59308
59430
|
if (frozenColCount >= this.colCount) {
|
|
@@ -60695,8 +60817,8 @@
|
|
|
60695
60817
|
clearSelected() {
|
|
60696
60818
|
this.stateManager.updateSelectPos(-1, -1);
|
|
60697
60819
|
}
|
|
60698
|
-
selectCell(col, row) {
|
|
60699
|
-
this.stateManager.updateSelectPos(col, row);
|
|
60820
|
+
selectCell(col, row, isShift, isCtrl) {
|
|
60821
|
+
this.stateManager.updateSelectPos(col, row, isShift, isCtrl);
|
|
60700
60822
|
this.stateManager.endSelectCells();
|
|
60701
60823
|
}
|
|
60702
60824
|
selectCells(cellRanges) {
|
|
@@ -61008,8 +61130,11 @@
|
|
|
61008
61130
|
let cacheKey;
|
|
61009
61131
|
if (this.isPivotTable() && !this.isBottomFrozenRow(row) && !this.isRightFrozenColumn(col)) {
|
|
61010
61132
|
const define = this.getHeaderDefine(col, row);
|
|
61133
|
+
const isCorner = this.isCornerHeader(col, row);
|
|
61011
61134
|
cacheKey = define?.dimensionKey
|
|
61012
|
-
?
|
|
61135
|
+
? isCorner
|
|
61136
|
+
? `dim-cor-${define.dimensionKey}`
|
|
61137
|
+
: `dim-${define.dimensionKey}`
|
|
61013
61138
|
: define?.indicatorKey
|
|
61014
61139
|
? `ind-${define.indicatorKey}`
|
|
61015
61140
|
: `${col}-${row}`;
|
|
@@ -61323,6 +61448,9 @@
|
|
|
61323
61448
|
? getProp('bgColor', actStyle, col, row, this)
|
|
61324
61449
|
: theme.group.fill,
|
|
61325
61450
|
color: isBoolean$2(theme.text.fill) ? getProp('color', actStyle, col, row, this) : theme.text.fill,
|
|
61451
|
+
strokeColor: isBoolean$2(theme.text.stroke)
|
|
61452
|
+
? getProp('strokeColor', actStyle, col, row, this)
|
|
61453
|
+
: theme.text.stroke,
|
|
61326
61454
|
fontFamily: theme.text.fontFamily,
|
|
61327
61455
|
fontSize: theme.text.fontSize,
|
|
61328
61456
|
fontWeight: theme.text.fontWeight,
|
|
@@ -64676,7 +64804,7 @@
|
|
|
64676
64804
|
const cellType = this.getCellType(col, row);
|
|
64677
64805
|
if (isValid$1(field) && cellType === 'checkbox') {
|
|
64678
64806
|
const dataIndex = this.dataSource.getIndexKey(this.getRecordShowIndexByCell(col, row));
|
|
64679
|
-
return this.stateManager.checkedState[dataIndex][field];
|
|
64807
|
+
return this.stateManager.checkedState[dataIndex]?.[field];
|
|
64680
64808
|
}
|
|
64681
64809
|
return undefined;
|
|
64682
64810
|
}
|
|
@@ -65775,11 +65903,15 @@
|
|
|
65775
65903
|
: dimensionKey === 'axis'
|
|
65776
65904
|
? ''
|
|
65777
65905
|
: dimensionKey,
|
|
65778
|
-
field:
|
|
65906
|
+
field: dimensionKey,
|
|
65779
65907
|
style: this.cornerSetting.headerStyle,
|
|
65780
65908
|
headerType: this.cornerSetting.headerType ?? 'text',
|
|
65909
|
+
showSort: dimensionInfo?.showSortInCorner,
|
|
65910
|
+
sort: dimensionInfo?.sort,
|
|
65781
65911
|
define: {
|
|
65782
|
-
|
|
65912
|
+
showSort: dimensionInfo?.showSortInCorner,
|
|
65913
|
+
sort: dimensionInfo?.sort,
|
|
65914
|
+
dimensionKey: dimensionKey,
|
|
65783
65915
|
id,
|
|
65784
65916
|
value: dimensionKey,
|
|
65785
65917
|
disableHeaderHover: !!this.cornerSetting.disableHeaderHover,
|
|
@@ -67063,6 +67195,7 @@
|
|
|
67063
67195
|
getCellAdressByHeaderPath(dimensionPaths) {
|
|
67064
67196
|
let colHeaderPaths;
|
|
67065
67197
|
let rowHeaderPaths;
|
|
67198
|
+
let isCornerCell = false;
|
|
67066
67199
|
let forceBody = false;
|
|
67067
67200
|
if (Array.isArray(dimensionPaths)) {
|
|
67068
67201
|
if (dimensionPaths.length > this.rowDimensionKeys.length + this.colDimensionKeys.length) {
|
|
@@ -67091,6 +67224,32 @@
|
|
|
67091
67224
|
return (this.fullRowDimensionKeys.indexOf(a.dimensionKey ?? this.indicatorDimensionKey) -
|
|
67092
67225
|
this.fullRowDimensionKeys.indexOf(b.dimensionKey ?? this.indicatorDimensionKey));
|
|
67093
67226
|
});
|
|
67227
|
+
colHeaderPaths?.forEach(a => {
|
|
67228
|
+
if (a.isPivotCorner) {
|
|
67229
|
+
isCornerCell = true;
|
|
67230
|
+
}
|
|
67231
|
+
});
|
|
67232
|
+
rowHeaderPaths?.forEach(a => {
|
|
67233
|
+
if (a.isPivotCorner) {
|
|
67234
|
+
isCornerCell = true;
|
|
67235
|
+
}
|
|
67236
|
+
});
|
|
67237
|
+
if (isCornerCell) {
|
|
67238
|
+
if (this.cornerSetting.titleOnDimension === 'row') {
|
|
67239
|
+
for (let i = 0; i < this.rowDimensionKeys.length; i++) {
|
|
67240
|
+
if (rowHeaderPaths[0].dimensionKey === this.rowDimensionKeys[i]) {
|
|
67241
|
+
return { col: i + this.leftRowSeriesNumberColumnCount, row: 0 };
|
|
67242
|
+
}
|
|
67243
|
+
}
|
|
67244
|
+
}
|
|
67245
|
+
else {
|
|
67246
|
+
for (let i = 0; i < this.colDimensionKeys.length; i++) {
|
|
67247
|
+
if (colHeaderPaths[0].dimensionKey === this.colDimensionKeys[i]) {
|
|
67248
|
+
return { col: 0, row: i };
|
|
67249
|
+
}
|
|
67250
|
+
}
|
|
67251
|
+
}
|
|
67252
|
+
}
|
|
67094
67253
|
let needLowestLevel = false;
|
|
67095
67254
|
if (colHeaderPaths?.length >= 1 && rowHeaderPaths?.length >= 1) {
|
|
67096
67255
|
needLowestLevel = true;
|
|
@@ -67191,7 +67350,7 @@
|
|
|
67191
67350
|
}
|
|
67192
67351
|
}
|
|
67193
67352
|
if (colDimensionFinded || forceBody) {
|
|
67194
|
-
col = this.rowHeaderLevelCount;
|
|
67353
|
+
col = this.rowHeaderLevelCount + this.leftRowSeriesNumberColumnCount;
|
|
67195
67354
|
const { startInTotal, level } = colDimensionFinded ?? defaultDimension;
|
|
67196
67355
|
col += startInTotal ?? 0;
|
|
67197
67356
|
defaultRow = this.columnHeaderTitle ? level + 1 : level;
|
|
@@ -67710,7 +67869,9 @@
|
|
|
67710
67869
|
return totalCount;
|
|
67711
67870
|
}
|
|
67712
67871
|
resetHeaderTree() {
|
|
67872
|
+
this.colIndex = 0;
|
|
67713
67873
|
this._rowHeaderCellFullPathIds_FULL = [];
|
|
67874
|
+
this._columnHeaderCellFullPathIds = [];
|
|
67714
67875
|
this._columnHeaderCellIds = [];
|
|
67715
67876
|
const dataset = this.dataset;
|
|
67716
67877
|
this.rowTree = dataset.rowHeaderTree;
|
|
@@ -67726,6 +67887,8 @@
|
|
|
67726
67887
|
o[e.id] = e;
|
|
67727
67888
|
return o;
|
|
67728
67889
|
}, {});
|
|
67890
|
+
this._CellHeaderPathMap = new Map();
|
|
67891
|
+
this._largeCellRangeCache.length = 0;
|
|
67729
67892
|
this.generateCellIdsConsiderHideHeader();
|
|
67730
67893
|
this.setPagination(this.pagination);
|
|
67731
67894
|
}
|
|
@@ -69330,9 +69493,10 @@
|
|
|
69330
69493
|
}
|
|
69331
69494
|
this.internalProps.layoutMap = new PivotHeaderLayoutMap(this, this.dataset, columnDimensionTree, rowDimensionTree);
|
|
69332
69495
|
}
|
|
69333
|
-
this.
|
|
69334
|
-
if (options.pivotSortState) {
|
|
69335
|
-
this.
|
|
69496
|
+
this._changePivotSortStateBySortRules();
|
|
69497
|
+
if ((options.pivotSortState?.length ?? 0) > 0) {
|
|
69498
|
+
this.pivotSortState = [];
|
|
69499
|
+
this.pivotSortState = options.pivotSortState;
|
|
69336
69500
|
}
|
|
69337
69501
|
if (Env.mode !== 'node') {
|
|
69338
69502
|
this.editorManager = new EditManeger(this);
|
|
@@ -69467,9 +69631,10 @@
|
|
|
69467
69631
|
}
|
|
69468
69632
|
internalProps.layoutMap = new PivotHeaderLayoutMap(this, this.dataset, columnDimensionTree, rowDimensionTree);
|
|
69469
69633
|
}
|
|
69470
|
-
this.
|
|
69471
|
-
if (options.pivotSortState) {
|
|
69472
|
-
this.
|
|
69634
|
+
this._changePivotSortStateBySortRules();
|
|
69635
|
+
if ((options.pivotSortState?.length ?? 0) > 0) {
|
|
69636
|
+
this.pivotSortState = [];
|
|
69637
|
+
this.pivotSortState = options.pivotSortState;
|
|
69473
69638
|
}
|
|
69474
69639
|
this.refreshHeader();
|
|
69475
69640
|
if (internalProps.releaseList) {
|
|
@@ -69907,24 +70072,147 @@
|
|
|
69907
70072
|
}
|
|
69908
70073
|
}
|
|
69909
70074
|
updateSortRules(sortRules) {
|
|
69910
|
-
this.internalProps.dataConfig
|
|
70075
|
+
if (this.internalProps.dataConfig) {
|
|
70076
|
+
this.internalProps.dataConfig.sortRules = sortRules;
|
|
70077
|
+
}
|
|
70078
|
+
else {
|
|
70079
|
+
this.internalProps.dataConfig = { sortRules };
|
|
70080
|
+
}
|
|
69911
70081
|
this.dataset.updateSortRules(sortRules);
|
|
70082
|
+
this._changePivotSortStateBySortRules();
|
|
69912
70083
|
this.internalProps.layoutMap.resetHeaderTree();
|
|
69913
70084
|
this.scenegraph.clearCells();
|
|
69914
70085
|
this.refreshHeader();
|
|
69915
70086
|
this.scenegraph.createSceneGraph();
|
|
69916
70087
|
this.render();
|
|
69917
70088
|
}
|
|
69918
|
-
|
|
69919
|
-
|
|
69920
|
-
|
|
69921
|
-
|
|
69922
|
-
|
|
70089
|
+
_changePivotSortStateBySortRules() {
|
|
70090
|
+
this.pivotSortState = [];
|
|
70091
|
+
const sortRules = this.internalProps.dataConfig?.sortRules ?? [];
|
|
70092
|
+
for (let i = 0; i < sortRules.length; i++) {
|
|
70093
|
+
const sortRule = sortRules[i];
|
|
70094
|
+
if (sortRule.sortType) {
|
|
70095
|
+
const dimensions = [];
|
|
70096
|
+
if (sortRule.sortByIndicator) {
|
|
70097
|
+
if (sortRule.sortField ===
|
|
70098
|
+
(this.dataset.indicatorsAsCol
|
|
70099
|
+
? this.dataset.rows[this.dataset.rows.length - 1]
|
|
70100
|
+
: this.dataset.columns[this.dataset.columns.length - 1])) {
|
|
70101
|
+
for (let j = 0; j < sortRule.query.length; j++) {
|
|
70102
|
+
dimensions.push({
|
|
70103
|
+
dimensionKey: this.dataset.indicatorsAsCol ? this.dataset.columns[j] : this.dataset.rows[j],
|
|
70104
|
+
value: sortRule.query[j]
|
|
70105
|
+
});
|
|
70106
|
+
}
|
|
70107
|
+
dimensions.push({
|
|
70108
|
+
indicatorKey: sortRule.sortByIndicator,
|
|
70109
|
+
value: this.internalProps.layoutMap.getIndicatorInfo(sortRule.sortByIndicator)
|
|
70110
|
+
?.title ?? sortRule.sortByIndicator
|
|
70111
|
+
});
|
|
70112
|
+
}
|
|
70113
|
+
}
|
|
70114
|
+
else {
|
|
70115
|
+
dimensions.push({
|
|
70116
|
+
dimensionKey: sortRule.sortField,
|
|
70117
|
+
isPivotCorner: true,
|
|
70118
|
+
value: sortRule.sortField
|
|
70119
|
+
});
|
|
70120
|
+
}
|
|
69923
70121
|
this.pivotSortState.push({
|
|
69924
|
-
|
|
69925
|
-
|
|
69926
|
-
order
|
|
70122
|
+
dimensions,
|
|
70123
|
+
order: sortRule.sortType
|
|
69927
70124
|
});
|
|
70125
|
+
}
|
|
70126
|
+
}
|
|
70127
|
+
}
|
|
70128
|
+
updatePivotSortState(pivotSortStateConfig) {
|
|
70129
|
+
this.pivotSortState = pivotSortStateConfig;
|
|
70130
|
+
}
|
|
70131
|
+
sort(col, row, order) {
|
|
70132
|
+
let dimensions;
|
|
70133
|
+
if (this.isCornerHeader(col, row)) {
|
|
70134
|
+
const dimensionInfo = this.getHeaderDefine(col, row);
|
|
70135
|
+
dimensions = [];
|
|
70136
|
+
const dimension = {
|
|
70137
|
+
isPivotCorner: true,
|
|
70138
|
+
dimensionKey: dimensionInfo.value,
|
|
70139
|
+
value: dimensionInfo.value
|
|
70140
|
+
};
|
|
70141
|
+
dimensions.push(dimension);
|
|
70142
|
+
}
|
|
70143
|
+
else if (this.isColumnHeader(col, row)) {
|
|
70144
|
+
dimensions = this.getCellHeaderPaths(col, row).colHeaderPaths;
|
|
70145
|
+
}
|
|
70146
|
+
else {
|
|
70147
|
+
dimensions = this.getCellHeaderPaths(col, row).rowHeaderPaths;
|
|
70148
|
+
}
|
|
70149
|
+
const sortIndicator = dimensions[dimensions.length - 1].indicatorKey;
|
|
70150
|
+
const headerDefine = this.getHeaderDefine(col, row);
|
|
70151
|
+
if (headerDefine.sort) {
|
|
70152
|
+
if (this.dataset.sortRules) {
|
|
70153
|
+
for (let i = this.dataset.sortRules.length - 1; i >= 0; i--) {
|
|
70154
|
+
const sortRule = this.dataset.sortRules[i];
|
|
70155
|
+
if (headerDefine.dimensionKey && sortRule.sortField === headerDefine.dimensionKey) {
|
|
70156
|
+
this.dataset.sortRules.splice(i, 1);
|
|
70157
|
+
}
|
|
70158
|
+
else if (sortIndicator &&
|
|
70159
|
+
sortRule.sortField ===
|
|
70160
|
+
(this.dataset.indicatorsAsCol
|
|
70161
|
+
? this.dataset.rows[this.dataset.rows.length - 1]
|
|
70162
|
+
: this.dataset.columns[this.dataset.columns.length - 1])) {
|
|
70163
|
+
this.dataset.sortRules.splice(i, 1);
|
|
70164
|
+
}
|
|
70165
|
+
}
|
|
70166
|
+
if (sortIndicator) {
|
|
70167
|
+
this.dataset.sortRules.push({
|
|
70168
|
+
sortField: this.dataset.indicatorsAsCol
|
|
70169
|
+
? this.dataset.rows[this.dataset.rows.length - 1]
|
|
70170
|
+
: this.dataset.columns[this.dataset.columns.length - 1],
|
|
70171
|
+
sortType: SortType[order],
|
|
70172
|
+
sortByIndicator: sortIndicator,
|
|
70173
|
+
query: dimensions.reduce((arr, dimension) => {
|
|
70174
|
+
if (dimension.dimensionKey) {
|
|
70175
|
+
arr.push(dimension.value);
|
|
70176
|
+
}
|
|
70177
|
+
return arr;
|
|
70178
|
+
}, [])
|
|
70179
|
+
});
|
|
70180
|
+
}
|
|
70181
|
+
else {
|
|
70182
|
+
this.dataset.sortRules.push({
|
|
70183
|
+
sortField: headerDefine.dimensionKey,
|
|
70184
|
+
sortType: SortType[order]
|
|
70185
|
+
});
|
|
70186
|
+
}
|
|
70187
|
+
}
|
|
70188
|
+
else {
|
|
70189
|
+
if (sortIndicator) {
|
|
70190
|
+
this.dataset.sortRules = [
|
|
70191
|
+
{
|
|
70192
|
+
sortField: this.dataset.indicatorsAsCol
|
|
70193
|
+
? this.dataset.rows[this.dataset.rows.length - 1]
|
|
70194
|
+
: this.dataset.columns[this.dataset.columns.length - 1],
|
|
70195
|
+
sortType: SortType[order],
|
|
70196
|
+
sortByIndicator: sortIndicator,
|
|
70197
|
+
query: dimensions.reduce((arr, dimension) => {
|
|
70198
|
+
if (dimension.dimensionKey) {
|
|
70199
|
+
arr.push(dimension.value);
|
|
70200
|
+
}
|
|
70201
|
+
return arr;
|
|
70202
|
+
}, [])
|
|
70203
|
+
}
|
|
70204
|
+
];
|
|
70205
|
+
}
|
|
70206
|
+
else {
|
|
70207
|
+
this.dataset.sortRules = [
|
|
70208
|
+
{
|
|
70209
|
+
sortField: headerDefine.dimensionKey,
|
|
70210
|
+
sortType: SortType[order]
|
|
70211
|
+
}
|
|
70212
|
+
];
|
|
70213
|
+
}
|
|
70214
|
+
}
|
|
70215
|
+
this.updateSortRules(this.dataset.sortRules);
|
|
69928
70216
|
}
|
|
69929
70217
|
}
|
|
69930
70218
|
getPivotSortState(col, row) {
|
|
@@ -69933,8 +70221,11 @@
|
|
|
69933
70221
|
}
|
|
69934
70222
|
const cellRange = this.getCellRange(col, row);
|
|
69935
70223
|
for (let i = 0; i < this.pivotSortState.length; i++) {
|
|
69936
|
-
const
|
|
69937
|
-
|
|
70224
|
+
const pivotState = this.pivotSortState[i];
|
|
70225
|
+
const dimensions = pivotState.dimensions;
|
|
70226
|
+
const cell = this.getCellAddressByHeaderPaths(dimensions);
|
|
70227
|
+
const order = pivotState.order;
|
|
70228
|
+
if (cell && cellInRange(cellRange, cell.col, cell.row)) {
|
|
69938
70229
|
return order;
|
|
69939
70230
|
}
|
|
69940
70231
|
}
|
|
@@ -70123,7 +70414,7 @@
|
|
|
70123
70414
|
internalProps.layoutMap = new PivotHeaderLayoutMap(this, this.dataset, columnDimensionTree, rowDimensionTree);
|
|
70124
70415
|
this.pivotSortState = [];
|
|
70125
70416
|
if (options.pivotSortState) {
|
|
70126
|
-
this.
|
|
70417
|
+
this.pivotSortState = options.pivotSortState;
|
|
70127
70418
|
}
|
|
70128
70419
|
}
|
|
70129
70420
|
this.refreshHeader();
|
|
@@ -70937,7 +71228,12 @@
|
|
|
70937
71228
|
return this.getCellOriginRecord(col, row);
|
|
70938
71229
|
}
|
|
70939
71230
|
updateSortRules(sortRules) {
|
|
70940
|
-
this.internalProps.dataConfig
|
|
71231
|
+
if (this.internalProps.dataConfig) {
|
|
71232
|
+
this.internalProps.dataConfig.sortRules = sortRules;
|
|
71233
|
+
}
|
|
71234
|
+
else {
|
|
71235
|
+
this.internalProps.dataConfig = { sortRules };
|
|
71236
|
+
}
|
|
70941
71237
|
this.dataset.updateSortRules(sortRules);
|
|
70942
71238
|
this.internalProps.layoutMap.resetHeaderTree();
|
|
70943
71239
|
this.scenegraph.clearCells();
|
|
@@ -70945,18 +71241,6 @@
|
|
|
70945
71241
|
this.scenegraph.createSceneGraph();
|
|
70946
71242
|
this.render();
|
|
70947
71243
|
}
|
|
70948
|
-
updatePivotSortState(pivotSortStateConfig) {
|
|
70949
|
-
for (let i = 0; i < pivotSortStateConfig.length; i++) {
|
|
70950
|
-
const { dimensions, order } = pivotSortStateConfig[i];
|
|
70951
|
-
const cellAddress = this.internalProps.layoutMap.getPivotCellAdress(dimensions);
|
|
70952
|
-
cellAddress &&
|
|
70953
|
-
this.pivotSortState.push({
|
|
70954
|
-
col: cellAddress.col,
|
|
70955
|
-
row: cellAddress.row,
|
|
70956
|
-
order
|
|
70957
|
-
});
|
|
70958
|
-
}
|
|
70959
|
-
}
|
|
70960
71244
|
getPivotSortState(col, row) {
|
|
70961
71245
|
if (!this.pivotSortState) {
|
|
70962
71246
|
return undefined;
|
|
@@ -70997,27 +71281,6 @@
|
|
|
70997
71281
|
return null;
|
|
70998
71282
|
}
|
|
70999
71283
|
toggleHierarchyState(col, row) {
|
|
71000
|
-
const hierarchyState = this.getHierarchyState(col, row);
|
|
71001
|
-
if (hierarchyState === HierarchyState.expand) {
|
|
71002
|
-
this.fireListeners(PIVOT_CHART_EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE, {
|
|
71003
|
-
col: col,
|
|
71004
|
-
row: row,
|
|
71005
|
-
hierarchyState: HierarchyState.collapse
|
|
71006
|
-
});
|
|
71007
|
-
}
|
|
71008
|
-
else if (hierarchyState === HierarchyState.collapse) {
|
|
71009
|
-
this.fireListeners(PIVOT_CHART_EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE, {
|
|
71010
|
-
col: col,
|
|
71011
|
-
row: row,
|
|
71012
|
-
hierarchyState: HierarchyState.expand,
|
|
71013
|
-
originData: this.getCellOriginRecord(col, row)
|
|
71014
|
-
});
|
|
71015
|
-
}
|
|
71016
|
-
const result = this.internalProps.layoutMap.toggleHierarchyState(col, row);
|
|
71017
|
-
this.refreshRowColCount();
|
|
71018
|
-
this.clearCellStyleCache();
|
|
71019
|
-
this.scenegraph.updateHierarchyIcon(col, row);
|
|
71020
|
-
this.scenegraph.updateRow(result.removeCellPositions, result.addCellPositions);
|
|
71021
71284
|
}
|
|
71022
71285
|
getHeaderCellAddressByPath(dimensionPaths) {
|
|
71023
71286
|
const cellAddress = this.internalProps.layoutMap.getPivotCellAdress(dimensionPaths);
|
|
@@ -72067,7 +72330,7 @@
|
|
|
72067
72330
|
}
|
|
72068
72331
|
|
|
72069
72332
|
registerForVrender();
|
|
72070
|
-
const version = "1.
|
|
72333
|
+
const version = "1.3.0";
|
|
72071
72334
|
function getIcons() {
|
|
72072
72335
|
return get$2();
|
|
72073
72336
|
}
|