@visactor/vtable 1.4.2-beta.0 → 1.4.2
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 +1 -1
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotTable.js +19 -19
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/components/tooltip/logic/BubbleTooltipElement.js +2 -0
- package/cjs/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +1 -2
- package/cjs/core/BaseTable.js +16 -150
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/utils/get-cell-position.d.ts +42 -0
- package/cjs/core/utils/get-cell-position.js +204 -0
- package/cjs/core/utils/get-cell-position.js.map +1 -0
- package/cjs/edit/edit-manager.d.ts +1 -1
- package/cjs/edit/edit-manager.js +7 -6
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/event.js +7 -3
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/container-dom.js +92 -86
- package/cjs/event/listener/container-dom.js.map +1 -1
- package/cjs/event/listener/table-group.js +29 -20
- package/cjs/event/listener/table-group.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/layout-helper.js +2 -2
- package/cjs/layout/layout-helper.js.map +1 -1
- package/cjs/layout/pivot-header-layout.js +182 -53
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/simple-header-layout.d.ts +3 -0
- package/cjs/layout/simple-header-layout.js +28 -22
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/scenegraph/component/custom.js +4 -2
- package/cjs/scenegraph/component/custom.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +60 -56
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +13 -11
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/proxy.js +8 -8
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/cjs/scenegraph/layout/compute-col-width.js +1 -1
- package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
- package/cjs/state/cell-move/index.js +4 -1
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/state/sort/index.js +7 -3
- package/cjs/state/sort/index.js.map +1 -1
- package/cjs/state/state.d.ts +1 -1
- package/cjs/state/state.js +10 -6
- package/cjs/state/state.js.map +1 -1
- package/cjs/tools/util.d.ts +1 -0
- package/cjs/tools/util.js +11 -2
- package/cjs/tools/util.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +2 -0
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/list-table/define/basic-define.d.ts +1 -0
- package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +1 -1
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +791 -438
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +1 -1
- package/es/ListTable.js.map +1 -1
- package/es/PivotTable.js +19 -19
- package/es/PivotTable.js.map +1 -1
- package/es/components/tooltip/logic/BubbleTooltipElement.js +3 -1
- package/es/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
- package/es/core/BaseTable.d.ts +1 -2
- package/es/core/BaseTable.js +18 -150
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/utils/get-cell-position.d.ts +42 -0
- package/es/core/utils/get-cell-position.js +192 -0
- package/es/core/utils/get-cell-position.js.map +1 -0
- package/es/edit/edit-manager.d.ts +1 -1
- package/es/edit/edit-manager.js +7 -6
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/event.js +6 -2
- package/es/event/event.js.map +1 -1
- package/es/event/listener/container-dom.js +92 -86
- package/es/event/listener/container-dom.js.map +1 -1
- package/es/event/listener/table-group.js +29 -20
- package/es/event/listener/table-group.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/layout-helper.js +2 -2
- package/es/layout/layout-helper.js.map +1 -1
- package/es/layout/pivot-header-layout.js +182 -53
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/simple-header-layout.d.ts +3 -0
- package/es/layout/simple-header-layout.js +28 -22
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/scenegraph/component/custom.js +4 -2
- package/es/scenegraph/component/custom.js.map +1 -1
- package/es/scenegraph/graphic/contributions/group-contribution-render.js +60 -56
- package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +13 -11
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/progress/proxy.js +8 -8
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/es/scenegraph/layout/compute-col-width.js +1 -1
- package/es/scenegraph/layout/compute-col-width.js.map +1 -1
- package/es/state/cell-move/index.js +4 -1
- package/es/state/cell-move/index.js.map +1 -1
- package/es/state/sort/index.js +7 -3
- package/es/state/sort/index.js.map +1 -1
- package/es/state/state.d.ts +1 -1
- package/es/state/state.js +10 -6
- package/es/state/state.js.map +1 -1
- package/es/tools/util.d.ts +1 -0
- package/es/tools/util.js +9 -0
- package/es/tools/util.js.map +1 -1
- package/es/ts-types/base-table.d.ts +2 -0
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/list-table/define/basic-define.d.ts +1 -0
- package/es/ts-types/list-table/define/basic-define.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +1 -1
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +5 -5
package/dist/vtable.js
CHANGED
|
@@ -44247,6 +44247,14 @@
|
|
|
44247
44247
|
}
|
|
44248
44248
|
return result;
|
|
44249
44249
|
}
|
|
44250
|
+
function isDivSelected(div) {
|
|
44251
|
+
const selection = window.getSelection();
|
|
44252
|
+
if (selection.rangeCount) {
|
|
44253
|
+
const range = selection.getRangeAt(0);
|
|
44254
|
+
return range.endOffset > range.startOffset && div.contains(range.commonAncestorContainer);
|
|
44255
|
+
}
|
|
44256
|
+
return false;
|
|
44257
|
+
}
|
|
44250
44258
|
|
|
44251
44259
|
const isNode = typeof window === 'undefined' || typeof window.window === 'undefined';
|
|
44252
44260
|
let arrayFind;
|
|
@@ -51139,6 +51147,9 @@
|
|
|
51139
51147
|
}
|
|
51140
51148
|
function onBeforeAttributeUpdate(val, attribute) {
|
|
51141
51149
|
const graphic = this;
|
|
51150
|
+
if (graphic.skipMergeUpdate) {
|
|
51151
|
+
return;
|
|
51152
|
+
}
|
|
51142
51153
|
const cellGroup = getTargetCell(graphic);
|
|
51143
51154
|
const table = cellGroup.stage.table;
|
|
51144
51155
|
graphic.skipAttributeUpdate = true;
|
|
@@ -51153,7 +51164,7 @@
|
|
|
51153
51164
|
if (col === cellGroup.col && row === cellGroup.row) {
|
|
51154
51165
|
continue;
|
|
51155
51166
|
}
|
|
51156
|
-
const cell = table.scenegraph.
|
|
51167
|
+
const cell = table.scenegraph.highPerformanceGetCell(col, row);
|
|
51157
51168
|
if (cell.role === 'cell') {
|
|
51158
51169
|
const target = cell.getChildByName(graphic.name, true);
|
|
51159
51170
|
if (!target || target.skipAttributeUpdate) {
|
|
@@ -54747,11 +54758,14 @@
|
|
|
54747
54758
|
function dealWithMergeCellSize(range, cellWidth, cellHeight, padding, textAlign, textBaseline, table) {
|
|
54748
54759
|
for (let col = range.start.col; col <= range.end.col; col++) {
|
|
54749
54760
|
for (let row = range.start.row; row <= range.end.row; row++) {
|
|
54750
|
-
const cellGroup = table.scenegraph.
|
|
54751
|
-
if (cellGroup.role
|
|
54761
|
+
const cellGroup = table.scenegraph.highPerformanceGetCell(col, row, true);
|
|
54762
|
+
if (cellGroup.role !== 'cell') {
|
|
54763
|
+
continue;
|
|
54764
|
+
}
|
|
54765
|
+
if (range.start.row !== range.end.row && cellGroup.contentHeight !== cellHeight) {
|
|
54752
54766
|
updateCellContentHeight(cellGroup, cellHeight, cellHeight, table.isAutoRowHeight(row), padding, textAlign, textBaseline);
|
|
54753
54767
|
}
|
|
54754
|
-
if (
|
|
54768
|
+
if (range.start.col !== range.end.col && cellGroup.contentWidth !== cellWidth) {
|
|
54755
54769
|
updateCellContentWidth(cellGroup, cellWidth, cellHeight, 0, table.isAutoRowHeight(row), padding, textAlign, textBaseline, table.scenegraph);
|
|
54756
54770
|
}
|
|
54757
54771
|
cellGroup.contentWidth = cellWidth;
|
|
@@ -54768,26 +54782,34 @@
|
|
|
54768
54782
|
const dy = -table.getRowsHeight(range.start.row, row - 1);
|
|
54769
54783
|
cellGroup.forEachChildren((child) => {
|
|
54770
54784
|
if (typeof child._dx === 'number') {
|
|
54785
|
+
child.skipMergeUpdate = true;
|
|
54771
54786
|
child.setAttributes({
|
|
54772
54787
|
dx: (child._dx ?? 0) + dx
|
|
54773
54788
|
});
|
|
54789
|
+
child.skipMergeUpdate = false;
|
|
54774
54790
|
}
|
|
54775
54791
|
else {
|
|
54792
|
+
child.skipMergeUpdate = true;
|
|
54776
54793
|
child._dx = child.attribute.dx ?? 0;
|
|
54777
54794
|
child.setAttributes({
|
|
54778
54795
|
dx: (child.attribute.dx ?? 0) + dx
|
|
54779
54796
|
});
|
|
54797
|
+
child.skipMergeUpdate = false;
|
|
54780
54798
|
}
|
|
54781
54799
|
if (typeof child._dy === 'number') {
|
|
54800
|
+
child.skipMergeUpdate = true;
|
|
54782
54801
|
child.setAttributes({
|
|
54783
54802
|
dy: (child._dy ?? 0) + dy
|
|
54784
54803
|
});
|
|
54804
|
+
child.skipMergeUpdate = false;
|
|
54785
54805
|
}
|
|
54786
54806
|
else {
|
|
54787
54807
|
child._dy = child.attribute.dy ?? 0;
|
|
54808
|
+
child.skipMergeUpdate = true;
|
|
54788
54809
|
child.setAttributes({
|
|
54789
54810
|
dy: (child.attribute.dy ?? 0) + dy
|
|
54790
54811
|
});
|
|
54812
|
+
child.skipMergeUpdate = false;
|
|
54791
54813
|
}
|
|
54792
54814
|
});
|
|
54793
54815
|
const lineWidth = cellGroup.attribute.strokeArrayWidth ?? cellGroup.attribute.lineWidth;
|
|
@@ -54807,11 +54829,13 @@
|
|
|
54807
54829
|
}
|
|
54808
54830
|
const widthChange = rangeWidth !== cellGroup.attribute.width;
|
|
54809
54831
|
const heightChange = rangeHeight !== cellGroup.attribute.height;
|
|
54832
|
+
cellGroup.skipMergeUpdate = true;
|
|
54810
54833
|
cellGroup.setAttributes({
|
|
54811
54834
|
width: rangeWidth,
|
|
54812
54835
|
height: rangeHeight,
|
|
54813
54836
|
strokeArrayWidth: newLineWidth
|
|
54814
54837
|
});
|
|
54838
|
+
cellGroup.skipMergeUpdate = false;
|
|
54815
54839
|
cellGroup.mergeStartCol = range.start.col;
|
|
54816
54840
|
cellGroup.mergeStartRow = range.start.row;
|
|
54817
54841
|
cellGroup.mergeEndCol = range.end.col;
|
|
@@ -59196,21 +59220,9 @@
|
|
|
59196
59220
|
return;
|
|
59197
59221
|
}
|
|
59198
59222
|
const bottomRight = table?.theme.cellBorderClipDirection === 'bottom-right';
|
|
59199
|
-
let deltaWidth = 0;
|
|
59200
|
-
let deltaHeight = 0;
|
|
59201
59223
|
if (bottomRight) {
|
|
59202
59224
|
x = Math.floor(x) - 0.5;
|
|
59203
59225
|
y = Math.floor(y) - 0.5;
|
|
59204
|
-
if (group.role === 'cell') {
|
|
59205
|
-
const col = group.col;
|
|
59206
|
-
const row = group.row;
|
|
59207
|
-
if (table && col === table.colCount - 1) {
|
|
59208
|
-
deltaWidth = 1;
|
|
59209
|
-
}
|
|
59210
|
-
if (table && row === table.rowCount - 1) {
|
|
59211
|
-
deltaHeight = 1;
|
|
59212
|
-
}
|
|
59213
|
-
}
|
|
59214
59226
|
}
|
|
59215
59227
|
else {
|
|
59216
59228
|
x = Math.floor(x) + 0.5;
|
|
@@ -59220,7 +59232,7 @@
|
|
|
59220
59232
|
width = Math.round(width);
|
|
59221
59233
|
height = Math.round(height);
|
|
59222
59234
|
}
|
|
59223
|
-
const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width
|
|
59235
|
+
const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width), Math.ceil(height), bottomRight);
|
|
59224
59236
|
widthForStroke = widthFroDraw;
|
|
59225
59237
|
heightForStroke = heightFroDraw;
|
|
59226
59238
|
}
|
|
@@ -59275,15 +59287,21 @@
|
|
|
59275
59287
|
}
|
|
59276
59288
|
context.beginPath();
|
|
59277
59289
|
context.moveTo(x, y);
|
|
59278
|
-
|
|
59290
|
+
const strokeTop = (isStrokeTrue || stroke[0]) && (isWidthNumber || strokeArrayWidth[0]);
|
|
59291
|
+
const strokeRight = (isStrokeTrue || stroke[1]) && (isWidthNumber || strokeArrayWidth[1]);
|
|
59292
|
+
const strokeBottom = (isStrokeTrue || stroke[2]) && (isWidthNumber || strokeArrayWidth[2]);
|
|
59293
|
+
const strokeLeft = (isStrokeTrue || stroke[3]) && (isWidthNumber || strokeArrayWidth[3]);
|
|
59294
|
+
if (strokeTop) {
|
|
59295
|
+
const deltaLeft = (isWidthNumber ? widthInfo.width : strokeArrayWidth[0]) / 2;
|
|
59296
|
+
const deltaRight = (isWidthNumber ? widthInfo.width : strokeArrayWidth[0]) / 2;
|
|
59279
59297
|
if (isPart && Array.isArray(part[0])) {
|
|
59280
|
-
context.moveTo(x + width * part[0][0], y);
|
|
59281
|
-
context.lineTo(x + width * (part[0][1] - part[0][0]), y);
|
|
59282
|
-
context.moveTo(x + width, y);
|
|
59298
|
+
context.moveTo(x - deltaLeft + (width + deltaLeft + deltaRight) * part[0][0], y);
|
|
59299
|
+
context.lineTo(x - deltaLeft + (width + deltaLeft + deltaRight) * (part[0][1] - part[0][0]), y);
|
|
59300
|
+
context.moveTo(x + width + deltaRight, y);
|
|
59283
59301
|
}
|
|
59284
59302
|
else {
|
|
59285
|
-
context.moveTo(x, y);
|
|
59286
|
-
context.lineTo(x + width, y);
|
|
59303
|
+
context.moveTo(x - deltaLeft, y);
|
|
59304
|
+
context.lineTo(x + width + deltaRight, y);
|
|
59287
59305
|
}
|
|
59288
59306
|
if (isSplitDraw || isDash) {
|
|
59289
59307
|
if (strokeArrayColor && strokeArrayColor[0]) {
|
|
@@ -59307,15 +59325,17 @@
|
|
|
59307
59325
|
else {
|
|
59308
59326
|
context.moveTo(x + width, y);
|
|
59309
59327
|
}
|
|
59310
|
-
if (
|
|
59328
|
+
if (strokeRight) {
|
|
59329
|
+
const deltaTop = (isWidthNumber ? widthInfo.width : strokeArrayWidth[1]) / 2;
|
|
59330
|
+
const deltaBottom = (isWidthNumber ? widthInfo.width : strokeArrayWidth[1]) / 2;
|
|
59311
59331
|
if (isPart && Array.isArray(part[1])) {
|
|
59312
|
-
context.moveTo(x + width, y + height * part[1][0]);
|
|
59313
|
-
context.lineTo(x + width, y + height * (part[1][1] - part[1][0]));
|
|
59314
|
-
context.moveTo(x + width, y + height);
|
|
59332
|
+
context.moveTo(x + width, y - deltaTop + height * part[1][0]);
|
|
59333
|
+
context.lineTo(x + width, y - deltaTop + (height + deltaTop + deltaBottom) * (part[1][1] - part[1][0]));
|
|
59334
|
+
context.moveTo(x + width, y + height + deltaBottom);
|
|
59315
59335
|
}
|
|
59316
59336
|
else {
|
|
59317
|
-
context.moveTo(x + width, y);
|
|
59318
|
-
context.lineTo(x + width, y + height);
|
|
59337
|
+
context.moveTo(x + width, y - deltaTop);
|
|
59338
|
+
context.lineTo(x + width, y + height + deltaBottom);
|
|
59319
59339
|
}
|
|
59320
59340
|
if (isSplitDraw || isDash) {
|
|
59321
59341
|
if (strokeArrayColor && strokeArrayColor[1]) {
|
|
@@ -59339,15 +59359,17 @@
|
|
|
59339
59359
|
else {
|
|
59340
59360
|
context.moveTo(x + width, y + height);
|
|
59341
59361
|
}
|
|
59342
|
-
if (
|
|
59362
|
+
if (strokeBottom) {
|
|
59363
|
+
const deltaLeft = (isWidthNumber ? widthInfo.width : strokeArrayWidth[2]) / 2;
|
|
59364
|
+
const deltaRight = (isWidthNumber ? widthInfo.width : strokeArrayWidth[2]) / 2;
|
|
59343
59365
|
if (isPart && Array.isArray(part[2])) {
|
|
59344
|
-
context.moveTo(x + width * part[2][0], y + height);
|
|
59345
|
-
context.lineTo(x + width * (part[2][1] - part[2][0]), y + height);
|
|
59346
|
-
context.moveTo(x, y + height);
|
|
59366
|
+
context.moveTo(x - deltaLeft + (width + deltaLeft + deltaRight) * part[2][0], y + height);
|
|
59367
|
+
context.lineTo(x - deltaLeft + (width + deltaLeft + deltaRight) * (part[2][1] - part[2][0]), y + height);
|
|
59368
|
+
context.moveTo(x - deltaLeft, y + height);
|
|
59347
59369
|
}
|
|
59348
59370
|
else {
|
|
59349
|
-
context.moveTo(x, y + height);
|
|
59350
|
-
context.lineTo(x + width, y + height);
|
|
59371
|
+
context.moveTo(x - deltaLeft, y + height);
|
|
59372
|
+
context.lineTo(x + width + deltaRight, y + height);
|
|
59351
59373
|
}
|
|
59352
59374
|
if (isSplitDraw || isDash) {
|
|
59353
59375
|
if (strokeArrayColor && strokeArrayColor[2]) {
|
|
@@ -59371,15 +59393,17 @@
|
|
|
59371
59393
|
else {
|
|
59372
59394
|
context.moveTo(x, y + height);
|
|
59373
59395
|
}
|
|
59374
|
-
if (
|
|
59396
|
+
if (strokeLeft) {
|
|
59397
|
+
const deltaTop = (isWidthNumber ? widthInfo.width : strokeArrayWidth[3]) / 2;
|
|
59398
|
+
const deltaBottom = (isWidthNumber ? widthInfo.width : strokeArrayWidth[3]) / 2;
|
|
59375
59399
|
if (isPart && Array.isArray(part[3])) {
|
|
59376
|
-
context.moveTo(x, y + height * part[3][0]);
|
|
59377
|
-
context.lineTo(x, y + height * (part[3][1] - part[3][0]));
|
|
59378
|
-
context.moveTo(x, y);
|
|
59400
|
+
context.moveTo(x, y - deltaTop + (height + deltaTop + deltaBottom) * part[3][0]);
|
|
59401
|
+
context.lineTo(x, y - deltaTop + (height + deltaTop + deltaBottom) * (part[3][1] - part[3][0]));
|
|
59402
|
+
context.moveTo(x, y - deltaTop);
|
|
59379
59403
|
}
|
|
59380
59404
|
else {
|
|
59381
|
-
context.moveTo(x, y);
|
|
59382
|
-
context.lineTo(x, y + height);
|
|
59405
|
+
context.moveTo(x, y - deltaTop);
|
|
59406
|
+
context.lineTo(x, y + height + deltaBottom);
|
|
59383
59407
|
}
|
|
59384
59408
|
if (isSplitDraw || isDash) {
|
|
59385
59409
|
if (strokeArrayColor && strokeArrayColor[3]) {
|
|
@@ -59461,27 +59485,17 @@
|
|
|
59461
59485
|
let heightForStroke;
|
|
59462
59486
|
if (lineWidth & 1) {
|
|
59463
59487
|
const bottomRight = table.theme.cellBorderClipDirection === 'bottom-right';
|
|
59464
|
-
|
|
59465
|
-
|
|
59488
|
+
const deltaWidth = 0;
|
|
59489
|
+
const deltaHeight = 0;
|
|
59466
59490
|
if (bottomRight) {
|
|
59467
59491
|
x = Math.floor(x) - 0.5;
|
|
59468
59492
|
y = Math.floor(y) - 0.5;
|
|
59469
|
-
if (group.role === 'cell') {
|
|
59470
|
-
const col = group.col;
|
|
59471
|
-
const row = group.row;
|
|
59472
|
-
if (table && col === table.colCount - 1) {
|
|
59473
|
-
deltaWidth = 1;
|
|
59474
|
-
}
|
|
59475
|
-
if (table && row === table.rowCount - 1) {
|
|
59476
|
-
deltaHeight = 1;
|
|
59477
|
-
}
|
|
59478
|
-
}
|
|
59479
59493
|
}
|
|
59480
59494
|
else {
|
|
59481
59495
|
x = Math.floor(x) + 0.5;
|
|
59482
59496
|
y = Math.floor(y) + 0.5;
|
|
59483
59497
|
}
|
|
59484
|
-
const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width + deltaWidth), Math.ceil(height + deltaHeight));
|
|
59498
|
+
const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width + deltaWidth), Math.ceil(height + deltaHeight), bottomRight);
|
|
59485
59499
|
widthForStroke = widthFroDraw;
|
|
59486
59500
|
heightForStroke = heightFroDraw;
|
|
59487
59501
|
}
|
|
@@ -59563,29 +59577,19 @@
|
|
|
59563
59577
|
width = Math.round(width);
|
|
59564
59578
|
height = Math.round(height);
|
|
59565
59579
|
}
|
|
59566
|
-
const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width), Math.ceil(height));
|
|
59567
59580
|
context.beginPath();
|
|
59568
59581
|
const bottomRight = table?.theme.cellBorderClipDirection === 'bottom-right';
|
|
59569
|
-
|
|
59570
|
-
|
|
59582
|
+
const deltaWidth = 0;
|
|
59583
|
+
const deltaHeight = 0;
|
|
59571
59584
|
if (bottomRight) {
|
|
59572
59585
|
x = Math.floor(x) - 0.5;
|
|
59573
59586
|
y = Math.floor(y) - 0.5;
|
|
59574
|
-
if (group.role === 'cell') {
|
|
59575
|
-
const col = group.col;
|
|
59576
|
-
const row = group.row;
|
|
59577
|
-
if (table && col === table.colCount - 1) {
|
|
59578
|
-
deltaWidth = 1;
|
|
59579
|
-
}
|
|
59580
|
-
if (table && row === table.rowCount - 1) {
|
|
59581
|
-
deltaHeight = 1;
|
|
59582
|
-
}
|
|
59583
|
-
}
|
|
59584
59587
|
}
|
|
59585
59588
|
else {
|
|
59586
59589
|
x = Math.floor(x) + 0.5;
|
|
59587
59590
|
y = Math.floor(y) + 0.5;
|
|
59588
59591
|
}
|
|
59592
|
+
const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width), Math.ceil(height), bottomRight);
|
|
59589
59593
|
if (cornerRadius) {
|
|
59590
59594
|
createRectPath(context, x, y, widthFroDraw + deltaWidth, heightFroDraw + deltaHeight, cornerRadius);
|
|
59591
59595
|
}
|
|
@@ -59743,7 +59747,7 @@
|
|
|
59743
59747
|
ClipBodyGroupAfterRenderContribution = __decorate([
|
|
59744
59748
|
injectable()
|
|
59745
59749
|
], ClipBodyGroupAfterRenderContribution);
|
|
59746
|
-
function getCellSizeForDraw(group, width, height) {
|
|
59750
|
+
function getCellSizeForDraw(group, width, height, bottomRight) {
|
|
59747
59751
|
const table = group.stage.table;
|
|
59748
59752
|
if (group.role === 'cell') {
|
|
59749
59753
|
let col = group.col;
|
|
@@ -59753,24 +59757,24 @@
|
|
|
59753
59757
|
col = mergeInfo.end.col;
|
|
59754
59758
|
row = mergeInfo.end.row;
|
|
59755
59759
|
}
|
|
59756
|
-
if (table && col === table.colCount - 1) {
|
|
59760
|
+
if (table && col === table.colCount - 1 && !bottomRight) {
|
|
59757
59761
|
width -= 1;
|
|
59758
59762
|
}
|
|
59759
|
-
else if (table && col === table.frozenColCount - 1 && table.scrollLeft) {
|
|
59763
|
+
else if (table && col === table.frozenColCount - 1 && table.scrollLeft && !bottomRight) {
|
|
59760
59764
|
width -= 1;
|
|
59761
59765
|
}
|
|
59762
|
-
if (table && row === table.rowCount - 1) {
|
|
59766
|
+
if (table && row === table.rowCount - 1 && !bottomRight) {
|
|
59763
59767
|
height -= 1;
|
|
59764
59768
|
}
|
|
59765
|
-
else if (table && row === table.frozenRowCount - 1 && table.scrollTop) {
|
|
59769
|
+
else if (table && row === table.frozenRowCount - 1 && table.scrollTop && !bottomRight) {
|
|
59766
59770
|
height -= 1;
|
|
59767
59771
|
}
|
|
59768
59772
|
}
|
|
59769
59773
|
else if (group.role === 'corner-frozen') {
|
|
59770
|
-
if (table && table.scrollLeft) {
|
|
59774
|
+
if (table && table.scrollLeft && !bottomRight) {
|
|
59771
59775
|
width -= 1;
|
|
59772
59776
|
}
|
|
59773
|
-
if (table && table.scrollTop) {
|
|
59777
|
+
if (table && table.scrollTop && !bottomRight) {
|
|
59774
59778
|
height -= 1;
|
|
59775
59779
|
}
|
|
59776
59780
|
}
|
|
@@ -60506,7 +60510,7 @@
|
|
|
60506
60510
|
const factor = totalDrawWidth / actualWidth;
|
|
60507
60511
|
if (table.options.customConfig?.shrinkSparklineFirst &&
|
|
60508
60512
|
factor < 1 &&
|
|
60509
|
-
|
|
60513
|
+
actualWidth - totalDrawWidth < totalSparklineAbleWidth) {
|
|
60510
60514
|
for (let i = 0; i < sparklineColumns.length; i++) {
|
|
60511
60515
|
const { col, width } = sparklineColumns[i];
|
|
60512
60516
|
const deltaWidth = (actualWidth - totalDrawWidth) / sparklineColumns.length;
|
|
@@ -61874,6 +61878,7 @@
|
|
|
61874
61878
|
this.totalActualBodyColCount = totalActualBodyColCount;
|
|
61875
61879
|
this.totalCol = this.bodyLeftCol + totalActualBodyColCount - 1;
|
|
61876
61880
|
this.colStart = this.bodyLeftCol;
|
|
61881
|
+
this.colEnd = this.totalCol;
|
|
61877
61882
|
const defaultColWidth = this.table.defaultColWidth;
|
|
61878
61883
|
this.taskColCount = Math.ceil(this.table.tableNoFrameWidth / defaultColWidth) * 1;
|
|
61879
61884
|
const totalBodyWidth = defaultColWidth * totalActualBodyColCount;
|
|
@@ -61892,6 +61897,7 @@
|
|
|
61892
61897
|
this.totalActualBodyRowCount = totalActualBodyRowCount;
|
|
61893
61898
|
this.totalRow = this.bodyTopRow + totalActualBodyRowCount - 1;
|
|
61894
61899
|
this.rowStart = this.bodyTopRow;
|
|
61900
|
+
this.rowEnd = this.totalRow;
|
|
61895
61901
|
const defaultRowHeight = this.table.defaultRowHeight;
|
|
61896
61902
|
this.taskRowCount = Math.ceil(this.table.tableNoFrameHeight / defaultRowHeight) * 1;
|
|
61897
61903
|
const totalBodyHeight = defaultRowHeight * totalActualBodyRowCount;
|
|
@@ -61966,6 +61972,7 @@
|
|
|
61966
61972
|
createRowCellGroup(onceCount) {
|
|
61967
61973
|
const endRow = Math.min(this.totalRow, this.currentRow + onceCount);
|
|
61968
61974
|
computeRowsHeight(this.table, this.currentRow + 1, endRow, false);
|
|
61975
|
+
this.rowEnd = endRow;
|
|
61969
61976
|
if (this.table.frozenColCount) {
|
|
61970
61977
|
let maxHeight = 0;
|
|
61971
61978
|
for (let col = 0; col < this.table.frozenColCount; col++) {
|
|
@@ -61998,7 +62005,6 @@
|
|
|
61998
62005
|
}
|
|
61999
62006
|
this.table.scenegraph.bodyGroup.setAttribute('height', maxHeight);
|
|
62000
62007
|
this.currentRow = endRow;
|
|
62001
|
-
this.rowEnd = endRow;
|
|
62002
62008
|
this.rowUpdatePos = this.rowEnd;
|
|
62003
62009
|
this.table.scenegraph.updateContainer();
|
|
62004
62010
|
this.table.scenegraph.updateBorderSizeAndPosition();
|
|
@@ -62006,6 +62012,7 @@
|
|
|
62006
62012
|
createColGroup(onceCount) {
|
|
62007
62013
|
const endCol = Math.min(this.totalCol, this.currentCol + onceCount);
|
|
62008
62014
|
computeColsWidth(this.table, this.currentCol + 1, endCol);
|
|
62015
|
+
this.colEnd = endCol;
|
|
62009
62016
|
for (let row = 0; row < this.table.rowCount; row++) {
|
|
62010
62017
|
const cellGroup = this.highPerformanceGetCell(this.currentCol, row);
|
|
62011
62018
|
if (cellGroup.role === 'cell' && isNumber$2(cellGroup.mergeStartCol) && cellGroup.mergeStartCol > this.currentCol) {
|
|
@@ -62043,7 +62050,6 @@
|
|
|
62043
62050
|
const yOrigin = lastColumnGroup.attribute.y;
|
|
62044
62051
|
createColGroup(this.table.scenegraph.bodyGroup, xOrigin, yOrigin, this.currentCol + 1, endCol, this.rowStart, this.rowEnd, 'body', this.table);
|
|
62045
62052
|
this.currentCol = endCol;
|
|
62046
|
-
this.colEnd = endCol;
|
|
62047
62053
|
this.colUpdatePos = this.colEnd;
|
|
62048
62054
|
this.table.scenegraph.updateContainer();
|
|
62049
62055
|
this.table.scenegraph.updateBorderSizeAndPosition();
|
|
@@ -66137,7 +66143,9 @@
|
|
|
66137
66143
|
table.internalProps.useOneRowHeightFillAll = false;
|
|
66138
66144
|
table.internalProps.layoutMap.clearCellRangeMap();
|
|
66139
66145
|
table.scenegraph.sortCell();
|
|
66146
|
+
const isHasSelected = !!table.stateManager.select.ranges?.length;
|
|
66140
66147
|
table.stateManager.updateSelectPos(-1, -1);
|
|
66148
|
+
table.stateManager.endSelectCells(true, isHasSelected);
|
|
66141
66149
|
}
|
|
66142
66150
|
function executeSort(newState, table, headerDefine) {
|
|
66143
66151
|
const hd = table.internalProps.layoutMap.headerObjects.find((col) => col && col.field === newState.field);
|
|
@@ -66604,7 +66612,9 @@
|
|
|
66604
66612
|
? state.columnMove.y
|
|
66605
66613
|
: 0;
|
|
66606
66614
|
state.table.scenegraph.component.showMoveCol(col, row, delta);
|
|
66615
|
+
const isHasSelected = !!state.select.ranges?.length;
|
|
66607
66616
|
state.table.stateManager.updateSelectPos(-1, -1);
|
|
66617
|
+
state.table.stateManager.endSelectCells(true, isHasSelected);
|
|
66608
66618
|
state.table.scenegraph.updateNextFrame();
|
|
66609
66619
|
}
|
|
66610
66620
|
function updateMoveCol(col, row, x, y, state) {
|
|
@@ -67789,7 +67799,7 @@
|
|
|
67789
67799
|
isSelecting() {
|
|
67790
67800
|
return this.select.selecting;
|
|
67791
67801
|
}
|
|
67792
|
-
endSelectCells(fireListener = true) {
|
|
67802
|
+
endSelectCells(fireListener = true, fireClear = true) {
|
|
67793
67803
|
if (this.select.selecting) {
|
|
67794
67804
|
this.select.selecting = false;
|
|
67795
67805
|
if (this.select.ranges.length === 0) {
|
|
@@ -67825,7 +67835,7 @@
|
|
|
67825
67835
|
row: lastRow
|
|
67826
67836
|
});
|
|
67827
67837
|
}
|
|
67828
|
-
else if (
|
|
67838
|
+
else if (fireClear) {
|
|
67829
67839
|
if (this.select.ranges.length === 0) {
|
|
67830
67840
|
this.table.fireListeners(TABLE_EVENT_TYPE.SELECTED_CLEAR, {});
|
|
67831
67841
|
}
|
|
@@ -67846,7 +67856,9 @@
|
|
|
67846
67856
|
this.columnResize.x = x;
|
|
67847
67857
|
this.columnResize.isRightFrozen = isRightFrozen;
|
|
67848
67858
|
this.table.scenegraph.component.showResizeCol(col, y, isRightFrozen);
|
|
67859
|
+
const isHasSelected = !!this.select.ranges?.length;
|
|
67849
67860
|
this.updateSelectPos(-1, -1);
|
|
67861
|
+
this.endSelectCells(true, isHasSelected);
|
|
67850
67862
|
this.table.scenegraph.updateNextFrame();
|
|
67851
67863
|
}
|
|
67852
67864
|
updateResizeCol(xInTable, yInTable) {
|
|
@@ -67866,7 +67878,9 @@
|
|
|
67866
67878
|
this.rowResize.y = y;
|
|
67867
67879
|
this.rowResize.isBottomFrozen = isBottomFrozen;
|
|
67868
67880
|
this.table.scenegraph.component.showResizeRow(row, x, isBottomFrozen);
|
|
67881
|
+
const isHasSelected = !!this.select.ranges?.length;
|
|
67869
67882
|
this.updateSelectPos(-1, -1);
|
|
67883
|
+
this.endSelectCells(true, isHasSelected);
|
|
67870
67884
|
this.table.scenegraph.updateNextFrame();
|
|
67871
67885
|
}
|
|
67872
67886
|
updateResizeRow(xInTable, yInTable) {
|
|
@@ -68780,11 +68794,16 @@
|
|
|
68780
68794
|
}
|
|
68781
68795
|
}
|
|
68782
68796
|
}
|
|
68783
|
-
table.editorManager?.completeEdit(e.nativeEvent);
|
|
68797
|
+
const isCompleteEdit = table.editorManager?.completeEdit(e.nativeEvent);
|
|
68798
|
+
if (isCompleteEdit === false) {
|
|
68799
|
+
return;
|
|
68800
|
+
}
|
|
68784
68801
|
stateManager.updateInteractionState(InteractionState.default);
|
|
68785
68802
|
eventManager.dealTableHover();
|
|
68786
68803
|
if (table.options.select?.outsideClickDeselect) {
|
|
68804
|
+
const isHasSelected = !!stateManager.select.ranges?.length;
|
|
68787
68805
|
eventManager.dealTableSelect();
|
|
68806
|
+
stateManager.endSelectCells(true, isHasSelected);
|
|
68788
68807
|
}
|
|
68789
68808
|
});
|
|
68790
68809
|
table.scenegraph.tableGroup.addEventListener('pointerdown', (e) => {
|
|
@@ -68810,7 +68829,10 @@
|
|
|
68810
68829
|
if (eventArgsSet.eventArgs?.target !== stateManager.residentHoverIcon?.icon) {
|
|
68811
68830
|
stateManager.hideMenu();
|
|
68812
68831
|
}
|
|
68813
|
-
table.editorManager?.completeEdit(e.nativeEvent);
|
|
68832
|
+
const isCompleteEdit = table.editorManager?.completeEdit(e.nativeEvent);
|
|
68833
|
+
if (isCompleteEdit === false) {
|
|
68834
|
+
return;
|
|
68835
|
+
}
|
|
68814
68836
|
const hitIcon = eventArgsSet?.eventArgs?.target?.role?.startsWith('icon')
|
|
68815
68837
|
? eventArgsSet.eventArgs.target
|
|
68816
68838
|
: e.target.role?.startsWith('icon')
|
|
@@ -68993,8 +69015,9 @@
|
|
|
68993
69015
|
const eventArgsSet = getCellEventArgsSet(e);
|
|
68994
69016
|
if (eventManager.touchSetTimeout) {
|
|
68995
69017
|
clearTimeout(eventManager.touchSetTimeout);
|
|
69018
|
+
const isHasSelected = !!stateManager.select.ranges?.length;
|
|
68996
69019
|
eventManager.dealTableSelect(eventArgsSet);
|
|
68997
|
-
stateManager.endSelectCells();
|
|
69020
|
+
stateManager.endSelectCells(true, isHasSelected);
|
|
68998
69021
|
eventManager.touchSetTimeout = undefined;
|
|
68999
69022
|
}
|
|
69000
69023
|
}
|
|
@@ -69034,11 +69057,15 @@
|
|
|
69034
69057
|
if (eventArgsSet.eventArgs?.target !== stateManager.residentHoverIcon?.icon) {
|
|
69035
69058
|
stateManager.hideMenu();
|
|
69036
69059
|
}
|
|
69037
|
-
table.editorManager?.completeEdit(e.nativeEvent);
|
|
69060
|
+
const isCompleteEdit = table.editorManager?.completeEdit(e.nativeEvent);
|
|
69061
|
+
if (isCompleteEdit === false) {
|
|
69062
|
+
return;
|
|
69063
|
+
}
|
|
69038
69064
|
const hitIcon = e.target.role?.startsWith('icon') ? e.target : undefined;
|
|
69039
69065
|
eventManager.downIcon = hitIcon;
|
|
69040
69066
|
if (!hitIcon &&
|
|
69041
69067
|
!eventManager.checkCellFillhandle(eventArgsSet) &&
|
|
69068
|
+
!stateManager.columnResize.resizing &&
|
|
69042
69069
|
eventManager.checkColumnResize(eventArgsSet, true)) {
|
|
69043
69070
|
table.scenegraph.updateChartState(null);
|
|
69044
69071
|
stateManager.updateInteractionState(InteractionState.grabing);
|
|
@@ -69072,10 +69099,11 @@
|
|
|
69072
69099
|
!target.isDescendantsOf(table.scenegraph.tableGroup)) {
|
|
69073
69100
|
stateManager.updateInteractionState(InteractionState.default);
|
|
69074
69101
|
eventManager.dealTableHover();
|
|
69075
|
-
stateManager.
|
|
69102
|
+
const isHasSelected = !!stateManager.select.ranges?.length;
|
|
69076
69103
|
if (table.options.select?.blankAreaClickDeselect ?? true) {
|
|
69077
69104
|
eventManager.dealTableSelect();
|
|
69078
69105
|
}
|
|
69106
|
+
stateManager.endSelectCells(true, isHasSelected);
|
|
69079
69107
|
stateManager.updateCursor();
|
|
69080
69108
|
table.scenegraph.updateChartState(null);
|
|
69081
69109
|
}
|
|
@@ -69666,21 +69694,21 @@
|
|
|
69666
69694
|
table.editorManager.cancelEdit();
|
|
69667
69695
|
}
|
|
69668
69696
|
else if (e.key === 'Enter') {
|
|
69669
|
-
if (table.editorManager
|
|
69697
|
+
if (table.editorManager.editingEditor) {
|
|
69698
|
+
handleKeydownListener(e);
|
|
69670
69699
|
table.editorManager.completeEdit();
|
|
69671
69700
|
table.getElement().focus();
|
|
69701
|
+
return;
|
|
69672
69702
|
}
|
|
69673
|
-
|
|
69674
|
-
|
|
69675
|
-
|
|
69676
|
-
|
|
69677
|
-
|
|
69678
|
-
|
|
69679
|
-
|
|
69680
|
-
if (startCol
|
|
69681
|
-
|
|
69682
|
-
table.editorManager.startEditCell(startCol, startRow);
|
|
69683
|
-
}
|
|
69703
|
+
if ((table.options.keyboardOptions?.editCellOnEnter ?? true) &&
|
|
69704
|
+
(table.stateManager.select.ranges?.length ?? 0) === 1) {
|
|
69705
|
+
const startCol = table.stateManager.select.ranges[0].start.col;
|
|
69706
|
+
const startRow = table.stateManager.select.ranges[0].start.row;
|
|
69707
|
+
const endCol = table.stateManager.select.ranges[0].end.col;
|
|
69708
|
+
const endRow = table.stateManager.select.ranges[0].end.row;
|
|
69709
|
+
if (startCol === endCol && startRow === endRow) {
|
|
69710
|
+
if (table.getEditor(startCol, startRow)) {
|
|
69711
|
+
table.editorManager.startEditCell(startCol, startRow);
|
|
69684
69712
|
}
|
|
69685
69713
|
}
|
|
69686
69714
|
}
|
|
@@ -69714,6 +69742,9 @@
|
|
|
69714
69742
|
}
|
|
69715
69743
|
}
|
|
69716
69744
|
}
|
|
69745
|
+
handleKeydownListener(e);
|
|
69746
|
+
});
|
|
69747
|
+
function handleKeydownListener(e) {
|
|
69717
69748
|
if (table.hasListeners(TABLE_EVENT_TYPE.KEYDOWN)) {
|
|
69718
69749
|
const cellsEvent = {
|
|
69719
69750
|
keyCode: e.keyCode ?? e.which,
|
|
@@ -69723,7 +69754,7 @@
|
|
|
69723
69754
|
};
|
|
69724
69755
|
table.fireListeners(TABLE_EVENT_TYPE.KEYDOWN, cellsEvent);
|
|
69725
69756
|
}
|
|
69726
|
-
}
|
|
69757
|
+
}
|
|
69727
69758
|
handler.on(table.getElement(), 'copy', (e) => {
|
|
69728
69759
|
if (table.keyboardOptions?.copySelected) {
|
|
69729
69760
|
const data = table.getCopyValue();
|
|
@@ -69850,6 +69881,8 @@
|
|
|
69850
69881
|
table.resize();
|
|
69851
69882
|
}
|
|
69852
69883
|
});
|
|
69884
|
+
const regex = /<tr[^>]*>([\s\S]*?)<\/tr>/g;
|
|
69885
|
+
const cellRegex = /<td[^>]*>([\s\S]*?)<\/td>/g;
|
|
69853
69886
|
function pasteHtmlToTable(item) {
|
|
69854
69887
|
const ranges = table.stateManager.select.ranges;
|
|
69855
69888
|
const selectRangeLength = ranges.length;
|
|
@@ -69863,11 +69896,9 @@
|
|
|
69863
69896
|
item.getType('text/html').then((blob) => {
|
|
69864
69897
|
blob.text().then((pastedData) => {
|
|
69865
69898
|
if (pastedData && /(<table)|(<TABLE)/g.test(pastedData)) {
|
|
69866
|
-
const regex = /<tr[^>]*>(.*?)<\/tr>/gs;
|
|
69867
69899
|
const matches = Array.from(pastedData.matchAll(regex));
|
|
69868
69900
|
for (const match of matches) {
|
|
69869
69901
|
const rowContent = match[1];
|
|
69870
|
-
const cellRegex = /<td[^>]*>(.*?)<\/td>/gs;
|
|
69871
69902
|
const cellMatches = Array.from(rowContent.matchAll(cellRegex));
|
|
69872
69903
|
const rowValues = cellMatches.map(cellMatch => {
|
|
69873
69904
|
return (cellMatch[1]
|
|
@@ -70454,7 +70485,9 @@
|
|
|
70454
70485
|
drillClick(this.table);
|
|
70455
70486
|
}
|
|
70456
70487
|
else if (funcType === IconFuncTypeEnum.collapse || funcType === IconFuncTypeEnum.expand) {
|
|
70457
|
-
|
|
70488
|
+
const isHasSelected = !!stateManager.select.ranges?.length;
|
|
70489
|
+
stateManager.updateSelectPos(-1, -1);
|
|
70490
|
+
stateManager.endSelectCells(true, isHasSelected);
|
|
70458
70491
|
this.table.toggleHierarchyState(col, row);
|
|
70459
70492
|
}
|
|
70460
70493
|
});
|
|
@@ -72150,6 +72183,12 @@
|
|
|
72150
72183
|
messageElement.addEventListener('wheel', e => {
|
|
72151
72184
|
e.stopPropagation();
|
|
72152
72185
|
});
|
|
72186
|
+
messageElement.addEventListener('copy', e => {
|
|
72187
|
+
const isSelected = isDivSelected(messageElement);
|
|
72188
|
+
if (isSelected) {
|
|
72189
|
+
e.stopPropagation();
|
|
72190
|
+
}
|
|
72191
|
+
});
|
|
72153
72192
|
}
|
|
72154
72193
|
bindToCell(table, col, row, tooltipInstanceInfo, confine) {
|
|
72155
72194
|
this._disappearDelay = tooltipInstanceInfo?.disappearDelay;
|
|
@@ -74617,13 +74656,18 @@
|
|
|
74617
74656
|
}
|
|
74618
74657
|
else {
|
|
74619
74658
|
keys.push(indicatorObj.indicatorKey);
|
|
74620
|
-
if (indicatorObj.chartSpec
|
|
74659
|
+
if (indicatorObj.chartSpec ||
|
|
74660
|
+
indicatorObj.sparklineSpec) {
|
|
74621
74661
|
if (table.internalProps.dataConfig?.aggregationRules) {
|
|
74622
|
-
table.internalProps.dataConfig
|
|
74623
|
-
|
|
74624
|
-
|
|
74625
|
-
|
|
74626
|
-
|
|
74662
|
+
if (!table.internalProps.dataConfig.aggregationRules.find(aggregation => {
|
|
74663
|
+
return aggregation.indicatorKey === indicatorObj.indicatorKey;
|
|
74664
|
+
})) {
|
|
74665
|
+
table.internalProps.dataConfig.aggregationRules.push({
|
|
74666
|
+
field: indicatorObj.indicatorKey,
|
|
74667
|
+
indicatorKey: indicatorObj.indicatorKey,
|
|
74668
|
+
aggregationType: AggregationType.NONE
|
|
74669
|
+
});
|
|
74670
|
+
}
|
|
74627
74671
|
}
|
|
74628
74672
|
else if (table.internalProps.dataConfig) {
|
|
74629
74673
|
table.internalProps.dataConfig.aggregationRules = [
|
|
@@ -74703,6 +74747,246 @@
|
|
|
74703
74747
|
return customTree;
|
|
74704
74748
|
}
|
|
74705
74749
|
|
|
74750
|
+
function getRowAt(absoluteY, _this) {
|
|
74751
|
+
const frozen = _getTargetFrozenRowAt(_this, absoluteY);
|
|
74752
|
+
if (frozen) {
|
|
74753
|
+
return frozen;
|
|
74754
|
+
}
|
|
74755
|
+
let row = getTargetRowAt(absoluteY, _this);
|
|
74756
|
+
if (!row) {
|
|
74757
|
+
row = {
|
|
74758
|
+
top: -1,
|
|
74759
|
+
row: -1,
|
|
74760
|
+
bottom: -1,
|
|
74761
|
+
height: -1
|
|
74762
|
+
};
|
|
74763
|
+
}
|
|
74764
|
+
return row;
|
|
74765
|
+
}
|
|
74766
|
+
function getColAt(absoluteX, _this) {
|
|
74767
|
+
const frozen = _getTargetFrozenColAt(_this, absoluteX);
|
|
74768
|
+
if (frozen) {
|
|
74769
|
+
return frozen;
|
|
74770
|
+
}
|
|
74771
|
+
let col = getTargetColAt(absoluteX, _this);
|
|
74772
|
+
if (!col) {
|
|
74773
|
+
col = {
|
|
74774
|
+
left: -1,
|
|
74775
|
+
col: -1,
|
|
74776
|
+
right: -1,
|
|
74777
|
+
width: 1
|
|
74778
|
+
};
|
|
74779
|
+
}
|
|
74780
|
+
return col;
|
|
74781
|
+
}
|
|
74782
|
+
function getCellAt(absoluteX, absoluteY, _this) {
|
|
74783
|
+
const rowInfo = getRowAt(absoluteY, _this);
|
|
74784
|
+
const { row, top, bottom, height } = rowInfo;
|
|
74785
|
+
const colInfo = getColAt(absoluteX, _this);
|
|
74786
|
+
const { col, left, right, width } = colInfo;
|
|
74787
|
+
const rect = {
|
|
74788
|
+
left,
|
|
74789
|
+
right,
|
|
74790
|
+
top,
|
|
74791
|
+
bottom,
|
|
74792
|
+
width,
|
|
74793
|
+
height
|
|
74794
|
+
};
|
|
74795
|
+
return {
|
|
74796
|
+
row,
|
|
74797
|
+
col,
|
|
74798
|
+
rect
|
|
74799
|
+
};
|
|
74800
|
+
}
|
|
74801
|
+
function getTargetColAt(absoluteX, _this) {
|
|
74802
|
+
if (absoluteX === 0) {
|
|
74803
|
+
return { left: 0, col: 0, right: 0, width: 0 };
|
|
74804
|
+
}
|
|
74805
|
+
const findBefore = (startCol, startRight) => {
|
|
74806
|
+
let right = startRight;
|
|
74807
|
+
for (let col = startCol; col >= 0; col--) {
|
|
74808
|
+
const width = _this.getColWidth(col);
|
|
74809
|
+
const left = right - width;
|
|
74810
|
+
if (Math.round(left) <= Math.round(absoluteX) && Math.round(absoluteX) < Math.round(right)) {
|
|
74811
|
+
return {
|
|
74812
|
+
left,
|
|
74813
|
+
col,
|
|
74814
|
+
right,
|
|
74815
|
+
width
|
|
74816
|
+
};
|
|
74817
|
+
}
|
|
74818
|
+
right = left;
|
|
74819
|
+
}
|
|
74820
|
+
return null;
|
|
74821
|
+
};
|
|
74822
|
+
const findAfter = (startCol, startRight) => {
|
|
74823
|
+
let left = startRight - _this.getColWidth(startCol);
|
|
74824
|
+
const { colCount } = _this.internalProps;
|
|
74825
|
+
for (let col = startCol; col < colCount; col++) {
|
|
74826
|
+
const width = _this.getColWidth(col);
|
|
74827
|
+
const right = left + width;
|
|
74828
|
+
if (Math.round(left) <= Math.round(absoluteX) && Math.round(absoluteX) < Math.round(right)) {
|
|
74829
|
+
return {
|
|
74830
|
+
left,
|
|
74831
|
+
col,
|
|
74832
|
+
right,
|
|
74833
|
+
width
|
|
74834
|
+
};
|
|
74835
|
+
}
|
|
74836
|
+
left = right;
|
|
74837
|
+
}
|
|
74838
|
+
return null;
|
|
74839
|
+
};
|
|
74840
|
+
const candCol = computeTargetColByX(absoluteX, _this);
|
|
74841
|
+
const right = _this.getColsWidth(0, candCol);
|
|
74842
|
+
if (absoluteX >= right) {
|
|
74843
|
+
return findAfter(candCol, right);
|
|
74844
|
+
}
|
|
74845
|
+
return findBefore(candCol, right);
|
|
74846
|
+
}
|
|
74847
|
+
function getTargetRowAt(absoluteY, _this) {
|
|
74848
|
+
if (absoluteY === 0) {
|
|
74849
|
+
return { top: 0, row: 0, bottom: 0, height: 0 };
|
|
74850
|
+
}
|
|
74851
|
+
const findBefore = (startRow, startBottom) => {
|
|
74852
|
+
let bottom = startBottom;
|
|
74853
|
+
for (let row = startRow; row >= 0; row--) {
|
|
74854
|
+
const height = _this.getRowHeight(row);
|
|
74855
|
+
const top = bottom - height;
|
|
74856
|
+
if (Math.round(top) <= Math.round(absoluteY) && Math.round(absoluteY) < Math.round(bottom)) {
|
|
74857
|
+
return {
|
|
74858
|
+
top,
|
|
74859
|
+
row,
|
|
74860
|
+
bottom,
|
|
74861
|
+
height
|
|
74862
|
+
};
|
|
74863
|
+
}
|
|
74864
|
+
bottom = top;
|
|
74865
|
+
}
|
|
74866
|
+
return null;
|
|
74867
|
+
};
|
|
74868
|
+
const findAfter = (startRow, startBottom) => {
|
|
74869
|
+
let top = startBottom - _this.getRowHeight(startRow);
|
|
74870
|
+
const { rowCount } = _this.internalProps;
|
|
74871
|
+
for (let row = startRow; row < rowCount; row++) {
|
|
74872
|
+
const height = _this.getRowHeight(row);
|
|
74873
|
+
const bottom = top + height;
|
|
74874
|
+
if (Math.round(top) <= Math.round(absoluteY) && Math.round(absoluteY) < Math.round(bottom)) {
|
|
74875
|
+
return {
|
|
74876
|
+
top,
|
|
74877
|
+
row,
|
|
74878
|
+
bottom,
|
|
74879
|
+
height
|
|
74880
|
+
};
|
|
74881
|
+
}
|
|
74882
|
+
top = bottom;
|
|
74883
|
+
}
|
|
74884
|
+
return null;
|
|
74885
|
+
};
|
|
74886
|
+
const candRow = computeTargetRowByY(absoluteY, _this);
|
|
74887
|
+
const bottom = _this.getRowsHeight(0, candRow);
|
|
74888
|
+
if (absoluteY >= bottom) {
|
|
74889
|
+
return findAfter(candRow, bottom);
|
|
74890
|
+
}
|
|
74891
|
+
return findBefore(candRow, bottom);
|
|
74892
|
+
}
|
|
74893
|
+
function getTargetColAtConsiderRightFrozen(absoluteX, isConsider, _this) {
|
|
74894
|
+
if (absoluteX === 0) {
|
|
74895
|
+
return { left: 0, col: 0, right: 0, width: 0 };
|
|
74896
|
+
}
|
|
74897
|
+
if (isConsider &&
|
|
74898
|
+
absoluteX > _this.tableNoFrameWidth - _this.getRightFrozenColsWidth() &&
|
|
74899
|
+
absoluteX < _this.tableNoFrameWidth) {
|
|
74900
|
+
for (let i = 0; i < _this.rightFrozenColCount; i++) {
|
|
74901
|
+
if (absoluteX > _this.tableNoFrameWidth - _this.getColsWidth(_this.colCount - i - 1, _this.colCount - 1)) {
|
|
74902
|
+
return {
|
|
74903
|
+
col: _this.colCount - i - 1,
|
|
74904
|
+
left: undefined,
|
|
74905
|
+
right: undefined,
|
|
74906
|
+
width: undefined
|
|
74907
|
+
};
|
|
74908
|
+
}
|
|
74909
|
+
}
|
|
74910
|
+
}
|
|
74911
|
+
return getTargetColAt(absoluteX, _this);
|
|
74912
|
+
}
|
|
74913
|
+
function getTargetRowAtConsiderBottomFrozen(absoluteY, isConsider, _this) {
|
|
74914
|
+
if (absoluteY === 0) {
|
|
74915
|
+
return { top: 0, row: 0, bottom: 0, height: 0 };
|
|
74916
|
+
}
|
|
74917
|
+
if (isConsider &&
|
|
74918
|
+
absoluteY > _this.tableNoFrameHeight - _this.getBottomFrozenRowsHeight() &&
|
|
74919
|
+
absoluteY < _this.tableNoFrameHeight) {
|
|
74920
|
+
for (let i = 0; i < _this.rightFrozenColCount; i++) {
|
|
74921
|
+
if (absoluteY > _this.tableNoFrameHeight - _this.getRowsHeight(_this.rowCount - i - 1, _this.rowCount - 1)) {
|
|
74922
|
+
return {
|
|
74923
|
+
row: _this.rowCount - i - 1,
|
|
74924
|
+
top: undefined,
|
|
74925
|
+
bottom: undefined,
|
|
74926
|
+
height: undefined
|
|
74927
|
+
};
|
|
74928
|
+
}
|
|
74929
|
+
}
|
|
74930
|
+
}
|
|
74931
|
+
return getTargetRowAt(absoluteY, _this);
|
|
74932
|
+
}
|
|
74933
|
+
function computeTargetRowByY(absoluteY, _this) {
|
|
74934
|
+
let defaultRowHeight = _this.internalProps.defaultRowHeight;
|
|
74935
|
+
if (_this._rowRangeHeightsMap.get(`$0$${_this.rowCount - 1}`)) {
|
|
74936
|
+
defaultRowHeight = _this._rowRangeHeightsMap.get(`$0$${_this.rowCount - 1}`) / _this.rowCount;
|
|
74937
|
+
}
|
|
74938
|
+
return Math.min(Math.ceil(absoluteY / defaultRowHeight), _this.rowCount - 1);
|
|
74939
|
+
}
|
|
74940
|
+
function computeTargetColByX(absoluteX, _this) {
|
|
74941
|
+
if (_this._colRangeWidthsMap.get(`$0$${_this.colCount - 1}`)) {
|
|
74942
|
+
let startCol = 0;
|
|
74943
|
+
let endCol = _this.colCount - 1;
|
|
74944
|
+
while (endCol - startCol > 1) {
|
|
74945
|
+
const midCol = Math.floor((startCol + endCol) / 2);
|
|
74946
|
+
if (absoluteX < _this._colRangeWidthsMap.get(`$0$${midCol}`)) {
|
|
74947
|
+
endCol = midCol;
|
|
74948
|
+
}
|
|
74949
|
+
else if (absoluteX > _this._colRangeWidthsMap.get(`$0$${midCol}`)) {
|
|
74950
|
+
startCol = midCol;
|
|
74951
|
+
}
|
|
74952
|
+
else {
|
|
74953
|
+
return midCol;
|
|
74954
|
+
}
|
|
74955
|
+
}
|
|
74956
|
+
return endCol;
|
|
74957
|
+
}
|
|
74958
|
+
return Math.min(Math.ceil(absoluteX / _this.internalProps.defaultColWidth), _this.colCount - 1);
|
|
74959
|
+
}
|
|
74960
|
+
function getCellAtRelativePosition(x, y, _this) {
|
|
74961
|
+
x -= _this.tableX;
|
|
74962
|
+
y -= _this.tableY;
|
|
74963
|
+
let bottomFrozen = false;
|
|
74964
|
+
if (y > _this.tableNoFrameHeight - _this.getBottomFrozenRowsHeight() && y < _this.tableNoFrameHeight) {
|
|
74965
|
+
bottomFrozen = true;
|
|
74966
|
+
}
|
|
74967
|
+
let rightFrozen = false;
|
|
74968
|
+
if (x > _this.tableNoFrameWidth - _this.getRightFrozenColsWidth() && x < _this.tableNoFrameWidth) {
|
|
74969
|
+
rightFrozen = true;
|
|
74970
|
+
}
|
|
74971
|
+
const colInfo = getTargetColAtConsiderRightFrozen(rightFrozen ? x : x + _this.scrollLeft, rightFrozen, _this);
|
|
74972
|
+
const rowInfo = getTargetRowAtConsiderBottomFrozen(bottomFrozen ? y : y + _this.scrollTop, bottomFrozen, _this);
|
|
74973
|
+
const { row, top, bottom, height } = rowInfo;
|
|
74974
|
+
const { col, left, right, width } = colInfo;
|
|
74975
|
+
const rect = {
|
|
74976
|
+
left,
|
|
74977
|
+
right,
|
|
74978
|
+
top,
|
|
74979
|
+
bottom,
|
|
74980
|
+
width,
|
|
74981
|
+
height
|
|
74982
|
+
};
|
|
74983
|
+
return {
|
|
74984
|
+
row,
|
|
74985
|
+
col,
|
|
74986
|
+
rect
|
|
74987
|
+
};
|
|
74988
|
+
}
|
|
74989
|
+
|
|
74706
74990
|
const { toBoxArray } = style;
|
|
74707
74991
|
const { isTouchEvent } = event;
|
|
74708
74992
|
const rangeReg = /^\$(\d+)\$(\d+)$/;
|
|
@@ -74735,7 +75019,7 @@
|
|
|
74735
75019
|
return TABLE_EVENT_TYPE;
|
|
74736
75020
|
}
|
|
74737
75021
|
options;
|
|
74738
|
-
version = "1.4.2
|
|
75022
|
+
version = "1.4.2";
|
|
74739
75023
|
pagination;
|
|
74740
75024
|
id = `VTable${Date.now()}`;
|
|
74741
75025
|
headerStyleCache;
|
|
@@ -75720,55 +76004,16 @@
|
|
|
75720
76004
|
return null;
|
|
75721
76005
|
}
|
|
75722
76006
|
getRowAt(absoluteY) {
|
|
75723
|
-
|
|
75724
|
-
if (frozen) {
|
|
75725
|
-
return frozen;
|
|
75726
|
-
}
|
|
75727
|
-
let row = this.getTargetRowAt(absoluteY);
|
|
75728
|
-
if (!row) {
|
|
75729
|
-
row = {
|
|
75730
|
-
top: -1,
|
|
75731
|
-
row: -1,
|
|
75732
|
-
bottom: -1,
|
|
75733
|
-
height: -1
|
|
75734
|
-
};
|
|
75735
|
-
}
|
|
75736
|
-
return row;
|
|
76007
|
+
return getRowAt(absoluteY, this);
|
|
75737
76008
|
}
|
|
75738
76009
|
getColAt(absoluteX) {
|
|
75739
|
-
|
|
75740
|
-
if (frozen) {
|
|
75741
|
-
return frozen;
|
|
75742
|
-
}
|
|
75743
|
-
let col = this.getTargetColAt(absoluteX);
|
|
75744
|
-
if (!col) {
|
|
75745
|
-
col = {
|
|
75746
|
-
left: -1,
|
|
75747
|
-
col: -1,
|
|
75748
|
-
right: -1,
|
|
75749
|
-
width: 1
|
|
75750
|
-
};
|
|
75751
|
-
}
|
|
75752
|
-
return col;
|
|
76010
|
+
return getColAt(absoluteX, this);
|
|
75753
76011
|
}
|
|
75754
76012
|
getCellAt(absoluteX, absoluteY) {
|
|
75755
|
-
|
|
75756
|
-
|
|
75757
|
-
|
|
75758
|
-
|
|
75759
|
-
const rect = {
|
|
75760
|
-
left,
|
|
75761
|
-
right,
|
|
75762
|
-
top,
|
|
75763
|
-
bottom,
|
|
75764
|
-
width,
|
|
75765
|
-
height
|
|
75766
|
-
};
|
|
75767
|
-
return {
|
|
75768
|
-
row,
|
|
75769
|
-
col,
|
|
75770
|
-
rect
|
|
75771
|
-
};
|
|
76013
|
+
return getCellAt(absoluteX, absoluteY, this);
|
|
76014
|
+
}
|
|
76015
|
+
getCellAtRelativePosition(relativeX, relativeY) {
|
|
76016
|
+
return getCellAtRelativePosition(relativeX, relativeY, this);
|
|
75772
76017
|
}
|
|
75773
76018
|
_checkRowCol(col, row) {
|
|
75774
76019
|
if (col >= 0 && col < this.colCount && row >= 0 && row < this.rowCount) {
|
|
@@ -76214,170 +76459,24 @@
|
|
|
76214
76459
|
return this.internalProps.theme;
|
|
76215
76460
|
}
|
|
76216
76461
|
getTargetColAt(absoluteX) {
|
|
76217
|
-
|
|
76218
|
-
return { left: 0, col: 0, right: 0, width: 0 };
|
|
76219
|
-
}
|
|
76220
|
-
const findBefore = (startCol, startRight) => {
|
|
76221
|
-
let right = startRight;
|
|
76222
|
-
for (let col = startCol; col >= 0; col--) {
|
|
76223
|
-
const width = this.getColWidth(col);
|
|
76224
|
-
const left = right - width;
|
|
76225
|
-
if (Math.round(left) <= Math.round(absoluteX) && Math.round(absoluteX) < Math.round(right)) {
|
|
76226
|
-
return {
|
|
76227
|
-
left,
|
|
76228
|
-
col,
|
|
76229
|
-
right,
|
|
76230
|
-
width
|
|
76231
|
-
};
|
|
76232
|
-
}
|
|
76233
|
-
right = left;
|
|
76234
|
-
}
|
|
76235
|
-
return null;
|
|
76236
|
-
};
|
|
76237
|
-
const findAfter = (startCol, startRight) => {
|
|
76238
|
-
let left = startRight - this.getColWidth(startCol);
|
|
76239
|
-
const { colCount } = this.internalProps;
|
|
76240
|
-
for (let col = startCol; col < colCount; col++) {
|
|
76241
|
-
const width = this.getColWidth(col);
|
|
76242
|
-
const right = left + width;
|
|
76243
|
-
if (Math.round(left) <= Math.round(absoluteX) && Math.round(absoluteX) < Math.round(right)) {
|
|
76244
|
-
return {
|
|
76245
|
-
left,
|
|
76246
|
-
col,
|
|
76247
|
-
right,
|
|
76248
|
-
width
|
|
76249
|
-
};
|
|
76250
|
-
}
|
|
76251
|
-
left = right;
|
|
76252
|
-
}
|
|
76253
|
-
return null;
|
|
76254
|
-
};
|
|
76255
|
-
const candCol = this.computeTargetColByX(absoluteX);
|
|
76256
|
-
const right = this.getColsWidth(0, candCol);
|
|
76257
|
-
if (absoluteX >= right) {
|
|
76258
|
-
return findAfter(candCol, right);
|
|
76259
|
-
}
|
|
76260
|
-
return findBefore(candCol, right);
|
|
76462
|
+
return getTargetColAt(absoluteX, this);
|
|
76261
76463
|
}
|
|
76262
76464
|
getTargetRowAt(absoluteY) {
|
|
76263
|
-
|
|
76264
|
-
return { top: 0, row: 0, bottom: 0, height: 0 };
|
|
76265
|
-
}
|
|
76266
|
-
const findBefore = (startRow, startBottom) => {
|
|
76267
|
-
let bottom = startBottom;
|
|
76268
|
-
for (let row = startRow; row >= 0; row--) {
|
|
76269
|
-
const height = this.getRowHeight(row);
|
|
76270
|
-
const top = bottom - height;
|
|
76271
|
-
if (Math.round(top) <= Math.round(absoluteY) && Math.round(absoluteY) < Math.round(bottom)) {
|
|
76272
|
-
return {
|
|
76273
|
-
top,
|
|
76274
|
-
row,
|
|
76275
|
-
bottom,
|
|
76276
|
-
height
|
|
76277
|
-
};
|
|
76278
|
-
}
|
|
76279
|
-
bottom = top;
|
|
76280
|
-
}
|
|
76281
|
-
return null;
|
|
76282
|
-
};
|
|
76283
|
-
const findAfter = (startRow, startBottom) => {
|
|
76284
|
-
let top = startBottom - this.getRowHeight(startRow);
|
|
76285
|
-
const { rowCount } = this.internalProps;
|
|
76286
|
-
for (let row = startRow; row < rowCount; row++) {
|
|
76287
|
-
const height = this.getRowHeight(row);
|
|
76288
|
-
const bottom = top + height;
|
|
76289
|
-
if (Math.round(top) <= Math.round(absoluteY) && Math.round(absoluteY) < Math.round(bottom)) {
|
|
76290
|
-
return {
|
|
76291
|
-
top,
|
|
76292
|
-
row,
|
|
76293
|
-
bottom,
|
|
76294
|
-
height
|
|
76295
|
-
};
|
|
76296
|
-
}
|
|
76297
|
-
top = bottom;
|
|
76298
|
-
}
|
|
76299
|
-
return null;
|
|
76300
|
-
};
|
|
76301
|
-
const candRow = this.computeTargetRowByY(absoluteY);
|
|
76302
|
-
const bottom = this.getRowsHeight(0, candRow);
|
|
76303
|
-
if (absoluteY >= bottom) {
|
|
76304
|
-
return findAfter(candRow, bottom);
|
|
76305
|
-
}
|
|
76306
|
-
return findBefore(candRow, bottom);
|
|
76465
|
+
return getTargetRowAt(absoluteY, this);
|
|
76307
76466
|
}
|
|
76308
76467
|
getTargetColAtConsiderRightFrozen(absoluteX, isConsider) {
|
|
76309
|
-
|
|
76310
|
-
return { left: 0, col: 0, right: 0, width: 0 };
|
|
76311
|
-
}
|
|
76312
|
-
if (isConsider &&
|
|
76313
|
-
absoluteX > this.tableNoFrameWidth - this.getRightFrozenColsWidth() &&
|
|
76314
|
-
absoluteX < this.tableNoFrameWidth) {
|
|
76315
|
-
for (let i = 0; i < this.rightFrozenColCount; i++) {
|
|
76316
|
-
if (absoluteX > this.tableNoFrameWidth - this.getColsWidth(this.colCount - i - 1, this.colCount - 1)) {
|
|
76317
|
-
return {
|
|
76318
|
-
col: this.colCount - i - 1,
|
|
76319
|
-
left: undefined,
|
|
76320
|
-
right: undefined,
|
|
76321
|
-
width: undefined
|
|
76322
|
-
};
|
|
76323
|
-
}
|
|
76324
|
-
}
|
|
76325
|
-
}
|
|
76326
|
-
return this.getTargetColAt(absoluteX);
|
|
76468
|
+
return getTargetColAtConsiderRightFrozen(absoluteX, isConsider, this);
|
|
76327
76469
|
}
|
|
76328
76470
|
getTargetRowAtConsiderBottomFrozen(absoluteY, isConsider) {
|
|
76329
|
-
|
|
76330
|
-
return { top: 0, row: 0, bottom: 0, height: 0 };
|
|
76331
|
-
}
|
|
76332
|
-
if (isConsider &&
|
|
76333
|
-
absoluteY > this.tableNoFrameHeight - this.getBottomFrozenRowsHeight() &&
|
|
76334
|
-
absoluteY < this.tableNoFrameHeight) {
|
|
76335
|
-
for (let i = 0; i < this.rightFrozenColCount; i++) {
|
|
76336
|
-
if (absoluteY > this.tableNoFrameHeight - this.getRowsHeight(this.rowCount - i - 1, this.rowCount - 1)) {
|
|
76337
|
-
return {
|
|
76338
|
-
row: this.rowCount - i - 1,
|
|
76339
|
-
top: undefined,
|
|
76340
|
-
bottom: undefined,
|
|
76341
|
-
height: undefined
|
|
76342
|
-
};
|
|
76343
|
-
}
|
|
76344
|
-
}
|
|
76345
|
-
}
|
|
76346
|
-
return this.getTargetRowAt(absoluteY);
|
|
76347
|
-
}
|
|
76348
|
-
computeTargetRowByY(absoluteY) {
|
|
76349
|
-
let defaultRowHeight = this.internalProps.defaultRowHeight;
|
|
76350
|
-
if (this._rowRangeHeightsMap.get(`$0$${this.rowCount - 1}`)) {
|
|
76351
|
-
defaultRowHeight = this._rowRangeHeightsMap.get(`$0$${this.rowCount - 1}`) / this.rowCount;
|
|
76352
|
-
}
|
|
76353
|
-
return Math.min(Math.ceil(absoluteY / defaultRowHeight), this.rowCount - 1);
|
|
76354
|
-
}
|
|
76355
|
-
computeTargetColByX(absoluteX) {
|
|
76356
|
-
if (this._colRangeWidthsMap.get(`$0$${this.colCount - 1}`)) {
|
|
76357
|
-
let startCol = 0;
|
|
76358
|
-
let endCol = this.colCount - 1;
|
|
76359
|
-
while (endCol - startCol > 1) {
|
|
76360
|
-
const midCol = Math.floor((startCol + endCol) / 2);
|
|
76361
|
-
if (absoluteX < this._colRangeWidthsMap.get(`$0$${midCol}`)) {
|
|
76362
|
-
endCol = midCol;
|
|
76363
|
-
}
|
|
76364
|
-
else if (absoluteX > this._colRangeWidthsMap.get(`$0$${midCol}`)) {
|
|
76365
|
-
startCol = midCol;
|
|
76366
|
-
}
|
|
76367
|
-
else {
|
|
76368
|
-
return midCol;
|
|
76369
|
-
}
|
|
76370
|
-
}
|
|
76371
|
-
return endCol;
|
|
76372
|
-
}
|
|
76373
|
-
return Math.min(Math.ceil(absoluteX / this.internalProps.defaultColWidth), this.colCount - 1);
|
|
76471
|
+
return getTargetRowAtConsiderBottomFrozen(absoluteY, isConsider, this);
|
|
76374
76472
|
}
|
|
76375
76473
|
clearSelected() {
|
|
76376
76474
|
this.stateManager.updateSelectPos(-1, -1);
|
|
76377
76475
|
}
|
|
76378
76476
|
selectCell(col, row, isShift, isCtrl) {
|
|
76477
|
+
const isHasSelected = !!this.stateManager.select.ranges?.length;
|
|
76379
76478
|
this.stateManager.updateSelectPos(col, row, isShift, isCtrl);
|
|
76380
|
-
this.stateManager.endSelectCells();
|
|
76479
|
+
this.stateManager.endSelectCells(true, isHasSelected);
|
|
76381
76480
|
}
|
|
76382
76481
|
selectCells(cellRanges) {
|
|
76383
76482
|
const { scrollLeft, scrollTop } = this;
|
|
@@ -76390,7 +76489,7 @@
|
|
|
76390
76489
|
this.stateManager.updateInteractionState(InteractionState.grabing);
|
|
76391
76490
|
this.stateManager.updateSelectPos(cellRange.end.col, cellRange.end.row, false, index >= 1, false, false, true);
|
|
76392
76491
|
}
|
|
76393
|
-
this.stateManager.endSelectCells(false);
|
|
76492
|
+
this.stateManager.endSelectCells(false, false);
|
|
76394
76493
|
this.stateManager.updateInteractionState(InteractionState.default);
|
|
76395
76494
|
});
|
|
76396
76495
|
this.setScrollTop(scrollTop);
|
|
@@ -78082,8 +78181,10 @@
|
|
|
78082
78181
|
seqId = 0;
|
|
78083
78182
|
_headerObjects;
|
|
78084
78183
|
_headerObjectMap;
|
|
78184
|
+
_headerObjectsIncludeHided;
|
|
78085
78185
|
_headerCellIds;
|
|
78086
78186
|
_columns;
|
|
78187
|
+
_columnsIncludeHided;
|
|
78087
78188
|
rowSeriesNumberColumn;
|
|
78088
78189
|
leftRowSeriesNumberColumn;
|
|
78089
78190
|
rightRowSeriesNumberColumn;
|
|
@@ -78107,11 +78208,15 @@
|
|
|
78107
78208
|
this._showHeader = showHeader;
|
|
78108
78209
|
this._table = table;
|
|
78109
78210
|
this._columns = [];
|
|
78211
|
+
this._columnsIncludeHided = [];
|
|
78110
78212
|
this._headerCellIds = [];
|
|
78111
78213
|
this.hierarchyIndent = hierarchyIndent ?? 20;
|
|
78112
78214
|
this.hierarchyTextStartAlignment = table.options.hierarchyTextStartAlignment;
|
|
78113
78215
|
this.columnTree = new DimensionTree(columns, { seqId: 0 });
|
|
78114
|
-
this.
|
|
78216
|
+
this._headerObjectsIncludeHided = this._addHeaders(0, columns, []);
|
|
78217
|
+
this._headerObjects = this._headerObjectsIncludeHided.filter(col => {
|
|
78218
|
+
return col.define.hide !== true;
|
|
78219
|
+
});
|
|
78115
78220
|
this._headerObjectMap = this._headerObjects.reduce((o, e) => {
|
|
78116
78221
|
o[e.id] = e;
|
|
78117
78222
|
return o;
|
|
@@ -78685,6 +78790,9 @@
|
|
|
78685
78790
|
get columnObjects() {
|
|
78686
78791
|
return this._columns;
|
|
78687
78792
|
}
|
|
78793
|
+
get headerObjectsIncludeHided() {
|
|
78794
|
+
return this._headerObjectsIncludeHided;
|
|
78795
|
+
}
|
|
78688
78796
|
get columnWidths() {
|
|
78689
78797
|
if (this.leftRowSeriesNumberColumnCount) {
|
|
78690
78798
|
const widths = this.leftRowSeriesNumberColumn.map(item => {
|
|
@@ -79033,28 +79141,31 @@
|
|
|
79033
79141
|
this._addHeaders(row + 1, hd.columns, [...roots, id], hd.hideColumnsSubHeader || hideColumnsSubHeader).forEach(c => results.push(c));
|
|
79034
79142
|
}
|
|
79035
79143
|
else {
|
|
79036
|
-
const colDef =
|
|
79037
|
-
this._columns.push({
|
|
79144
|
+
const colDef = {
|
|
79038
79145
|
id: this.seqId++,
|
|
79039
|
-
field:
|
|
79040
|
-
fieldFormat:
|
|
79041
|
-
width:
|
|
79042
|
-
minWidth:
|
|
79043
|
-
maxWidth:
|
|
79044
|
-
icon:
|
|
79045
|
-
cellType:
|
|
79046
|
-
chartModule: 'chartModule' in
|
|
79047
|
-
chartSpec: 'chartSpec' in
|
|
79048
|
-
sparklineSpec: 'sparklineSpec' in
|
|
79049
|
-
style:
|
|
79050
|
-
define:
|
|
79051
|
-
columnWidthComputeMode:
|
|
79052
|
-
disableColumnResize:
|
|
79053
|
-
aggregation: this._getAggregationForColumn(
|
|
79146
|
+
field: hd.field,
|
|
79147
|
+
fieldFormat: hd.fieldFormat,
|
|
79148
|
+
width: hd.width,
|
|
79149
|
+
minWidth: hd.minWidth,
|
|
79150
|
+
maxWidth: hd.maxWidth,
|
|
79151
|
+
icon: hd.icon,
|
|
79152
|
+
cellType: hd.cellType ?? hd.columnType ?? 'text',
|
|
79153
|
+
chartModule: 'chartModule' in hd ? hd.chartModule : null,
|
|
79154
|
+
chartSpec: 'chartSpec' in hd ? hd.chartSpec : null,
|
|
79155
|
+
sparklineSpec: 'sparklineSpec' in hd ? hd.sparklineSpec : DefaultSparklineSpec,
|
|
79156
|
+
style: hd.style,
|
|
79157
|
+
define: hd,
|
|
79158
|
+
columnWidthComputeMode: hd.columnWidthComputeMode,
|
|
79159
|
+
disableColumnResize: hd?.disableColumnResize,
|
|
79160
|
+
aggregation: this._getAggregationForColumn(hd, col),
|
|
79054
79161
|
isChildNode: row >= 1
|
|
79055
|
-
}
|
|
79056
|
-
|
|
79057
|
-
|
|
79162
|
+
};
|
|
79163
|
+
this._columnsIncludeHided.push(colDef);
|
|
79164
|
+
if (hd.hide !== true) {
|
|
79165
|
+
this._columns.push(colDef);
|
|
79166
|
+
for (let r = row + 1; r < this._headerCellIds.length; r++) {
|
|
79167
|
+
this._headerCellIds[r][col] = id;
|
|
79168
|
+
}
|
|
79058
79169
|
}
|
|
79059
79170
|
}
|
|
79060
79171
|
});
|
|
@@ -79593,18 +79704,18 @@
|
|
|
79593
79704
|
}
|
|
79594
79705
|
completeEdit(e) {
|
|
79595
79706
|
if (!this.editingEditor) {
|
|
79596
|
-
return;
|
|
79707
|
+
return true;
|
|
79597
79708
|
}
|
|
79598
79709
|
const target = e?.target;
|
|
79599
79710
|
const { editingEditor: editor } = this;
|
|
79600
79711
|
if (target) {
|
|
79601
79712
|
if (editor.targetIsOnEditor) {
|
|
79602
79713
|
if (editor.targetIsOnEditor(target)) {
|
|
79603
|
-
return;
|
|
79714
|
+
return false;
|
|
79604
79715
|
}
|
|
79605
79716
|
}
|
|
79606
79717
|
else if (!editor.isEditorElement || editor.isEditorElement(target)) {
|
|
79607
|
-
return;
|
|
79718
|
+
return false;
|
|
79608
79719
|
}
|
|
79609
79720
|
}
|
|
79610
79721
|
if (!this.editingEditor.getValue) ;
|
|
@@ -79624,7 +79735,9 @@
|
|
|
79624
79735
|
this.editingEditor.exit?.();
|
|
79625
79736
|
this.editingEditor.onEnd?.();
|
|
79626
79737
|
this.editingEditor = null;
|
|
79738
|
+
return true;
|
|
79627
79739
|
}
|
|
79740
|
+
return false;
|
|
79628
79741
|
}
|
|
79629
79742
|
cancelEdit() {
|
|
79630
79743
|
if (this.editingEditor) {
|
|
@@ -80478,7 +80591,7 @@
|
|
|
80478
80591
|
}
|
|
80479
80592
|
if (order && field && order !== 'normal') {
|
|
80480
80593
|
const sortFunc = this._getSortFuncFromHeaderOption(undefined, field);
|
|
80481
|
-
const hd = this.internalProps.layoutMap.
|
|
80594
|
+
const hd = this.internalProps.layoutMap.headerObjectsIncludeHided.find((col) => col && col.field === field);
|
|
80482
80595
|
if (hd.define.sort !== false) {
|
|
80483
80596
|
this.dataSource.sort(hd.field, order, sortFunc ?? defaultOrderFn);
|
|
80484
80597
|
}
|
|
@@ -81297,58 +81410,54 @@
|
|
|
81297
81410
|
});
|
|
81298
81411
|
}
|
|
81299
81412
|
this.sharedVar.seqId = Math.max(this.sharedVar.seqId, this._headerObjects.length);
|
|
81300
|
-
|
|
81301
|
-
|
|
81413
|
+
let colDimensionKeys = this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr();
|
|
81414
|
+
if (this.dataset &&
|
|
81415
|
+
(this.dataset.records?.length ?? 0) === 0 &&
|
|
81416
|
+
!this.dataset.customColTree &&
|
|
81417
|
+
!this.dataset.customRowTree) {
|
|
81418
|
+
colDimensionKeys = this.columnsDefine.map(define => {
|
|
81419
|
+
if (typeof define === 'string') {
|
|
81420
|
+
return define;
|
|
81421
|
+
}
|
|
81422
|
+
return define.dimensionKey;
|
|
81423
|
+
});
|
|
81424
|
+
if (this.indicatorsAsCol) {
|
|
81425
|
+
colDimensionKeys.push(this.indicatorDimensionKey);
|
|
81426
|
+
}
|
|
81427
|
+
}
|
|
81428
|
+
colDimensionKeys = this.columnHeaderTitle ? [''].concat(colDimensionKeys) : colDimensionKeys;
|
|
81429
|
+
let rowDimensionKeys;
|
|
81430
|
+
let extensionRowDimensions = [];
|
|
81431
|
+
if (this.rowHierarchyType === 'tree' && this.extensionRows?.length >= 1) {
|
|
81432
|
+
const rowTreeFirstKey = [];
|
|
81433
|
+
rowTreeFirstKey.push(this.rowDimensionKeys[0]);
|
|
81434
|
+
this._extensionRowDimensionKeys.forEach(extensionRowKeys => {
|
|
81435
|
+
rowTreeFirstKey.push(extensionRowKeys[0]);
|
|
81436
|
+
});
|
|
81437
|
+
extensionRowDimensions = this.extensionRows.reduce((dimensions, cur) => {
|
|
81438
|
+
return dimensions.concat(cur.rows);
|
|
81439
|
+
}, []);
|
|
81440
|
+
rowDimensionKeys = this.rowHeaderTitle ? [''].concat(rowTreeFirstKey) : rowTreeFirstKey;
|
|
81441
|
+
}
|
|
81442
|
+
else {
|
|
81443
|
+
rowDimensionKeys = this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr();
|
|
81302
81444
|
if (this.dataset &&
|
|
81303
81445
|
(this.dataset.records?.length ?? 0) === 0 &&
|
|
81304
81446
|
!this.dataset.customColTree &&
|
|
81305
81447
|
!this.dataset.customRowTree) {
|
|
81306
|
-
|
|
81448
|
+
rowDimensionKeys = this.rowsDefine.map(define => {
|
|
81307
81449
|
if (typeof define === 'string') {
|
|
81308
81450
|
return define;
|
|
81309
81451
|
}
|
|
81310
81452
|
return define.dimensionKey;
|
|
81311
81453
|
});
|
|
81312
|
-
if (this.indicatorsAsCol) {
|
|
81313
|
-
|
|
81454
|
+
if (!this.indicatorsAsCol) {
|
|
81455
|
+
rowDimensionKeys.push(this.indicatorDimensionKey);
|
|
81314
81456
|
}
|
|
81315
81457
|
}
|
|
81316
|
-
|
|
81317
|
-
}
|
|
81318
|
-
else if (this.cornerSetting.titleOnDimension === 'row') {
|
|
81319
|
-
if (this.rowHierarchyType === 'tree' && this.extensionRows?.length >= 1) {
|
|
81320
|
-
const rowTreeFirstKey = [];
|
|
81321
|
-
rowTreeFirstKey.push(this.rowDimensionKeys[0]);
|
|
81322
|
-
this._extensionRowDimensionKeys.forEach(extensionRowKeys => {
|
|
81323
|
-
rowTreeFirstKey.push(extensionRowKeys[0]);
|
|
81324
|
-
});
|
|
81325
|
-
const extensionRowDimensions = this.extensionRows.reduce((dimensions, cur) => {
|
|
81326
|
-
return dimensions.concat(cur.rows);
|
|
81327
|
-
}, []);
|
|
81328
|
-
this.cornerHeaderObjs = this._addCornerHeaders(this.rowHeaderTitle ? [''].concat(rowTreeFirstKey) : rowTreeFirstKey, this.rowsDefine.concat(extensionRowDimensions));
|
|
81329
|
-
}
|
|
81330
|
-
else {
|
|
81331
|
-
let rowDimensionKeys = this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr();
|
|
81332
|
-
if (this.dataset &&
|
|
81333
|
-
(this.dataset.records?.length ?? 0) === 0 &&
|
|
81334
|
-
!this.dataset.customColTree &&
|
|
81335
|
-
!this.dataset.customRowTree) {
|
|
81336
|
-
rowDimensionKeys = this.rowsDefine.map(define => {
|
|
81337
|
-
if (typeof define === 'string') {
|
|
81338
|
-
return define;
|
|
81339
|
-
}
|
|
81340
|
-
return define.dimensionKey;
|
|
81341
|
-
});
|
|
81342
|
-
if (!this.indicatorsAsCol) {
|
|
81343
|
-
rowDimensionKeys.push(this.indicatorDimensionKey);
|
|
81344
|
-
}
|
|
81345
|
-
}
|
|
81346
|
-
this.cornerHeaderObjs = this._addCornerHeaders(this.rowHeaderTitle ? [''].concat(rowDimensionKeys) : rowDimensionKeys, this.rowsDefine);
|
|
81347
|
-
}
|
|
81348
|
-
}
|
|
81349
|
-
else {
|
|
81350
|
-
this.cornerHeaderObjs = this._addCornerHeaders(null, undefined);
|
|
81458
|
+
rowDimensionKeys = this.rowHeaderTitle ? [''].concat(rowDimensionKeys) : rowDimensionKeys;
|
|
81351
81459
|
}
|
|
81460
|
+
this.cornerHeaderObjs = this._addCornerHeaders(colDimensionKeys, rowDimensionKeys, this.columnsDefine.concat(...this.rowsDefine, ...extensionRowDimensions));
|
|
81352
81461
|
this.colIndex = 0;
|
|
81353
81462
|
this._headerObjectMap = this._headerObjects.reduce((o, e) => {
|
|
81354
81463
|
o[e.id] = e;
|
|
@@ -81581,63 +81690,257 @@
|
|
|
81581
81690
|
dealHeaderForTreeMode(hd, _headerCellIds, results, roots, row, totalLevel, show, dimensions, this);
|
|
81582
81691
|
}
|
|
81583
81692
|
}
|
|
81584
|
-
_addCornerHeaders(
|
|
81693
|
+
_addCornerHeaders(colDimensionKeys, rowDimensionKeys, dimensions) {
|
|
81585
81694
|
const results = [];
|
|
81586
|
-
if (
|
|
81587
|
-
|
|
81588
|
-
|
|
81589
|
-
|
|
81590
|
-
|
|
81591
|
-
|
|
81592
|
-
|
|
81593
|
-
|
|
81594
|
-
|
|
81595
|
-
|
|
81596
|
-
|
|
81597
|
-
|
|
81598
|
-
|
|
81599
|
-
|
|
81600
|
-
|
|
81601
|
-
|
|
81602
|
-
|
|
81603
|
-
|
|
81604
|
-
|
|
81695
|
+
if (this.cornerSetting.titleOnDimension === 'all') {
|
|
81696
|
+
if (this.indicatorsAsCol) {
|
|
81697
|
+
let indicatorAtIndex = -1;
|
|
81698
|
+
if (colDimensionKeys) {
|
|
81699
|
+
colDimensionKeys.forEach((dimensionKey, key) => {
|
|
81700
|
+
if (dimensionKey === this.indicatorDimensionKey) {
|
|
81701
|
+
indicatorAtIndex = key;
|
|
81702
|
+
}
|
|
81703
|
+
const id = ++this.sharedVar.seqId;
|
|
81704
|
+
const dimensionInfo = dimensions.find(dimension => typeof dimension === 'string' ? false : dimension.dimensionKey === dimensionKey);
|
|
81705
|
+
const cell = {
|
|
81706
|
+
id,
|
|
81707
|
+
title: dimensionKey === this.indicatorDimensionKey
|
|
81708
|
+
? this.indicatorTitle
|
|
81709
|
+
: dimensionInfo
|
|
81710
|
+
? dimensionInfo.title
|
|
81711
|
+
: dimensionKey === 'axis'
|
|
81712
|
+
? ''
|
|
81713
|
+
: dimensionKey,
|
|
81714
|
+
field: dimensionKey,
|
|
81715
|
+
style: this.cornerSetting.headerStyle,
|
|
81716
|
+
headerType: this.cornerSetting.headerType ?? 'text',
|
|
81717
|
+
showSort: dimensionInfo?.showSortInCorner,
|
|
81718
|
+
sort: dimensionInfo?.sort,
|
|
81719
|
+
define: {
|
|
81720
|
+
showSort: dimensionInfo?.showSortInCorner,
|
|
81721
|
+
sort: dimensionInfo?.sort,
|
|
81722
|
+
dimensionKey: dimensionKey,
|
|
81723
|
+
id,
|
|
81724
|
+
value: dimensionKey,
|
|
81725
|
+
headerEditor: this.cornerSetting.headerEditor,
|
|
81726
|
+
disableHeaderHover: !!this.cornerSetting.disableHeaderHover,
|
|
81727
|
+
disableHeaderSelect: !!this.cornerSetting.disableHeaderSelect
|
|
81728
|
+
},
|
|
81729
|
+
dropDownMenu: dimensionInfo?.cornerDropDownMenu,
|
|
81730
|
+
pivotInfo: {
|
|
81731
|
+
value: dimensionInfo?.title ?? '',
|
|
81732
|
+
dimensionKey,
|
|
81733
|
+
isPivotCorner: true
|
|
81734
|
+
},
|
|
81735
|
+
description: dimensionInfo?.cornerDescription
|
|
81736
|
+
};
|
|
81737
|
+
results[id] = cell;
|
|
81738
|
+
this._headerObjects[id] = cell;
|
|
81739
|
+
if (!this._cornerHeaderCellFullPathIds[key]) {
|
|
81740
|
+
this._cornerHeaderCellFullPathIds[key] = [];
|
|
81741
|
+
}
|
|
81742
|
+
for (let r = 0; r < this.rowHeaderLevelCount; r++) {
|
|
81743
|
+
this._cornerHeaderCellFullPathIds[key][r] = id;
|
|
81744
|
+
}
|
|
81745
|
+
});
|
|
81746
|
+
}
|
|
81747
|
+
if (rowDimensionKeys) {
|
|
81748
|
+
rowDimensionKeys.forEach((dimensionKey, key) => {
|
|
81749
|
+
const id = ++this.sharedVar.seqId;
|
|
81750
|
+
const dimensionInfo = dimensions.find(dimension => typeof dimension === 'string' ? false : dimension.dimensionKey === dimensionKey);
|
|
81751
|
+
const cell = {
|
|
81752
|
+
id,
|
|
81753
|
+
title: dimensionKey === this.indicatorDimensionKey
|
|
81754
|
+
? this.indicatorTitle
|
|
81755
|
+
: dimensionInfo
|
|
81756
|
+
? dimensionInfo.title
|
|
81757
|
+
: dimensionKey === 'axis'
|
|
81758
|
+
? ''
|
|
81759
|
+
: dimensionKey,
|
|
81760
|
+
field: dimensionKey,
|
|
81761
|
+
style: this.cornerSetting.headerStyle,
|
|
81762
|
+
headerType: this.cornerSetting.headerType ?? 'text',
|
|
81763
|
+
showSort: dimensionInfo?.showSortInCorner,
|
|
81764
|
+
sort: dimensionInfo?.sort,
|
|
81765
|
+
define: {
|
|
81766
|
+
showSort: dimensionInfo?.showSortInCorner,
|
|
81767
|
+
sort: dimensionInfo?.sort,
|
|
81768
|
+
dimensionKey: dimensionKey,
|
|
81769
|
+
id,
|
|
81770
|
+
value: dimensionKey,
|
|
81771
|
+
headerEditor: this.cornerSetting.headerEditor,
|
|
81772
|
+
disableHeaderHover: !!this.cornerSetting.disableHeaderHover,
|
|
81773
|
+
disableHeaderSelect: !!this.cornerSetting.disableHeaderSelect
|
|
81774
|
+
},
|
|
81775
|
+
dropDownMenu: dimensionInfo?.cornerDropDownMenu,
|
|
81776
|
+
pivotInfo: {
|
|
81777
|
+
value: dimensionInfo?.title ?? '',
|
|
81778
|
+
dimensionKey,
|
|
81779
|
+
isPivotCorner: true
|
|
81780
|
+
},
|
|
81781
|
+
description: dimensionInfo?.cornerDescription
|
|
81782
|
+
};
|
|
81783
|
+
results[id] = cell;
|
|
81784
|
+
this._headerObjects[id] = cell;
|
|
81785
|
+
if (!this._cornerHeaderCellFullPathIds[indicatorAtIndex]) {
|
|
81786
|
+
this._cornerHeaderCellFullPathIds[indicatorAtIndex] = [];
|
|
81787
|
+
}
|
|
81788
|
+
this._cornerHeaderCellFullPathIds[indicatorAtIndex][key] = id;
|
|
81789
|
+
});
|
|
81790
|
+
}
|
|
81791
|
+
}
|
|
81792
|
+
else {
|
|
81793
|
+
let indicatorAtIndex = -1;
|
|
81794
|
+
if (rowDimensionKeys) {
|
|
81795
|
+
rowDimensionKeys.forEach((dimensionKey, key) => {
|
|
81796
|
+
if (dimensionKey === this.indicatorDimensionKey) {
|
|
81797
|
+
indicatorAtIndex = key;
|
|
81798
|
+
}
|
|
81799
|
+
const id = ++this.sharedVar.seqId;
|
|
81800
|
+
const dimensionInfo = dimensions.find(dimension => typeof dimension === 'string' ? false : dimension.dimensionKey === dimensionKey);
|
|
81801
|
+
const cell = {
|
|
81802
|
+
id,
|
|
81803
|
+
title: dimensionKey === this.indicatorDimensionKey
|
|
81804
|
+
? this.indicatorTitle
|
|
81805
|
+
: dimensionInfo
|
|
81806
|
+
? dimensionInfo.title
|
|
81807
|
+
: dimensionKey === 'axis'
|
|
81808
|
+
? ''
|
|
81809
|
+
: dimensionKey,
|
|
81810
|
+
field: dimensionKey,
|
|
81811
|
+
style: this.cornerSetting.headerStyle,
|
|
81812
|
+
headerType: this.cornerSetting.headerType ?? 'text',
|
|
81813
|
+
showSort: dimensionInfo?.showSortInCorner,
|
|
81814
|
+
sort: dimensionInfo?.sort,
|
|
81815
|
+
define: {
|
|
81816
|
+
showSort: dimensionInfo?.showSortInCorner,
|
|
81817
|
+
sort: dimensionInfo?.sort,
|
|
81818
|
+
dimensionKey: dimensionKey,
|
|
81819
|
+
id,
|
|
81820
|
+
value: dimensionKey,
|
|
81821
|
+
headerEditor: this.cornerSetting.headerEditor,
|
|
81822
|
+
disableHeaderHover: !!this.cornerSetting.disableHeaderHover,
|
|
81823
|
+
disableHeaderSelect: !!this.cornerSetting.disableHeaderSelect
|
|
81824
|
+
},
|
|
81825
|
+
dropDownMenu: dimensionInfo?.cornerDropDownMenu,
|
|
81826
|
+
pivotInfo: {
|
|
81827
|
+
value: dimensionInfo?.title ?? '',
|
|
81828
|
+
dimensionKey,
|
|
81829
|
+
isPivotCorner: true
|
|
81830
|
+
},
|
|
81831
|
+
description: dimensionInfo?.cornerDescription
|
|
81832
|
+
};
|
|
81833
|
+
results[id] = cell;
|
|
81834
|
+
this._headerObjects[id] = cell;
|
|
81835
|
+
for (let r = 0; r < this.columnHeaderLevelCount; r++) {
|
|
81836
|
+
if (!this._cornerHeaderCellFullPathIds[r]) {
|
|
81837
|
+
this._cornerHeaderCellFullPathIds[r] = [];
|
|
81838
|
+
}
|
|
81839
|
+
this._cornerHeaderCellFullPathIds[r][key] = id;
|
|
81840
|
+
}
|
|
81841
|
+
});
|
|
81842
|
+
}
|
|
81843
|
+
if (colDimensionKeys) {
|
|
81844
|
+
colDimensionKeys.forEach((dimensionKey, key) => {
|
|
81845
|
+
const id = ++this.sharedVar.seqId;
|
|
81846
|
+
const dimensionInfo = dimensions.find(dimension => typeof dimension === 'string' ? false : dimension.dimensionKey === dimensionKey);
|
|
81847
|
+
const cell = {
|
|
81848
|
+
id,
|
|
81849
|
+
title: dimensionKey === this.indicatorDimensionKey
|
|
81850
|
+
? this.indicatorTitle
|
|
81851
|
+
: dimensionInfo
|
|
81852
|
+
? dimensionInfo.title
|
|
81853
|
+
: dimensionKey === 'axis'
|
|
81854
|
+
? ''
|
|
81855
|
+
: dimensionKey,
|
|
81856
|
+
field: dimensionKey,
|
|
81857
|
+
style: this.cornerSetting.headerStyle,
|
|
81858
|
+
headerType: this.cornerSetting.headerType ?? 'text',
|
|
81859
|
+
showSort: dimensionInfo?.showSortInCorner,
|
|
81860
|
+
sort: dimensionInfo?.sort,
|
|
81861
|
+
define: {
|
|
81862
|
+
showSort: dimensionInfo?.showSortInCorner,
|
|
81863
|
+
sort: dimensionInfo?.sort,
|
|
81864
|
+
dimensionKey: dimensionKey,
|
|
81865
|
+
id,
|
|
81866
|
+
value: dimensionKey,
|
|
81867
|
+
headerEditor: this.cornerSetting.headerEditor,
|
|
81868
|
+
disableHeaderHover: !!this.cornerSetting.disableHeaderHover,
|
|
81869
|
+
disableHeaderSelect: !!this.cornerSetting.disableHeaderSelect
|
|
81870
|
+
},
|
|
81871
|
+
dropDownMenu: dimensionInfo?.cornerDropDownMenu,
|
|
81872
|
+
pivotInfo: {
|
|
81873
|
+
value: dimensionInfo?.title ?? '',
|
|
81874
|
+
dimensionKey,
|
|
81875
|
+
isPivotCorner: true
|
|
81876
|
+
},
|
|
81877
|
+
description: dimensionInfo?.cornerDescription
|
|
81878
|
+
};
|
|
81879
|
+
results[id] = cell;
|
|
81880
|
+
this._headerObjects[id] = cell;
|
|
81881
|
+
this._cornerHeaderCellFullPathIds[key][indicatorAtIndex] = id;
|
|
81882
|
+
});
|
|
81883
|
+
}
|
|
81884
|
+
}
|
|
81885
|
+
}
|
|
81886
|
+
else if (this.cornerSetting.titleOnDimension === 'row' || this.cornerSetting.titleOnDimension === 'column') {
|
|
81887
|
+
const dimensionKeys = this.cornerSetting?.titleOnDimension === 'row' ? rowDimensionKeys : colDimensionKeys;
|
|
81888
|
+
if (dimensionKeys) {
|
|
81889
|
+
dimensionKeys.forEach((dimensionKey, key) => {
|
|
81890
|
+
const id = ++this.sharedVar.seqId;
|
|
81891
|
+
const dimensionInfo = dimensions.find(dimension => typeof dimension === 'string' ? false : dimension.dimensionKey === dimensionKey);
|
|
81892
|
+
const cell = {
|
|
81893
|
+
id,
|
|
81894
|
+
title: dimensionKey === this.indicatorDimensionKey
|
|
81895
|
+
? this.indicatorTitle
|
|
81896
|
+
: dimensionInfo
|
|
81897
|
+
? dimensionInfo.title
|
|
81898
|
+
: dimensionKey === 'axis'
|
|
81899
|
+
? ''
|
|
81900
|
+
: dimensionKey,
|
|
81901
|
+
field: dimensionKey,
|
|
81902
|
+
style: this.cornerSetting.headerStyle,
|
|
81903
|
+
headerType: this.cornerSetting.headerType ?? 'text',
|
|
81605
81904
|
showSort: dimensionInfo?.showSortInCorner,
|
|
81606
81905
|
sort: dimensionInfo?.sort,
|
|
81607
|
-
|
|
81608
|
-
|
|
81609
|
-
|
|
81610
|
-
|
|
81611
|
-
|
|
81612
|
-
|
|
81613
|
-
|
|
81614
|
-
|
|
81615
|
-
|
|
81616
|
-
|
|
81617
|
-
|
|
81618
|
-
|
|
81619
|
-
|
|
81620
|
-
|
|
81621
|
-
|
|
81622
|
-
|
|
81623
|
-
|
|
81624
|
-
|
|
81625
|
-
|
|
81626
|
-
|
|
81627
|
-
|
|
81628
|
-
|
|
81629
|
-
|
|
81906
|
+
define: {
|
|
81907
|
+
showSort: dimensionInfo?.showSortInCorner,
|
|
81908
|
+
sort: dimensionInfo?.sort,
|
|
81909
|
+
dimensionKey: dimensionKey,
|
|
81910
|
+
id,
|
|
81911
|
+
value: dimensionKey,
|
|
81912
|
+
headerEditor: this.cornerSetting.headerEditor,
|
|
81913
|
+
disableHeaderHover: !!this.cornerSetting.disableHeaderHover,
|
|
81914
|
+
disableHeaderSelect: !!this.cornerSetting.disableHeaderSelect
|
|
81915
|
+
},
|
|
81916
|
+
dropDownMenu: dimensionInfo?.cornerDropDownMenu,
|
|
81917
|
+
pivotInfo: {
|
|
81918
|
+
value: dimensionInfo?.title ?? '',
|
|
81919
|
+
dimensionKey,
|
|
81920
|
+
isPivotCorner: true
|
|
81921
|
+
},
|
|
81922
|
+
description: dimensionInfo?.cornerDescription
|
|
81923
|
+
};
|
|
81924
|
+
results[id] = cell;
|
|
81925
|
+
this._headerObjects[id] = cell;
|
|
81926
|
+
if (this.cornerSetting.titleOnDimension === 'column') {
|
|
81927
|
+
if (!this._cornerHeaderCellFullPathIds[key]) {
|
|
81928
|
+
this._cornerHeaderCellFullPathIds[key] = [];
|
|
81929
|
+
}
|
|
81930
|
+
for (let r = 0; r < this.rowHeaderLevelCount; r++) {
|
|
81931
|
+
this._cornerHeaderCellFullPathIds[key][r] = id;
|
|
81932
|
+
}
|
|
81630
81933
|
}
|
|
81631
|
-
|
|
81632
|
-
|
|
81633
|
-
|
|
81634
|
-
|
|
81635
|
-
|
|
81934
|
+
else if (this.cornerSetting.titleOnDimension === 'row') {
|
|
81935
|
+
for (let r = 0; r < this.columnHeaderLevelCount; r++) {
|
|
81936
|
+
if (!this._cornerHeaderCellFullPathIds[r]) {
|
|
81937
|
+
this._cornerHeaderCellFullPathIds[r] = [];
|
|
81938
|
+
}
|
|
81939
|
+
this._cornerHeaderCellFullPathIds[r][key] = id;
|
|
81636
81940
|
}
|
|
81637
|
-
this._cornerHeaderCellFullPathIds[r][key] = id;
|
|
81638
81941
|
}
|
|
81639
|
-
}
|
|
81640
|
-
}
|
|
81942
|
+
});
|
|
81943
|
+
}
|
|
81641
81944
|
}
|
|
81642
81945
|
else {
|
|
81643
81946
|
const id = ++this.sharedVar.seqId;
|
|
@@ -82038,7 +82341,8 @@
|
|
|
82038
82341
|
if (this.cornerSetting.titleOnDimension === 'row') {
|
|
82039
82342
|
count = 1;
|
|
82040
82343
|
}
|
|
82041
|
-
else if ((this.dataset.records?.length ?? 0) === 0 &&
|
|
82344
|
+
else if ((this.dataset.records?.length ?? 0) === 0 &&
|
|
82345
|
+
(this.cornerSetting.titleOnDimension === 'column' || this.cornerSetting.titleOnDimension === 'all')) {
|
|
82042
82346
|
count = this.columnsDefine.length ?? 0;
|
|
82043
82347
|
}
|
|
82044
82348
|
}
|
|
@@ -82046,7 +82350,7 @@
|
|
|
82046
82350
|
(this.dataset.records?.length ?? 0) === 0 &&
|
|
82047
82351
|
!this.dataset.customColTree &&
|
|
82048
82352
|
!this.dataset.customRowTree) {
|
|
82049
|
-
if (this.cornerSetting.titleOnDimension === 'column') {
|
|
82353
|
+
if (this.cornerSetting.titleOnDimension === 'column' || this.cornerSetting.titleOnDimension === 'all') {
|
|
82050
82354
|
count = this.columnsDefine.length ?? 0;
|
|
82051
82355
|
if (!this.hideIndicatorName && this.indicatorsAsCol) {
|
|
82052
82356
|
count++;
|
|
@@ -82084,7 +82388,8 @@
|
|
|
82084
82388
|
if (this.cornerSetting.titleOnDimension === 'column') {
|
|
82085
82389
|
count = 1;
|
|
82086
82390
|
}
|
|
82087
|
-
else if ((this.dataset.records?.length ?? 0) === 0 &&
|
|
82391
|
+
else if ((this.dataset.records?.length ?? 0) === 0 &&
|
|
82392
|
+
(this.cornerSetting.titleOnDimension === 'row' || this.cornerSetting.titleOnDimension === 'all')) {
|
|
82088
82393
|
count = this.rowsDefine.length ?? 0;
|
|
82089
82394
|
}
|
|
82090
82395
|
}
|
|
@@ -82092,7 +82397,7 @@
|
|
|
82092
82397
|
(this.dataset.records?.length ?? 0) === 0 &&
|
|
82093
82398
|
!this.dataset.customColTree &&
|
|
82094
82399
|
!this.dataset.customRowTree) {
|
|
82095
|
-
if (this.cornerSetting.titleOnDimension === 'row') {
|
|
82400
|
+
if (this.cornerSetting.titleOnDimension === 'row' || this.cornerSetting.titleOnDimension === 'all') {
|
|
82096
82401
|
count = this.rowsDefine.length;
|
|
82097
82402
|
if (!this.hideIndicatorName && !this.indicatorsAsCol) {
|
|
82098
82403
|
count++;
|
|
@@ -85715,7 +86020,11 @@
|
|
|
85715
86020
|
const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);
|
|
85716
86021
|
if (cellDimensionPath) {
|
|
85717
86022
|
let indicatorPosition;
|
|
85718
|
-
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86023
|
+
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86024
|
+
?.filter((path) => {
|
|
86025
|
+
return !path.virtual;
|
|
86026
|
+
})
|
|
86027
|
+
.map((colPath, index) => {
|
|
85719
86028
|
if (colPath.indicatorKey) {
|
|
85720
86029
|
indicatorPosition = {
|
|
85721
86030
|
position: 'col',
|
|
@@ -85724,7 +86033,11 @@
|
|
|
85724
86033
|
}
|
|
85725
86034
|
return colPath.indicatorKey ?? colPath.value;
|
|
85726
86035
|
});
|
|
85727
|
-
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86036
|
+
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86037
|
+
?.filter((path) => {
|
|
86038
|
+
return !path.virtual;
|
|
86039
|
+
})
|
|
86040
|
+
.map((rowPath, index) => {
|
|
85728
86041
|
if (rowPath.indicatorKey) {
|
|
85729
86042
|
indicatorPosition = {
|
|
85730
86043
|
position: 'row',
|
|
@@ -85850,7 +86163,11 @@
|
|
|
85850
86163
|
else if (this.dataset) {
|
|
85851
86164
|
let indicatorPosition;
|
|
85852
86165
|
const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);
|
|
85853
|
-
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86166
|
+
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86167
|
+
?.filter((path) => {
|
|
86168
|
+
return !path.virtual;
|
|
86169
|
+
})
|
|
86170
|
+
.map((colPath, index) => {
|
|
85854
86171
|
if (colPath.indicatorKey) {
|
|
85855
86172
|
indicatorPosition = {
|
|
85856
86173
|
position: 'col',
|
|
@@ -85859,7 +86176,11 @@
|
|
|
85859
86176
|
}
|
|
85860
86177
|
return colPath.indicatorKey ?? colPath.value;
|
|
85861
86178
|
});
|
|
85862
|
-
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86179
|
+
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86180
|
+
?.filter((path) => {
|
|
86181
|
+
return !path.virtual;
|
|
86182
|
+
})
|
|
86183
|
+
.map((rowPath, index) => {
|
|
85863
86184
|
if (rowPath.indicatorKey) {
|
|
85864
86185
|
indicatorPosition = {
|
|
85865
86186
|
position: 'row',
|
|
@@ -85898,7 +86219,11 @@
|
|
|
85898
86219
|
else if (this.dataset) {
|
|
85899
86220
|
let indicatorPosition;
|
|
85900
86221
|
const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);
|
|
85901
|
-
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86222
|
+
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86223
|
+
?.filter((path) => {
|
|
86224
|
+
return !path.virtual;
|
|
86225
|
+
})
|
|
86226
|
+
.map((colPath, index) => {
|
|
85902
86227
|
if (colPath.indicatorKey) {
|
|
85903
86228
|
indicatorPosition = {
|
|
85904
86229
|
position: 'col',
|
|
@@ -85907,7 +86232,11 @@
|
|
|
85907
86232
|
}
|
|
85908
86233
|
return colPath.indicatorKey ?? colPath.value;
|
|
85909
86234
|
});
|
|
85910
|
-
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86235
|
+
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86236
|
+
?.filter((path) => {
|
|
86237
|
+
return !path.virtual;
|
|
86238
|
+
})
|
|
86239
|
+
.map((rowPath, index) => {
|
|
85911
86240
|
if (rowPath.indicatorKey) {
|
|
85912
86241
|
indicatorPosition = {
|
|
85913
86242
|
position: 'row',
|
|
@@ -85945,7 +86274,11 @@
|
|
|
85945
86274
|
else if (this.dataset) {
|
|
85946
86275
|
let indicatorPosition;
|
|
85947
86276
|
const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);
|
|
85948
|
-
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86277
|
+
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86278
|
+
?.filter((path) => {
|
|
86279
|
+
return !path.virtual;
|
|
86280
|
+
})
|
|
86281
|
+
.map((colPath, index) => {
|
|
85949
86282
|
if (colPath.indicatorKey) {
|
|
85950
86283
|
indicatorPosition = {
|
|
85951
86284
|
position: 'col',
|
|
@@ -85954,7 +86287,11 @@
|
|
|
85954
86287
|
}
|
|
85955
86288
|
return colPath.indicatorKey ?? colPath.value;
|
|
85956
86289
|
});
|
|
85957
|
-
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86290
|
+
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86291
|
+
?.filter((path) => {
|
|
86292
|
+
return !path.virtual;
|
|
86293
|
+
})
|
|
86294
|
+
.map((rowPath, index) => {
|
|
85958
86295
|
if (rowPath.indicatorKey) {
|
|
85959
86296
|
indicatorPosition = {
|
|
85960
86297
|
position: 'row',
|
|
@@ -85992,7 +86329,11 @@
|
|
|
85992
86329
|
else if (this.dataset) {
|
|
85993
86330
|
let indicatorPosition;
|
|
85994
86331
|
const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);
|
|
85995
|
-
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86332
|
+
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86333
|
+
?.filter((path) => {
|
|
86334
|
+
return !path.virtual;
|
|
86335
|
+
})
|
|
86336
|
+
.map((colPath, index) => {
|
|
85996
86337
|
if (colPath.indicatorKey) {
|
|
85997
86338
|
indicatorPosition = {
|
|
85998
86339
|
position: 'col',
|
|
@@ -86001,7 +86342,11 @@
|
|
|
86001
86342
|
}
|
|
86002
86343
|
return colPath.indicatorKey ?? colPath.value;
|
|
86003
86344
|
});
|
|
86004
|
-
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86345
|
+
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86346
|
+
?.filter((path) => {
|
|
86347
|
+
return !path.virtual;
|
|
86348
|
+
})
|
|
86349
|
+
.map((rowPath, index) => {
|
|
86005
86350
|
if (rowPath.indicatorKey) {
|
|
86006
86351
|
indicatorPosition = {
|
|
86007
86352
|
position: 'row',
|
|
@@ -86643,10 +86988,18 @@
|
|
|
86643
86988
|
cellDimensionPath.rowHeaderPaths[cellDimensionPath.rowHeaderPaths.length - 1].dimensionKey, oldValue, newValue);
|
|
86644
86989
|
}
|
|
86645
86990
|
else {
|
|
86646
|
-
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86991
|
+
const colKeys = cellDimensionPath.colHeaderPaths
|
|
86992
|
+
?.filter((path) => {
|
|
86993
|
+
return !path.virtual;
|
|
86994
|
+
})
|
|
86995
|
+
.map((colPath) => {
|
|
86647
86996
|
return colPath.indicatorKey ?? colPath.value;
|
|
86648
86997
|
});
|
|
86649
|
-
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86998
|
+
const rowKeys = cellDimensionPath.rowHeaderPaths
|
|
86999
|
+
?.filter((path) => {
|
|
87000
|
+
return !path.virtual;
|
|
87001
|
+
})
|
|
87002
|
+
.map((rowPath) => {
|
|
86650
87003
|
return rowPath.indicatorKey ?? rowPath.value;
|
|
86651
87004
|
});
|
|
86652
87005
|
this.dataset.changeTreeNodeValue(!this.internalProps.layoutMap.indicatorsAsCol ? rowKeys.slice(0, -1) : rowKeys, this.internalProps.layoutMap.indicatorsAsCol ? colKeys.slice(0, -1) : colKeys, this.internalProps.layoutMap.getIndicatorKey(col, row), newValue);
|
|
@@ -88335,7 +88688,7 @@
|
|
|
88335
88688
|
}
|
|
88336
88689
|
|
|
88337
88690
|
registerForVrender();
|
|
88338
|
-
const version = "1.4.2
|
|
88691
|
+
const version = "1.4.2";
|
|
88339
88692
|
function getIcons() {
|
|
88340
88693
|
return get$2();
|
|
88341
88694
|
}
|