@visactor/vtable 1.1.3-alpha.2 → 1.2.0-alpha.1
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/core/BaseTable.d.ts +1 -0
- package/cjs/core/BaseTable.js +6 -3
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/event/util.d.ts +1 -0
- package/cjs/event/util.js +3 -2
- package/cjs/event/util.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/plugins/custom-cell-style.d.ts +1 -0
- package/cjs/plugins/custom-cell-style.js +6 -2
- package/cjs/plugins/custom-cell-style.js.map +1 -1
- package/cjs/scenegraph/animation/appear.d.ts +2 -0
- package/cjs/scenegraph/animation/appear.js +26 -0
- package/cjs/scenegraph/animation/appear.js.map +1 -0
- package/cjs/scenegraph/component/custom.d.ts +5 -2
- package/cjs/scenegraph/component/custom.js +36 -8
- package/cjs/scenegraph/component/custom.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +33 -22
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +6 -5
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
- package/cjs/scenegraph/layout/compute-col-width.js +2 -2
- package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +13 -3
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.js +13 -3
- package/cjs/scenegraph/layout/update-width.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +8 -5
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/utils/break-string.d.ts +4 -1
- package/cjs/scenegraph/utils/break-string.js +8 -4
- package/cjs/scenegraph/utils/break-string.js.map +1 -1
- package/cjs/scenegraph/utils/text-icon-layout.js +4 -2
- package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/cjs/state/select/is-cell-select-highlight.d.ts +5 -0
- package/cjs/state/select/is-cell-select-highlight.js +51 -0
- package/cjs/state/select/is-cell-select-highlight.js.map +1 -0
- package/cjs/state/select/update-position.js +10 -5
- package/cjs/state/select/update-position.js.map +1 -1
- package/cjs/state/state.js +4 -3
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/DEFAULT.js +0 -2
- package/cjs/themes/DEFAULT.js.map +1 -1
- package/cjs/themes/theme.js +37 -1
- package/cjs/themes/theme.js.map +1 -1
- package/cjs/ts-types/animation/appear.d.ts +6 -0
- package/cjs/ts-types/animation/appear.js +6 -0
- package/cjs/ts-types/animation/appear.js.map +1 -0
- package/cjs/ts-types/base-table.d.ts +4 -0
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +5 -1
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/ts-types/theme.d.ts +6 -0
- package/cjs/ts-types/theme.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +428 -96
- package/dist/vtable.min.js +2 -2
- package/es/core/BaseTable.d.ts +1 -0
- package/es/core/BaseTable.js +6 -3
- package/es/core/BaseTable.js.map +1 -1
- package/es/event/util.d.ts +1 -0
- package/es/event/util.js +1 -1
- package/es/event/util.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/plugins/custom-cell-style.d.ts +1 -0
- package/es/plugins/custom-cell-style.js +6 -2
- package/es/plugins/custom-cell-style.js.map +1 -1
- package/es/scenegraph/animation/appear.d.ts +2 -0
- package/es/scenegraph/animation/appear.js +20 -0
- package/es/scenegraph/animation/appear.js.map +1 -0
- package/es/scenegraph/component/custom.d.ts +5 -2
- package/es/scenegraph/component/custom.js +38 -4
- package/es/scenegraph/component/custom.js.map +1 -1
- package/es/scenegraph/graphic/contributions/group-contribution-render.js +34 -21
- package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +5 -4
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/column-helper.js +1 -1
- package/es/scenegraph/group-creater/column-helper.js.map +1 -1
- package/es/scenegraph/layout/compute-col-width.js +2 -2
- package/es/scenegraph/layout/compute-col-width.js.map +1 -1
- package/es/scenegraph/layout/compute-row-height.js +1 -1
- package/es/scenegraph/layout/compute-row-height.js.map +1 -1
- package/es/scenegraph/layout/update-height.js +13 -4
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-width.js +13 -4
- package/es/scenegraph/layout/update-width.js.map +1 -1
- package/es/scenegraph/scenegraph.js +9 -5
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/utils/break-string.d.ts +4 -1
- package/es/scenegraph/utils/break-string.js +9 -3
- package/es/scenegraph/utils/break-string.js.map +1 -1
- package/es/scenegraph/utils/text-icon-layout.js +4 -2
- package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/es/state/select/is-cell-select-highlight.d.ts +5 -0
- package/es/state/select/is-cell-select-highlight.js +46 -0
- package/es/state/select/is-cell-select-highlight.js.map +1 -0
- package/es/state/select/update-position.js +10 -5
- package/es/state/select/update-position.js.map +1 -1
- package/es/state/state.js +4 -3
- package/es/state/state.js.map +1 -1
- package/es/themes/DEFAULT.js +0 -2
- package/es/themes/DEFAULT.js.map +1 -1
- package/es/themes/theme.js +33 -1
- package/es/themes/theme.js.map +1 -1
- package/es/ts-types/animation/appear.d.ts +6 -0
- package/es/ts-types/animation/appear.js +2 -0
- package/es/ts-types/animation/appear.js.map +1 -0
- package/es/ts-types/base-table.d.ts +4 -0
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +5 -1
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/ts-types/theme.d.ts +6 -0
- package/es/ts-types/theme.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +2 -2
package/dist/vtable.js
CHANGED
|
@@ -24538,8 +24538,6 @@
|
|
|
24538
24538
|
selectionStyle: {
|
|
24539
24539
|
cellBgColor: 'rgba(0, 0, 255,0.1)',
|
|
24540
24540
|
cellBorderLineWidth: 2,
|
|
24541
|
-
inlineColumnBgColor: '#CCE0FF',
|
|
24542
|
-
inlineRowBgColor: '#CCE0FF',
|
|
24543
24541
|
cellBorderColor: '#0000ff'
|
|
24544
24542
|
},
|
|
24545
24543
|
tooltipStyle: {
|
|
@@ -24722,6 +24720,7 @@
|
|
|
24722
24720
|
return getProp$1(obj, superTheme, ['_contentOffset']) ?? 0;
|
|
24723
24721
|
}
|
|
24724
24722
|
get defaultStyle() {
|
|
24723
|
+
const that = this;
|
|
24725
24724
|
if (!this._defaultStyle) {
|
|
24726
24725
|
const { obj, superTheme } = this.internalTheme;
|
|
24727
24726
|
const defaultStyle = ingoreNoneValueMerge({}, superTheme.defaultStyle, obj.defaultStyle);
|
|
@@ -24780,6 +24779,29 @@
|
|
|
24780
24779
|
}
|
|
24781
24780
|
return undefined;
|
|
24782
24781
|
},
|
|
24782
|
+
get select() {
|
|
24783
|
+
if (defaultStyle.select) {
|
|
24784
|
+
return {
|
|
24785
|
+
get inlineColumnBgColor() {
|
|
24786
|
+
return (defaultStyle.select?.inlineColumnBgColor ??
|
|
24787
|
+
that.selectionStyle?.inlineColumnBgColor ??
|
|
24788
|
+
(that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'
|
|
24789
|
+
? changeColor(that.selectionStyle.cellBgColor, 0.1, false)
|
|
24790
|
+
: undefined) ??
|
|
24791
|
+
undefined);
|
|
24792
|
+
},
|
|
24793
|
+
get inlineRowBgColor() {
|
|
24794
|
+
return (defaultStyle.select?.inlineRowBgColor ??
|
|
24795
|
+
that.selectionStyle.inlineRowBgColor ??
|
|
24796
|
+
(that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'
|
|
24797
|
+
? changeColor(that.selectionStyle.cellBgColor, 0.1, false)
|
|
24798
|
+
: undefined) ??
|
|
24799
|
+
undefined);
|
|
24800
|
+
}
|
|
24801
|
+
};
|
|
24802
|
+
}
|
|
24803
|
+
return undefined;
|
|
24804
|
+
},
|
|
24783
24805
|
get padding() {
|
|
24784
24806
|
return defaultStyle.padding ?? [10, 16, 10, 16];
|
|
24785
24807
|
},
|
|
@@ -25123,6 +25145,12 @@
|
|
|
25123
25145
|
},
|
|
25124
25146
|
get cellBorderLineWidth() {
|
|
25125
25147
|
return selectionStyle?.cellBorderLineWidth ?? 2;
|
|
25148
|
+
},
|
|
25149
|
+
get inlineColumnBgColor() {
|
|
25150
|
+
return selectionStyle?.inlineColumnBgColor;
|
|
25151
|
+
},
|
|
25152
|
+
get inlineRowBgColor() {
|
|
25153
|
+
return selectionStyle?.inlineRowBgColor;
|
|
25126
25154
|
}
|
|
25127
25155
|
};
|
|
25128
25156
|
}
|
|
@@ -25165,9 +25193,10 @@
|
|
|
25165
25193
|
return hasThemeProperty(obj, names) || hasThemeProperty(superTheme, names);
|
|
25166
25194
|
}
|
|
25167
25195
|
extends(obj) {
|
|
25168
|
-
return new TableTheme(obj, this);
|
|
25196
|
+
return new TableTheme(obj, this.internalTheme.superTheme || this.internalTheme.obj);
|
|
25169
25197
|
}
|
|
25170
25198
|
getStyle(style) {
|
|
25199
|
+
const that = this;
|
|
25171
25200
|
return {
|
|
25172
25201
|
get fontSize() {
|
|
25173
25202
|
return style.fontSize;
|
|
@@ -25223,6 +25252,26 @@
|
|
|
25223
25252
|
}
|
|
25224
25253
|
return undefined;
|
|
25225
25254
|
},
|
|
25255
|
+
get select() {
|
|
25256
|
+
return {
|
|
25257
|
+
get inlineColumnBgColor() {
|
|
25258
|
+
return (style.select?.inlineColumnBgColor ??
|
|
25259
|
+
that.selectionStyle?.inlineColumnBgColor ??
|
|
25260
|
+
(that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'
|
|
25261
|
+
? changeColor(that.selectionStyle.cellBgColor, 0.1, false)
|
|
25262
|
+
: undefined) ??
|
|
25263
|
+
undefined);
|
|
25264
|
+
},
|
|
25265
|
+
get inlineRowBgColor() {
|
|
25266
|
+
return (style.select?.inlineRowBgColor ??
|
|
25267
|
+
that.selectionStyle.inlineRowBgColor ??
|
|
25268
|
+
(that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'
|
|
25269
|
+
? changeColor(that.selectionStyle.cellBgColor, 0.1, false)
|
|
25270
|
+
: undefined) ??
|
|
25271
|
+
undefined);
|
|
25272
|
+
}
|
|
25273
|
+
};
|
|
25274
|
+
},
|
|
25226
25275
|
get frameStyle() {
|
|
25227
25276
|
if (style.frameStyle) {
|
|
25228
25277
|
return {
|
|
@@ -35176,7 +35225,55 @@
|
|
|
35176
35225
|
}
|
|
35177
35226
|
};
|
|
35178
35227
|
|
|
35179
|
-
function
|
|
35228
|
+
function getCellEventArgsSet(e) {
|
|
35229
|
+
const tableEvent = {
|
|
35230
|
+
abstractPos: {
|
|
35231
|
+
x: e.x,
|
|
35232
|
+
y: e.y
|
|
35233
|
+
}
|
|
35234
|
+
};
|
|
35235
|
+
const targetCell = getTargetCell(e.target);
|
|
35236
|
+
if (targetCell) {
|
|
35237
|
+
tableEvent.eventArgs = {
|
|
35238
|
+
col: targetCell.col,
|
|
35239
|
+
row: targetCell.row,
|
|
35240
|
+
event: e,
|
|
35241
|
+
targetCell,
|
|
35242
|
+
mergeInfo: getMergeCellInfo(targetCell),
|
|
35243
|
+
target: e.target
|
|
35244
|
+
};
|
|
35245
|
+
}
|
|
35246
|
+
return tableEvent;
|
|
35247
|
+
}
|
|
35248
|
+
function getTargetCell(target) {
|
|
35249
|
+
while (target && target.parent) {
|
|
35250
|
+
if (target.role === 'cell') {
|
|
35251
|
+
return target;
|
|
35252
|
+
}
|
|
35253
|
+
target = target.parent;
|
|
35254
|
+
}
|
|
35255
|
+
return null;
|
|
35256
|
+
}
|
|
35257
|
+
function getMergeCellInfo(cellGroup) {
|
|
35258
|
+
if (isValid$1(cellGroup.mergeStartCol) &&
|
|
35259
|
+
isValid$1(cellGroup.mergeStartRow) &&
|
|
35260
|
+
isValid$1(cellGroup.mergeEndCol) &&
|
|
35261
|
+
isValid$1(cellGroup.mergeEndRow)) {
|
|
35262
|
+
return {
|
|
35263
|
+
colStart: cellGroup.mergeStartCol,
|
|
35264
|
+
colEnd: cellGroup.mergeEndCol,
|
|
35265
|
+
rowStart: cellGroup.mergeStartRow,
|
|
35266
|
+
rowEnd: cellGroup.mergeEndRow
|
|
35267
|
+
};
|
|
35268
|
+
}
|
|
35269
|
+
return undefined;
|
|
35270
|
+
}
|
|
35271
|
+
const regIndexReg = /radio-\d+-\d+-(\d+)/;
|
|
35272
|
+
|
|
35273
|
+
const CUSTOM_MERGE_PRE_NAME = '_custom_';
|
|
35274
|
+
const CUSTOM_CONTAINER_NAME = 'custom-container';
|
|
35275
|
+
const CUSTOM_MERGE_CONTAINER_NAME = CUSTOM_MERGE_PRE_NAME + '_0';
|
|
35276
|
+
function dealWithCustom(customLayout, customRender, col, row, width, height, autoWidth, autoHeight, padding, range, table) {
|
|
35180
35277
|
let renderDefault = true;
|
|
35181
35278
|
let enableCellPadding = false;
|
|
35182
35279
|
let expectedWidth;
|
|
@@ -35205,7 +35302,7 @@
|
|
|
35205
35302
|
}
|
|
35206
35303
|
if (customRenderObj.rootContainer instanceof Group$2) {
|
|
35207
35304
|
elementsGroup = customRenderObj.rootContainer;
|
|
35208
|
-
elementsGroup.name =
|
|
35305
|
+
elementsGroup.name = CUSTOM_CONTAINER_NAME;
|
|
35209
35306
|
}
|
|
35210
35307
|
renderDefault = customRenderObj.renderDefault;
|
|
35211
35308
|
enableCellPadding = customRenderObj.enableCellPadding;
|
|
@@ -35253,6 +35350,9 @@
|
|
|
35253
35350
|
});
|
|
35254
35351
|
}
|
|
35255
35352
|
dealPercentCalc(elementsGroup, width, height);
|
|
35353
|
+
if (range && (range.start.col !== range.end.col || range.start.row !== range.end.row)) {
|
|
35354
|
+
bindAttributeUpdate(elementsGroup, col, row, 0);
|
|
35355
|
+
}
|
|
35256
35356
|
return {
|
|
35257
35357
|
elementsGroup,
|
|
35258
35358
|
renderDefault
|
|
@@ -35268,7 +35368,7 @@
|
|
|
35268
35368
|
stroke: false,
|
|
35269
35369
|
pickable: false
|
|
35270
35370
|
});
|
|
35271
|
-
customGroup.name =
|
|
35371
|
+
customGroup.name = CUSTOM_CONTAINER_NAME;
|
|
35272
35372
|
const elementsAdjusted = adjustElementsPos(elements, width, height, value);
|
|
35273
35373
|
elementsAdjusted.forEach(element => {
|
|
35274
35374
|
if (element.clickable) {
|
|
@@ -35543,6 +35643,51 @@
|
|
|
35543
35643
|
});
|
|
35544
35644
|
}
|
|
35545
35645
|
}
|
|
35646
|
+
function bindAttributeUpdate(group, col, row, index, preId) {
|
|
35647
|
+
if (!group) {
|
|
35648
|
+
return;
|
|
35649
|
+
}
|
|
35650
|
+
group.name = `${CUSTOM_MERGE_PRE_NAME}${preId ?? ''}_${index}`;
|
|
35651
|
+
group.onBeforeAttributeUpdate = onBeforeAttributeUpdate;
|
|
35652
|
+
if (group.type === 'group' && group.childrenCount) {
|
|
35653
|
+
group.forEachChildren((child, childIndex) => {
|
|
35654
|
+
bindAttributeUpdate(child, col, row, childIndex, (preId ?? '') + '_' + index);
|
|
35655
|
+
});
|
|
35656
|
+
}
|
|
35657
|
+
}
|
|
35658
|
+
function onBeforeAttributeUpdate(val, attribute) {
|
|
35659
|
+
const graphic = this;
|
|
35660
|
+
const cellGroup = getTargetCell(graphic);
|
|
35661
|
+
const table = cellGroup.stage.table;
|
|
35662
|
+
graphic.skipAttributeUpdate = true;
|
|
35663
|
+
const { mergeStartCol, mergeEndCol, mergeStartRow, mergeEndRow } = cellGroup;
|
|
35664
|
+
if (isValid$1(mergeStartCol) &&
|
|
35665
|
+
isValid$1(mergeEndCol) &&
|
|
35666
|
+
isValid$1(mergeStartRow) &&
|
|
35667
|
+
isValid$1(mergeEndRow) &&
|
|
35668
|
+
(mergeStartCol !== mergeEndCol || mergeStartRow !== mergeEndRow)) {
|
|
35669
|
+
for (let col = mergeStartCol; col <= mergeEndCol; col++) {
|
|
35670
|
+
for (let row = mergeStartRow; row <= mergeEndRow; row++) {
|
|
35671
|
+
if (col === cellGroup.col && row === cellGroup.row) {
|
|
35672
|
+
continue;
|
|
35673
|
+
}
|
|
35674
|
+
const cell = table.scenegraph.getCell(col, row);
|
|
35675
|
+
if (cell.role === 'cell') {
|
|
35676
|
+
const target = cell.getChildByName(graphic.name, true);
|
|
35677
|
+
if (!target || target.skipAttributeUpdate) {
|
|
35678
|
+
continue;
|
|
35679
|
+
}
|
|
35680
|
+
for (const key in val) {
|
|
35681
|
+
if (val[key] !== target.attribute[key] && key !== 'dx' && key !== 'dy') {
|
|
35682
|
+
target.setAttribute(key, val[key]);
|
|
35683
|
+
}
|
|
35684
|
+
}
|
|
35685
|
+
}
|
|
35686
|
+
}
|
|
35687
|
+
}
|
|
35688
|
+
graphic.skipAttributeUpdate = undefined;
|
|
35689
|
+
}
|
|
35690
|
+
}
|
|
35546
35691
|
|
|
35547
35692
|
const icons = {};
|
|
35548
35693
|
class IconCache {
|
|
@@ -37639,6 +37784,12 @@
|
|
|
37639
37784
|
}
|
|
37640
37785
|
|
|
37641
37786
|
function breakString(textStr, table) {
|
|
37787
|
+
let moreThanMaxCharacters = false;
|
|
37788
|
+
if (isString$2(textStr) && textStr.length > (table.options.maxCharactersNumber || 200)) {
|
|
37789
|
+
textStr = textStr.slice(0, table.options.maxCharactersNumber || 200);
|
|
37790
|
+
textStr += '\u2026';
|
|
37791
|
+
moreThanMaxCharacters = true;
|
|
37792
|
+
}
|
|
37642
37793
|
let text;
|
|
37643
37794
|
if (!table.internalProps.enableLineBreak && !table.options.customConfig?.multilinesForXTable) {
|
|
37644
37795
|
text = [convertInternal(textStr)];
|
|
@@ -37649,7 +37800,10 @@
|
|
|
37649
37800
|
while (text.length && text.length > 1 && !text[text.length - 1]) {
|
|
37650
37801
|
text.pop();
|
|
37651
37802
|
}
|
|
37652
|
-
return
|
|
37803
|
+
return {
|
|
37804
|
+
text,
|
|
37805
|
+
moreThanMaxCharacters
|
|
37806
|
+
};
|
|
37653
37807
|
}
|
|
37654
37808
|
|
|
37655
37809
|
function createCellContent(cellGroup, icons, textStr, padding, autoColWidth, autoRowHeight, autoWrapText, lineClamp, cellWidth, cellHeight, textAlign, textBaseline, table, cellTheme, range) {
|
|
@@ -37670,7 +37824,7 @@
|
|
|
37670
37824
|
let absoluteRightIconWidth = 0;
|
|
37671
37825
|
if (!Array.isArray(icons) || icons.length === 0) {
|
|
37672
37826
|
if (isValid$1(textStr)) {
|
|
37673
|
-
const text = breakString(textStr, table);
|
|
37827
|
+
const { text, moreThanMaxCharacters } = breakString(textStr, table);
|
|
37674
37828
|
const hierarchyOffset = range
|
|
37675
37829
|
? getHierarchyOffset(range.start.col, range.start.row, table)
|
|
37676
37830
|
: getHierarchyOffset(cellGroup.col, cellGroup.row, table);
|
|
@@ -37685,6 +37839,7 @@
|
|
|
37685
37839
|
}
|
|
37686
37840
|
const attribute = {
|
|
37687
37841
|
text: text.length === 1 ? text[0] : text,
|
|
37842
|
+
moreThanMaxCharacters,
|
|
37688
37843
|
maxLineWidth: autoColWidth ? Infinity : cellWidth - (padding[1] + padding[3] + hierarchyOffset),
|
|
37689
37844
|
textBaseline: 'top',
|
|
37690
37845
|
autoWrapText,
|
|
@@ -37783,9 +37938,10 @@
|
|
|
37783
37938
|
const hierarchyOffset = range
|
|
37784
37939
|
? getHierarchyOffset(range.start.col, range.start.row, table)
|
|
37785
37940
|
: getHierarchyOffset(cellGroup.col, cellGroup.row, table);
|
|
37786
|
-
const text = breakString(textStr, table);
|
|
37941
|
+
const { text, moreThanMaxCharacters } = breakString(textStr, table);
|
|
37787
37942
|
const attribute = {
|
|
37788
37943
|
text: text.length === 1 ? text[0] : text,
|
|
37944
|
+
moreThanMaxCharacters,
|
|
37789
37945
|
maxLineWidth: autoColWidth
|
|
37790
37946
|
? Infinity
|
|
37791
37947
|
: cellWidth - (padding[1] + padding[3]) - leftIconWidth - rightIconWidth - hierarchyOffset,
|
|
@@ -38847,7 +39003,7 @@
|
|
|
38847
39003
|
customLayout = define?.customLayout;
|
|
38848
39004
|
}
|
|
38849
39005
|
if (customLayout || customRender) {
|
|
38850
|
-
const customResult = dealWithCustom(customLayout, customRender, col, row, cellWidth, cellHeight, false, table.isAutoRowHeight(row), padding, table);
|
|
39006
|
+
const customResult = dealWithCustom(customLayout, customRender, col, row, cellWidth, cellHeight, false, table.isAutoRowHeight(row), padding, range, table);
|
|
38851
39007
|
customElementsGroup = customResult.elementsGroup;
|
|
38852
39008
|
renderDefault = customResult.renderDefault;
|
|
38853
39009
|
}
|
|
@@ -38928,7 +39084,7 @@
|
|
|
38928
39084
|
cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table);
|
|
38929
39085
|
}
|
|
38930
39086
|
if (customLayout || customRender) {
|
|
38931
|
-
customResult = dealWithCustom(customLayout, customRender, customMergeRange.start.col, customMergeRange.start.row, table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col), table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row), false, table.isAutoRowHeight(row), [0, 0, 0, 0], table);
|
|
39087
|
+
customResult = dealWithCustom(customLayout, customRender, customMergeRange.start.col, customMergeRange.start.row, table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col), table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row), false, table.isAutoRowHeight(row), [0, 0, 0, 0], range, table);
|
|
38932
39088
|
}
|
|
38933
39089
|
}
|
|
38934
39090
|
}
|
|
@@ -38973,7 +39129,7 @@
|
|
|
38973
39129
|
const textMark = oldCellGroup.getChildByName('text');
|
|
38974
39130
|
if (textMark) {
|
|
38975
39131
|
const text = table.getCellValue(col, row);
|
|
38976
|
-
const textArr = breakString(text, table);
|
|
39132
|
+
const { text: textArr, moreThanMaxCharacters } = breakString(text, table);
|
|
38977
39133
|
const hierarchyOffset = getHierarchyOffset(col, row, table);
|
|
38978
39134
|
const lineClamp = cellStyle.lineClamp;
|
|
38979
39135
|
const padding = getQuadProps(getProp('padding', cellStyle, col, row, table)) ?? [0, 0, 0, 0];
|
|
@@ -38990,6 +39146,7 @@
|
|
|
38990
39146
|
}
|
|
38991
39147
|
const attribute = {
|
|
38992
39148
|
text: textArr.length === 1 && !autoWrapText ? textArr[0] : textArr,
|
|
39149
|
+
moreThanMaxCharacters,
|
|
38993
39150
|
maxLineWidth: cellWidth - (padding[1] + padding[3] + hierarchyOffset),
|
|
38994
39151
|
textBaseline: 'top',
|
|
38995
39152
|
autoWrapText,
|
|
@@ -39178,7 +39335,7 @@
|
|
|
39178
39335
|
if (customMerge) {
|
|
39179
39336
|
const { range: customMergeRange, text: customMergeText, style: customMergeStyle, customLayout: customMergeLayout, customRender: customMergeRender } = customMerge;
|
|
39180
39337
|
if (customMergeLayout || customMergeRender) {
|
|
39181
|
-
const customResult = dealWithCustom(customMergeLayout, customMergeRender, customMergeRange.start.col, customMergeRange.start.row, table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col), table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row), false, table.isAutoRowHeight(row), [0, 0, 0, 0], table);
|
|
39338
|
+
const customResult = dealWithCustom(customMergeLayout, customMergeRender, customMergeRange.start.col, customMergeRange.start.row, table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col), table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row), false, table.isAutoRowHeight(row), [0, 0, 0, 0], customMergeRange, table);
|
|
39182
39339
|
const customElementsGroup = customResult.elementsGroup;
|
|
39183
39340
|
if (cellGroup.childrenCount > 0 && customElementsGroup) {
|
|
39184
39341
|
cellGroup.insertBefore(customElementsGroup, cellGroup.firstChild);
|
|
@@ -40930,7 +41087,7 @@
|
|
|
40930
41087
|
}
|
|
40931
41088
|
else {
|
|
40932
41089
|
text = cellValue;
|
|
40933
|
-
const lines = breakString(text, table);
|
|
41090
|
+
const lines = breakString(text, table).text;
|
|
40934
41091
|
const cellWidth = table.getColsWidth(col, endCol);
|
|
40935
41092
|
if (iconInlineFront.length || iconInlineEnd.length) {
|
|
40936
41093
|
if (autoWrapText) {
|
|
@@ -41122,7 +41279,8 @@
|
|
|
41122
41279
|
}
|
|
41123
41280
|
else {
|
|
41124
41281
|
let renderDefault = true;
|
|
41125
|
-
const customContainer = cell.getChildByName(
|
|
41282
|
+
const customContainer = cell.getChildByName(CUSTOM_CONTAINER_NAME) ||
|
|
41283
|
+
cell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME);
|
|
41126
41284
|
if (customContainer) {
|
|
41127
41285
|
let customElementsGroup;
|
|
41128
41286
|
customContainer.removeAllChild();
|
|
@@ -41134,7 +41292,8 @@
|
|
|
41134
41292
|
continue;
|
|
41135
41293
|
}
|
|
41136
41294
|
const mergedCell = scene.getCell(col, mergeRow);
|
|
41137
|
-
const customContainer =
|
|
41295
|
+
const customContainer = cell.getChildByName(CUSTOM_CONTAINER_NAME) ||
|
|
41296
|
+
cell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME);
|
|
41138
41297
|
customContainer.removeAllChild();
|
|
41139
41298
|
mergedCell.removeChild(customContainer);
|
|
41140
41299
|
getCustomCellMergeCustom(col, mergeRow, mergedCell, scene.table);
|
|
@@ -41163,7 +41322,12 @@
|
|
|
41163
41322
|
width = scene.table.getColsWidth(cell.mergeStartCol, cell.mergeEndCol);
|
|
41164
41323
|
height = scene.table.getRowsHeight(cell.mergeStartRow, cell.mergeEndRow);
|
|
41165
41324
|
}
|
|
41166
|
-
const customResult = dealWithCustom(customLayout, customRender, col, row, width, height, false, scene.table.isAutoRowHeight(row), padding,
|
|
41325
|
+
const customResult = dealWithCustom(customLayout, customRender, col, row, width, height, false, scene.table.isAutoRowHeight(row), padding, isMergeCellGroup(cell)
|
|
41326
|
+
? {
|
|
41327
|
+
start: { col: cell.mergeStartCol, row: cell.mergeStartRow },
|
|
41328
|
+
end: { col: cell.mergeEndCol, row: cell.mergeEndRow }
|
|
41329
|
+
}
|
|
41330
|
+
: undefined, scene.table);
|
|
41167
41331
|
customElementsGroup = customResult.elementsGroup;
|
|
41168
41332
|
renderDefault = customResult.renderDefault;
|
|
41169
41333
|
}
|
|
@@ -41442,7 +41606,8 @@
|
|
|
41442
41606
|
}
|
|
41443
41607
|
else {
|
|
41444
41608
|
let renderDefault = true;
|
|
41445
|
-
const customContainer = cell.getChildByName(
|
|
41609
|
+
const customContainer = cell.getChildByName(CUSTOM_CONTAINER_NAME) ||
|
|
41610
|
+
cell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME);
|
|
41446
41611
|
if (customContainer) {
|
|
41447
41612
|
let customElementsGroup;
|
|
41448
41613
|
customContainer.removeAllChild();
|
|
@@ -41454,7 +41619,8 @@
|
|
|
41454
41619
|
continue;
|
|
41455
41620
|
}
|
|
41456
41621
|
const mergedCell = scene.getCell(mergeCol, row);
|
|
41457
|
-
const customContainer = mergedCell.getChildByName(
|
|
41622
|
+
const customContainer = mergedCell.getChildByName(CUSTOM_CONTAINER_NAME) ||
|
|
41623
|
+
cell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME);
|
|
41458
41624
|
customContainer.removeAllChild();
|
|
41459
41625
|
mergedCell.removeChild(customContainer);
|
|
41460
41626
|
getCustomCellMergeCustom(mergeCol, row, mergedCell, scene.table);
|
|
@@ -41483,7 +41649,12 @@
|
|
|
41483
41649
|
width = scene.table.getColsWidth(cellGroup.mergeStartCol, cellGroup.mergeEndCol);
|
|
41484
41650
|
height = scene.table.getRowsHeight(cellGroup.mergeStartRow, cellGroup.mergeEndRow);
|
|
41485
41651
|
}
|
|
41486
|
-
const customResult = dealWithCustom(customLayout, customRender, col, row, width, height, false, scene.table.isAutoRowHeight(row), padding,
|
|
41652
|
+
const customResult = dealWithCustom(customLayout, customRender, col, row, width, height, false, scene.table.isAutoRowHeight(row), padding, isMergeCellGroup(cellGroup)
|
|
41653
|
+
? {
|
|
41654
|
+
start: { col: cellGroup.mergeStartCol, row: cellGroup.mergeStartRow },
|
|
41655
|
+
end: { col: cellGroup.mergeEndCol, row: cellGroup.mergeEndRow }
|
|
41656
|
+
}
|
|
41657
|
+
: undefined, scene.table);
|
|
41487
41658
|
customElementsGroup = customResult.elementsGroup;
|
|
41488
41659
|
renderDefault = customResult.renderDefault;
|
|
41489
41660
|
isHeightChange = true;
|
|
@@ -43379,6 +43550,113 @@
|
|
|
43379
43550
|
return hoverMode;
|
|
43380
43551
|
}
|
|
43381
43552
|
|
|
43553
|
+
function getCellSelectColor(cellGroup, table) {
|
|
43554
|
+
let colorKey;
|
|
43555
|
+
if (cellGroup.role === 'cell' &&
|
|
43556
|
+
isValid$1(cellGroup.mergeStartCol) &&
|
|
43557
|
+
isValid$1(cellGroup.mergeStartRow) &&
|
|
43558
|
+
isValid$1(cellGroup.mergeEndCol) &&
|
|
43559
|
+
isValid$1(cellGroup.mergeEndRow)) {
|
|
43560
|
+
const { colStart, colEnd, rowStart, rowEnd } = getCellMergeRange(cellGroup, table.scenegraph);
|
|
43561
|
+
for (let col = colStart; col <= colEnd; col++) {
|
|
43562
|
+
for (let row = rowStart; row <= rowEnd; row++) {
|
|
43563
|
+
const key = isCellSelected(table.stateManager, col, row);
|
|
43564
|
+
if (key && (!colorKey || key === 'cellBgColor')) {
|
|
43565
|
+
colorKey = key;
|
|
43566
|
+
}
|
|
43567
|
+
}
|
|
43568
|
+
}
|
|
43569
|
+
}
|
|
43570
|
+
else if (cellGroup.role === 'cell') {
|
|
43571
|
+
colorKey = isCellSelected(table.stateManager, cellGroup.col, cellGroup.row);
|
|
43572
|
+
}
|
|
43573
|
+
if (!colorKey) {
|
|
43574
|
+
return undefined;
|
|
43575
|
+
}
|
|
43576
|
+
let selectStyle;
|
|
43577
|
+
const layout = table.internalProps.layoutMap;
|
|
43578
|
+
if (layout.isCornerHeader(cellGroup.col, cellGroup.row)) {
|
|
43579
|
+
selectStyle = table.theme.cornerHeaderStyle?.select || table.theme.headerStyle?.select;
|
|
43580
|
+
}
|
|
43581
|
+
else if (layout.isColumnHeader(cellGroup.col, cellGroup.row)) {
|
|
43582
|
+
selectStyle = table.theme.headerStyle?.select;
|
|
43583
|
+
}
|
|
43584
|
+
else if (layout.isRowHeader(cellGroup.col, cellGroup.row)) {
|
|
43585
|
+
selectStyle = table.theme.rowHeaderStyle?.select;
|
|
43586
|
+
}
|
|
43587
|
+
else if (layout.isBottomFrozenRow(cellGroup.col, cellGroup.row)) {
|
|
43588
|
+
selectStyle =
|
|
43589
|
+
table.theme.bottomFrozenStyle?.select ||
|
|
43590
|
+
(table.isListTable() ? table.theme.bodyStyle?.select : table.theme.headerStyle?.select);
|
|
43591
|
+
}
|
|
43592
|
+
else if (layout.isRightFrozenColumn(cellGroup.col, cellGroup.row)) {
|
|
43593
|
+
selectStyle =
|
|
43594
|
+
table.theme.rightFrozenStyle?.select ||
|
|
43595
|
+
(table.isListTable() ? table.theme.bodyStyle?.select : table.theme.rowHeaderStyle?.select);
|
|
43596
|
+
}
|
|
43597
|
+
else if (!table.isHeader(cellGroup.col, cellGroup.row)) {
|
|
43598
|
+
selectStyle = table.theme.bodyStyle?.select;
|
|
43599
|
+
}
|
|
43600
|
+
const fillColor = getProp(colorKey, selectStyle, cellGroup.col, cellGroup.row, table);
|
|
43601
|
+
return fillColor;
|
|
43602
|
+
}
|
|
43603
|
+
function isCellSelected(state, col, row, cellGroup) {
|
|
43604
|
+
const { highlightScope, disableHeader, cellPos, ranges } = state.select;
|
|
43605
|
+
let selectMode;
|
|
43606
|
+
if (ranges?.length === 1 && ranges[0].end.col === ranges[0].start.col && ranges[0].end.row === ranges[0].start.row) {
|
|
43607
|
+
const table = state.table;
|
|
43608
|
+
const isHeader = table.isHeader(col, row);
|
|
43609
|
+
if (isHeader && disableHeader) {
|
|
43610
|
+
return undefined;
|
|
43611
|
+
}
|
|
43612
|
+
if (highlightScope === HighlightScope.single && cellPos.col === col && cellPos.row === row) {
|
|
43613
|
+
selectMode = 'cellBgColor';
|
|
43614
|
+
}
|
|
43615
|
+
else if (highlightScope === HighlightScope.column && cellPos.col === col) {
|
|
43616
|
+
if (cellPos.col === col && cellPos.row === row) {
|
|
43617
|
+
selectMode = 'cellBgColor';
|
|
43618
|
+
}
|
|
43619
|
+
else {
|
|
43620
|
+
selectMode = 'inlineColumnBgColor';
|
|
43621
|
+
}
|
|
43622
|
+
}
|
|
43623
|
+
else if (highlightScope === HighlightScope.row && cellPos.row === row) {
|
|
43624
|
+
if (cellPos.col === col && cellPos.row === row) {
|
|
43625
|
+
selectMode = 'cellBgColor';
|
|
43626
|
+
}
|
|
43627
|
+
else {
|
|
43628
|
+
selectMode = 'inlineRowBgColor';
|
|
43629
|
+
}
|
|
43630
|
+
}
|
|
43631
|
+
else if (highlightScope === HighlightScope.cross) {
|
|
43632
|
+
if (cellPos.col === col && cellPos.row === row) {
|
|
43633
|
+
selectMode = 'cellBgColor';
|
|
43634
|
+
}
|
|
43635
|
+
else if (cellPos.col === col) {
|
|
43636
|
+
selectMode = 'inlineColumnBgColor';
|
|
43637
|
+
}
|
|
43638
|
+
else if (cellPos.row === row) {
|
|
43639
|
+
selectMode = 'inlineRowBgColor';
|
|
43640
|
+
}
|
|
43641
|
+
}
|
|
43642
|
+
if (selectMode) {
|
|
43643
|
+
let cellDisable;
|
|
43644
|
+
if (isHeader) {
|
|
43645
|
+
const define = table.getHeaderDefine(col, row);
|
|
43646
|
+
cellDisable = define?.disableHeaderSelect;
|
|
43647
|
+
}
|
|
43648
|
+
else {
|
|
43649
|
+
const define = table.getBodyColumnDefine(col, row);
|
|
43650
|
+
cellDisable = define?.disableSelect;
|
|
43651
|
+
}
|
|
43652
|
+
if (cellDisable) {
|
|
43653
|
+
selectMode = undefined;
|
|
43654
|
+
}
|
|
43655
|
+
}
|
|
43656
|
+
}
|
|
43657
|
+
return selectMode;
|
|
43658
|
+
}
|
|
43659
|
+
|
|
43382
43660
|
let SplitGroupBeforeRenderContribution = class SplitGroupBeforeRenderContribution {
|
|
43383
43661
|
time = BaseRenderContributionTime.beforeFillStroke;
|
|
43384
43662
|
useStyle = true;
|
|
@@ -43398,7 +43676,8 @@
|
|
|
43398
43676
|
useStyle = true;
|
|
43399
43677
|
order = 0;
|
|
43400
43678
|
drawShape(group, context, x, y, doFill, doStroke, fVisible, sVisible, groupAttribute, drawContext, fillCb, strokeCb) {
|
|
43401
|
-
const {
|
|
43679
|
+
const { stroke = groupAttribute.stroke, strokeArrayColor = groupAttribute.strokeArrayColor, strokeArrayWidth = groupAttribute.strokeArrayWidth, lineWidth = groupAttribute.lineWidth, strokeColor = groupAttribute.stroke } = group.attribute;
|
|
43680
|
+
let { width = groupAttribute.width, height = groupAttribute.height } = group.attribute;
|
|
43402
43681
|
if (!stroke || (!Array.isArray(strokeArrayWidth) && lineWidth === 0)) {
|
|
43403
43682
|
return;
|
|
43404
43683
|
}
|
|
@@ -43432,6 +43711,10 @@
|
|
|
43432
43711
|
x = Math.floor(x) + 0.5;
|
|
43433
43712
|
y = Math.floor(y) + 0.5;
|
|
43434
43713
|
}
|
|
43714
|
+
if (table.options.customConfig?._disableColumnAndRowSizeRound) {
|
|
43715
|
+
width = Math.round(width);
|
|
43716
|
+
height = Math.round(height);
|
|
43717
|
+
}
|
|
43435
43718
|
const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width + deltaWidth), Math.ceil(height + deltaHeight));
|
|
43436
43719
|
widthForStroke = widthFroDraw;
|
|
43437
43720
|
heightForStroke = heightFroDraw;
|
|
@@ -43655,18 +43938,24 @@
|
|
|
43655
43938
|
Array.isArray(strokeArrayWidth)) {
|
|
43656
43939
|
return;
|
|
43657
43940
|
}
|
|
43941
|
+
const table = group.stage.table;
|
|
43942
|
+
if (!table) {
|
|
43943
|
+
return;
|
|
43944
|
+
}
|
|
43658
43945
|
const splitLineDash = isArray$1(lineDash[0]) ? getQuadLineDash(lineDash) : [lineDash, lineDash, lineDash, lineDash];
|
|
43659
43946
|
let { width = groupAttribute.width, height = groupAttribute.height } = group.attribute;
|
|
43660
|
-
|
|
43661
|
-
|
|
43947
|
+
if (table.options.customConfig?._disableColumnAndRowSizeRound) {
|
|
43948
|
+
width = Math.round(width);
|
|
43949
|
+
height = Math.round(height);
|
|
43950
|
+
}
|
|
43951
|
+
else {
|
|
43952
|
+
width = Math.ceil(width);
|
|
43953
|
+
height = Math.ceil(height);
|
|
43954
|
+
}
|
|
43662
43955
|
let widthForStroke;
|
|
43663
43956
|
let heightForStroke;
|
|
43664
43957
|
if (lineWidth & 1) {
|
|
43665
|
-
const
|
|
43666
|
-
if (!table) {
|
|
43667
|
-
return;
|
|
43668
|
-
}
|
|
43669
|
-
const bottomRight = table?.theme.cellBorderClipDirection === 'bottom-right';
|
|
43958
|
+
const bottomRight = table.theme.cellBorderClipDirection === 'bottom-right';
|
|
43670
43959
|
let deltaWidth = 0;
|
|
43671
43960
|
let deltaHeight = 0;
|
|
43672
43961
|
if (bottomRight) {
|
|
@@ -43753,7 +44042,7 @@
|
|
|
43753
44042
|
order = 0;
|
|
43754
44043
|
drawShape(group, context, x, y, doFill, doStroke, fVisible, sVisible, groupAttribute, drawContext, fillCb, strokeCb) {
|
|
43755
44044
|
const { lineWidth = groupAttribute.lineWidth, stroke = groupAttribute.stroke, lineDash = groupAttribute.lineDash, strokeArrayWidth = groupAttribute.strokeArrayWidth, strokeArrayColor = groupAttribute.strokeArrayColor, notAdjustPos, cornerRadius = groupAttribute.cornerRadius } = group.attribute;
|
|
43756
|
-
|
|
44045
|
+
let { width = groupAttribute.width, height = groupAttribute.height } = group.attribute;
|
|
43757
44046
|
if (notAdjustPos !== true &&
|
|
43758
44047
|
stroke &&
|
|
43759
44048
|
Array.isArray(lineDash) &&
|
|
@@ -43761,12 +44050,16 @@
|
|
|
43761
44050
|
!Array.isArray(strokeArrayColor) &&
|
|
43762
44051
|
!Array.isArray(strokeArrayWidth) &&
|
|
43763
44052
|
lineWidth & 1) {
|
|
43764
|
-
const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width), Math.ceil(height));
|
|
43765
|
-
context.beginPath();
|
|
43766
44053
|
const table = group.stage.table;
|
|
43767
44054
|
if (!table) {
|
|
43768
44055
|
return;
|
|
43769
44056
|
}
|
|
44057
|
+
if (table.options.customConfig?._disableColumnAndRowSizeRound) {
|
|
44058
|
+
width = Math.round(width);
|
|
44059
|
+
height = Math.round(height);
|
|
44060
|
+
}
|
|
44061
|
+
const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width), Math.ceil(height));
|
|
44062
|
+
context.beginPath();
|
|
43770
44063
|
const bottomRight = table?.theme.cellBorderClipDirection === 'bottom-right';
|
|
43771
44064
|
let deltaWidth = 0;
|
|
43772
44065
|
let deltaHeight = 0;
|
|
@@ -43810,9 +44103,15 @@
|
|
|
43810
44103
|
if (group.role === 'cell') {
|
|
43811
44104
|
const table = group.stage.table;
|
|
43812
44105
|
if (table && table.stateManager.interactionState !== InteractionState.scrolling) {
|
|
43813
|
-
const
|
|
43814
|
-
if (
|
|
43815
|
-
group.attribute.
|
|
44106
|
+
const selectColor = getCellSelectColor(group, table);
|
|
44107
|
+
if (selectColor) {
|
|
44108
|
+
group.attribute._vtableHightLightFill = selectColor;
|
|
44109
|
+
}
|
|
44110
|
+
else {
|
|
44111
|
+
const hoverColor = getCellHoverColor(group, table);
|
|
44112
|
+
if (hoverColor) {
|
|
44113
|
+
group.attribute._vtableHightLightFill = hoverColor;
|
|
44114
|
+
}
|
|
43816
44115
|
}
|
|
43817
44116
|
}
|
|
43818
44117
|
}
|
|
@@ -43826,15 +44125,15 @@
|
|
|
43826
44125
|
useStyle = true;
|
|
43827
44126
|
order = 0;
|
|
43828
44127
|
drawShape(group, context, x, y, doFill, doStroke, fVisible, sVisible, groupAttribute, drawContext, fillCb, strokeCb) {
|
|
43829
|
-
if (group.attribute.
|
|
44128
|
+
if (group.attribute._vtableHightLightFill) {
|
|
43830
44129
|
if (fillCb) ;
|
|
43831
44130
|
else if (fVisible) {
|
|
43832
44131
|
const oldColor = group.attribute.fill;
|
|
43833
|
-
group.attribute.fill = group.attribute.
|
|
44132
|
+
group.attribute.fill = group.attribute._vtableHightLightFill;
|
|
43834
44133
|
context.setCommonStyle(group, group.attribute, x, y, groupAttribute);
|
|
43835
44134
|
context.fill();
|
|
43836
44135
|
group.attribute.fill = oldColor;
|
|
43837
|
-
group.attribute.
|
|
44136
|
+
group.attribute._vtableHightLightFill = undefined;
|
|
43838
44137
|
}
|
|
43839
44138
|
}
|
|
43840
44139
|
}
|
|
@@ -44605,10 +44904,10 @@
|
|
|
44605
44904
|
else {
|
|
44606
44905
|
text = cellValue;
|
|
44607
44906
|
}
|
|
44608
|
-
const lines = breakString(text, table);
|
|
44907
|
+
const lines = breakString(text, table).text;
|
|
44609
44908
|
if (lines.length >= 1) {
|
|
44610
44909
|
lines.forEach((line) => {
|
|
44611
|
-
const width = table.measureText(line
|
|
44910
|
+
const width = table.measureText(line, {
|
|
44612
44911
|
fontSize,
|
|
44613
44912
|
fontFamily,
|
|
44614
44913
|
fontWeight
|
|
@@ -44756,7 +45055,7 @@
|
|
|
44756
45055
|
value = customMergeText;
|
|
44757
45056
|
customStyle = customMergeStyle;
|
|
44758
45057
|
if (customLayout || customRender) {
|
|
44759
|
-
customResult = dealWithCustom(customLayout, customRender, customMergeRange.start.col, customMergeRange.start.row, table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col), table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row), false, table.isAutoRowHeight(row), [0, 0, 0, 0], table);
|
|
45058
|
+
customResult = dealWithCustom(customLayout, customRender, customMergeRange.start.col, customMergeRange.start.row, table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col), table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row), false, table.isAutoRowHeight(row), [0, 0, 0, 0], range, table);
|
|
44760
45059
|
}
|
|
44761
45060
|
}
|
|
44762
45061
|
}
|
|
@@ -48665,6 +48964,44 @@
|
|
|
48665
48964
|
}
|
|
48666
48965
|
}
|
|
48667
48966
|
|
|
48967
|
+
function dealWithAnimationAppear(table) {
|
|
48968
|
+
if (!table.options.animationAppear) {
|
|
48969
|
+
return;
|
|
48970
|
+
}
|
|
48971
|
+
let duration;
|
|
48972
|
+
let delay;
|
|
48973
|
+
let type;
|
|
48974
|
+
let direction;
|
|
48975
|
+
if (table.options.animationAppear === true) {
|
|
48976
|
+
duration = 500;
|
|
48977
|
+
delay = 0;
|
|
48978
|
+
type = 'one-by-one';
|
|
48979
|
+
direction = 'column';
|
|
48980
|
+
}
|
|
48981
|
+
else {
|
|
48982
|
+
duration = table.options.animationAppear.duration ?? 500;
|
|
48983
|
+
delay = table.options.animationAppear.delay ?? 0;
|
|
48984
|
+
type = table.options.animationAppear.type ?? 'one-by-one';
|
|
48985
|
+
direction = table.options.animationAppear.direction ?? 'row';
|
|
48986
|
+
}
|
|
48987
|
+
const { scenegraph: scene, frozenColCount, frozenRowCount } = table;
|
|
48988
|
+
const { colStart, colEnd, rowStart, rowEnd } = scene.proxy;
|
|
48989
|
+
for (let col = 0; col <= colEnd; col++) {
|
|
48990
|
+
for (let row = 0; row <= rowEnd; row++) {
|
|
48991
|
+
const cellGroup = scene.highPerformanceGetCell(col, row);
|
|
48992
|
+
if (cellGroup && cellGroup.role === 'cell') {
|
|
48993
|
+
cellGroup.forEachChildren((child) => {
|
|
48994
|
+
child.setAttribute('opacity', 0);
|
|
48995
|
+
child
|
|
48996
|
+
.animate()
|
|
48997
|
+
.wait(type === 'one-by-one' ? (direction === 'row' ? row : col) * (duration - delay) : delay)
|
|
48998
|
+
.to({ opacity: 1 }, duration, 'linear');
|
|
48999
|
+
});
|
|
49000
|
+
}
|
|
49001
|
+
}
|
|
49002
|
+
}
|
|
49003
|
+
}
|
|
49004
|
+
|
|
48668
49005
|
registerForVrender();
|
|
48669
49006
|
loadPoptip();
|
|
48670
49007
|
container.load(splitModule);
|
|
@@ -48724,7 +49061,8 @@
|
|
|
48724
49061
|
enableLayout: true,
|
|
48725
49062
|
afterRender: () => {
|
|
48726
49063
|
this.table.fireListeners('after_render', null);
|
|
48727
|
-
}
|
|
49064
|
+
},
|
|
49065
|
+
...table.options.renderOption
|
|
48728
49066
|
});
|
|
48729
49067
|
this.stage.defaultLayer.setTheme({
|
|
48730
49068
|
group: {
|
|
@@ -49458,6 +49796,9 @@
|
|
|
49458
49796
|
this.updateBorderSizeAndPosition();
|
|
49459
49797
|
this.component.updateScrollBar();
|
|
49460
49798
|
handleTextStick(this.table);
|
|
49799
|
+
if (this.table.options.animationAppear) {
|
|
49800
|
+
dealWithAnimationAppear(this.table);
|
|
49801
|
+
}
|
|
49461
49802
|
this.updateNextFrame();
|
|
49462
49803
|
}
|
|
49463
49804
|
dealWidthMode() {
|
|
@@ -49833,6 +50174,9 @@
|
|
|
49833
50174
|
const cellGroup = this.getCell(col, row);
|
|
49834
50175
|
const text = cellGroup.getChildByName('text', true);
|
|
49835
50176
|
if (text && text.type === 'text') {
|
|
50177
|
+
if (text.attribute.moreThanMaxCharacters) {
|
|
50178
|
+
return this.table.getCellValue(col, row);
|
|
50179
|
+
}
|
|
49836
50180
|
const textAttributeStr = isArray$1(text.attribute.text)
|
|
49837
50181
|
? text.attribute.text.join('')
|
|
49838
50182
|
: text.attribute.text;
|
|
@@ -49846,7 +50190,7 @@
|
|
|
49846
50190
|
});
|
|
49847
50191
|
}
|
|
49848
50192
|
if (cacheStr !== textAttributeStr) {
|
|
49849
|
-
return
|
|
50193
|
+
return this.table.getCellValue(col, row);
|
|
49850
50194
|
}
|
|
49851
50195
|
}
|
|
49852
50196
|
else if (text && text.type === 'richtext') {
|
|
@@ -49854,8 +50198,8 @@
|
|
|
49854
50198
|
if (richtext.attribute.ellipsis &&
|
|
49855
50199
|
richtext._frameCache &&
|
|
49856
50200
|
richtext.attribute.height < richtext._frameCache.actualHeight) {
|
|
49857
|
-
|
|
49858
|
-
return
|
|
50201
|
+
richtext.attribute.textConfig.find((item) => item.text);
|
|
50202
|
+
return this.table.getCellValue(col, row);
|
|
49859
50203
|
}
|
|
49860
50204
|
}
|
|
49861
50205
|
return null;
|
|
@@ -50258,8 +50602,18 @@
|
|
|
50258
50602
|
if (isSelectAll) {
|
|
50259
50603
|
state.select.ranges = [];
|
|
50260
50604
|
scenegraph.deleteAllSelectBorder();
|
|
50605
|
+
let _startCol = 0;
|
|
50606
|
+
let _startRow = 0;
|
|
50607
|
+
const { disableHeaderSelect, disableRowSeriesNumberSelect } = table.options.keyboardOptions?.selectAllOnCtrlA || {};
|
|
50608
|
+
if (disableHeaderSelect) {
|
|
50609
|
+
_startCol = table.rowHeaderLevelCount;
|
|
50610
|
+
_startRow = table.columnHeaderLevelCount;
|
|
50611
|
+
}
|
|
50612
|
+
if ((disableRowSeriesNumberSelect || disableHeaderSelect) && table.options.rowSeriesNumber) {
|
|
50613
|
+
_startCol += 1;
|
|
50614
|
+
}
|
|
50261
50615
|
state.select.ranges.push({
|
|
50262
|
-
start: { col:
|
|
50616
|
+
start: { col: _startCol, row: _startRow },
|
|
50263
50617
|
end: { col: table.colCount - 1, row: table.rowCount - 1 }
|
|
50264
50618
|
});
|
|
50265
50619
|
const currentRange = state.select.ranges[state.select.ranges.length - 1];
|
|
@@ -51708,13 +52062,25 @@
|
|
|
51708
52062
|
}
|
|
51709
52063
|
}
|
|
51710
52064
|
setSelectState() {
|
|
51711
|
-
const { headerSelectMode, disableSelect, disableHeaderSelect } = Object.assign({}, {
|
|
52065
|
+
const { headerSelectMode, disableSelect, disableHeaderSelect, highlightMode } = Object.assign({}, {
|
|
51712
52066
|
headerSelectMode: 'inline',
|
|
51713
52067
|
disableSelect: false,
|
|
51714
|
-
disableHeaderSelect: false
|
|
52068
|
+
disableHeaderSelect: false,
|
|
52069
|
+
highlightMode: 'cell'
|
|
51715
52070
|
}, this.table.options.select);
|
|
51716
52071
|
if (!disableSelect) {
|
|
51717
|
-
|
|
52072
|
+
if (highlightMode === 'cross') {
|
|
52073
|
+
this.select.highlightScope = HighlightScope.cross;
|
|
52074
|
+
}
|
|
52075
|
+
else if (highlightMode === 'row') {
|
|
52076
|
+
this.select.highlightScope = HighlightScope.row;
|
|
52077
|
+
}
|
|
52078
|
+
else if (highlightMode === 'column') {
|
|
52079
|
+
this.select.highlightScope = HighlightScope.column;
|
|
52080
|
+
}
|
|
52081
|
+
else {
|
|
52082
|
+
this.select.highlightScope = HighlightScope.single;
|
|
52083
|
+
}
|
|
51718
52084
|
}
|
|
51719
52085
|
else {
|
|
51720
52086
|
this.select.highlightScope = HighlightScope.none;
|
|
@@ -52576,51 +52942,6 @@
|
|
|
52576
52942
|
});
|
|
52577
52943
|
}
|
|
52578
52944
|
|
|
52579
|
-
function getCellEventArgsSet(e) {
|
|
52580
|
-
const tableEvent = {
|
|
52581
|
-
abstractPos: {
|
|
52582
|
-
x: e.x,
|
|
52583
|
-
y: e.y
|
|
52584
|
-
}
|
|
52585
|
-
};
|
|
52586
|
-
const targetCell = getTargetCell(e.target);
|
|
52587
|
-
if (targetCell) {
|
|
52588
|
-
tableEvent.eventArgs = {
|
|
52589
|
-
col: targetCell.col,
|
|
52590
|
-
row: targetCell.row,
|
|
52591
|
-
event: e,
|
|
52592
|
-
targetCell,
|
|
52593
|
-
mergeInfo: getMergeCellInfo(targetCell),
|
|
52594
|
-
target: e.target
|
|
52595
|
-
};
|
|
52596
|
-
}
|
|
52597
|
-
return tableEvent;
|
|
52598
|
-
}
|
|
52599
|
-
function getTargetCell(target) {
|
|
52600
|
-
while (target && target.parent) {
|
|
52601
|
-
if (target.role === 'cell') {
|
|
52602
|
-
return target;
|
|
52603
|
-
}
|
|
52604
|
-
target = target.parent;
|
|
52605
|
-
}
|
|
52606
|
-
return null;
|
|
52607
|
-
}
|
|
52608
|
-
function getMergeCellInfo(cellGroup) {
|
|
52609
|
-
if (isValid$1(cellGroup.mergeStartCol) &&
|
|
52610
|
-
isValid$1(cellGroup.mergeStartRow) &&
|
|
52611
|
-
isValid$1(cellGroup.mergeEndCol) &&
|
|
52612
|
-
isValid$1(cellGroup.mergeEndRow)) {
|
|
52613
|
-
return {
|
|
52614
|
-
colStart: cellGroup.mergeStartCol,
|
|
52615
|
-
colEnd: cellGroup.mergeEndCol,
|
|
52616
|
-
rowStart: cellGroup.mergeStartRow,
|
|
52617
|
-
rowEnd: cellGroup.mergeEndRow
|
|
52618
|
-
};
|
|
52619
|
-
}
|
|
52620
|
-
return undefined;
|
|
52621
|
-
}
|
|
52622
|
-
const regIndexReg = /radio-\d+-\d+-(\d+)/;
|
|
52623
|
-
|
|
52624
52945
|
function bindTableGroupListener(eventManager) {
|
|
52625
52946
|
const table = eventManager.table;
|
|
52626
52947
|
const stateManager = table.stateManager;
|
|
@@ -57858,7 +58179,7 @@
|
|
|
57858
58179
|
const customStyleId = this.getCustomCellStyleId(col, row);
|
|
57859
58180
|
if (customStyleId) {
|
|
57860
58181
|
const styleOption = this.getCustomCellStyleOption(customStyleId);
|
|
57861
|
-
return styleOption
|
|
58182
|
+
return styleOption?.style;
|
|
57862
58183
|
}
|
|
57863
58184
|
return undefined;
|
|
57864
58185
|
}
|
|
@@ -57949,6 +58270,8 @@
|
|
|
57949
58270
|
this.table.scenegraph.updateNextFrame();
|
|
57950
58271
|
}
|
|
57951
58272
|
updateCustomCell(customCellStyle, customCellStyleArrangement) {
|
|
58273
|
+
this.customCellStyle.length = 0;
|
|
58274
|
+
this.customCellStyleArrangement.length = 0;
|
|
57952
58275
|
customCellStyle.forEach((cellStyle) => {
|
|
57953
58276
|
this.registerCustomCellStyle(cellStyle.id, cellStyle.style);
|
|
57954
58277
|
});
|
|
@@ -57956,6 +58279,9 @@
|
|
|
57956
58279
|
this.arrangeCustomCellStyle(cellStyle.cellPosition, cellStyle.customStyleId);
|
|
57957
58280
|
});
|
|
57958
58281
|
}
|
|
58282
|
+
hasCustomCellStyle(customStyleId) {
|
|
58283
|
+
return this.customCellStyle.some(style => style.id === customStyleId);
|
|
58284
|
+
}
|
|
57959
58285
|
}
|
|
57960
58286
|
function mergeStyle(cacheStyle, customCellStyle) {
|
|
57961
58287
|
cacheStyle = cacheStyle.clone();
|
|
@@ -58670,7 +58996,7 @@
|
|
|
58670
58996
|
return TABLE_EVENT_TYPE;
|
|
58671
58997
|
}
|
|
58672
58998
|
options;
|
|
58673
|
-
version = "1.
|
|
58999
|
+
version = "1.2.0-alpha.1";
|
|
58674
59000
|
pagination;
|
|
58675
59001
|
id = `VTable${Date.now()}`;
|
|
58676
59002
|
headerStyleCache;
|
|
@@ -59874,6 +60200,7 @@
|
|
|
59874
60200
|
IconCache.clearAll();
|
|
59875
60201
|
super.release?.();
|
|
59876
60202
|
internalProps.handler?.release?.();
|
|
60203
|
+
this.eventManager.release();
|
|
59877
60204
|
internalProps.focusControl?.release?.();
|
|
59878
60205
|
internalProps.legends?.forEach(legend => {
|
|
59879
60206
|
legend?.release();
|
|
@@ -59895,6 +60222,8 @@
|
|
|
59895
60222
|
}
|
|
59896
60223
|
this.editorManager?.editingEditor?.onEnd?.();
|
|
59897
60224
|
this.isReleased = true;
|
|
60225
|
+
this.scenegraph = null;
|
|
60226
|
+
this.internalProps = null;
|
|
59898
60227
|
}
|
|
59899
60228
|
fireListeners(type, event) {
|
|
59900
60229
|
return super.fireListeners(type, event);
|
|
@@ -61421,6 +61750,9 @@
|
|
|
61421
61750
|
}
|
|
61422
61751
|
changeRecordOrder(source, target) {
|
|
61423
61752
|
}
|
|
61753
|
+
hasCustomCellStyle(customStyleId) {
|
|
61754
|
+
return this.customCellStylePlugin.hasCustomCellStyle(customStyleId);
|
|
61755
|
+
}
|
|
61424
61756
|
registerCustomCellStyle(customStyleId, customStyle) {
|
|
61425
61757
|
this.customCellStylePlugin.registerCustomCellStyle(customStyleId, customStyle);
|
|
61426
61758
|
}
|
|
@@ -71646,7 +71978,7 @@
|
|
|
71646
71978
|
}
|
|
71647
71979
|
|
|
71648
71980
|
registerForVrender();
|
|
71649
|
-
const version = "1.
|
|
71981
|
+
const version = "1.2.0-alpha.1";
|
|
71650
71982
|
function getIcons() {
|
|
71651
71983
|
return get$2();
|
|
71652
71984
|
}
|