@visactor/vtable 0.26.0-alpha.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/ListTable.js +13 -16
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.js +17 -7
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.js +20 -9
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +4 -1
- package/cjs/core/BaseTable.js +69 -25
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/TABLE_EVENT_TYPE.d.ts +1 -0
- package/cjs/core/TABLE_EVENT_TYPE.js +1 -0
- package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/cjs/edit/edit-manager.js +8 -7
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/listener/scroll-bar.js +6 -2
- package/cjs/event/listener/scroll-bar.js.map +1 -1
- package/cjs/event/listener/table-group.js +29 -19
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/event/util.d.ts +2 -0
- package/cjs/event/util.js +18 -4
- package/cjs/event/util.js.map +1 -1
- package/cjs/header-helper/header-helper.d.ts +1 -0
- package/cjs/header-helper/header-helper.js +8 -0
- package/cjs/header-helper/header-helper.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +2 -2
- package/cjs/index.js.map +1 -1
- package/cjs/layout/layout-helper.d.ts +0 -2
- package/cjs/layout/layout-helper.js +12 -16
- package/cjs/layout/layout-helper.js.map +1 -1
- package/cjs/layout/pivot-header-layout.d.ts +5 -0
- package/cjs/layout/pivot-header-layout.js +89 -47
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/scenegraph/component/table-component.js +26 -22
- package/cjs/scenegraph/component/table-component.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +8 -7
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/cjs/scenegraph/graphic/group.d.ts +1 -1
- package/cjs/scenegraph/graphic/group.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js +24 -18
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js +18 -16
- package/cjs/scenegraph/group-creater/cell-type/video-cell.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/group-creater/progress/proxy.js +4 -2
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/cjs/scenegraph/layout/compute-col-width.js +2 -1
- package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
- package/cjs/scenegraph/layout/frozen.js +1 -1
- package/cjs/scenegraph/layout/frozen.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +2 -2
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +4 -2
- package/cjs/scenegraph/scenegraph.js +13 -6
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/select/update-select-border.d.ts +4 -1
- package/cjs/scenegraph/select/update-select-border.js +6 -1
- package/cjs/scenegraph/select/update-select-border.js.map +1 -1
- package/cjs/scenegraph/utils/break-string.js +1 -1
- package/cjs/scenegraph/utils/break-string.js.map +1 -1
- package/cjs/scenegraph/utils/text-icon-layout.js +4 -4
- package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/cjs/scenegraph/utils/text-measure.js +3 -1
- package/cjs/scenegraph/utils/text-measure.js.map +1 -1
- package/cjs/state/cell-move/index.js +2 -1
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/state/checkbox/checkbox.d.ts +1 -0
- package/cjs/state/checkbox/checkbox.js +12 -2
- package/cjs/state/checkbox/checkbox.js.map +1 -1
- package/cjs/state/radio/radio.d.ts +1 -0
- package/cjs/state/radio/radio.js +13 -2
- package/cjs/state/radio/radio.js.map +1 -1
- package/cjs/state/select/update-position.js +12 -8
- package/cjs/state/select/update-position.js.map +1 -1
- package/cjs/state/state.d.ts +4 -1
- package/cjs/state/state.js +5 -1
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/theme.js +3 -0
- package/cjs/themes/theme.js.map +1 -1
- package/cjs/tools/helper.js +2 -2
- package/cjs/tools/helper.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +9 -0
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/common.d.ts +6 -0
- package/cjs/ts-types/common.js.map +1 -1
- package/cjs/ts-types/events.d.ts +4 -1
- package/cjs/ts-types/events.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +1 -0
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/ts-types/theme.d.ts +1 -0
- package/cjs/ts-types/theme.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +513 -173
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +8 -12
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.js +9 -5
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.js +17 -10
- package/es/PivotTable.js.map +1 -1
- package/es/core/BaseTable.d.ts +4 -1
- package/es/core/BaseTable.js +70 -25
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/TABLE_EVENT_TYPE.d.ts +1 -0
- package/es/core/TABLE_EVENT_TYPE.js +1 -0
- package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/es/edit/edit-manager.js +8 -7
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/listener/scroll-bar.js +6 -2
- package/es/event/listener/scroll-bar.js.map +1 -1
- package/es/event/listener/table-group.js +29 -19
- package/es/event/listener/table-group.js.map +1 -1
- package/es/event/util.d.ts +2 -0
- package/es/event/util.js +12 -0
- package/es/event/util.js.map +1 -1
- package/es/header-helper/header-helper.d.ts +1 -0
- package/es/header-helper/header-helper.js +8 -0
- package/es/header-helper/header-helper.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.d.ts +0 -2
- package/es/layout/layout-helper.js +11 -17
- package/es/layout/layout-helper.js.map +1 -1
- package/es/layout/pivot-header-layout.d.ts +5 -0
- package/es/layout/pivot-header-layout.js +90 -46
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/scenegraph/component/table-component.js +27 -21
- package/es/scenegraph/component/table-component.js.map +1 -1
- package/es/scenegraph/graphic/contributions/group-contribution-render.js +8 -7
- package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/es/scenegraph/graphic/group.d.ts +1 -1
- package/es/scenegraph/graphic/group.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/image-cell.js +21 -17
- package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.js +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/video-cell.js +18 -15
- package/es/scenegraph/group-creater/cell-type/video-cell.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/group-creater/progress/proxy.js +4 -2
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/es/scenegraph/layout/compute-col-width.js +2 -1
- package/es/scenegraph/layout/compute-col-width.js.map +1 -1
- package/es/scenegraph/layout/frozen.js +1 -1
- package/es/scenegraph/layout/frozen.js.map +1 -1
- package/es/scenegraph/layout/update-height.js +2 -2
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +4 -2
- package/es/scenegraph/scenegraph.js +13 -6
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/select/update-select-border.d.ts +4 -1
- package/es/scenegraph/select/update-select-border.js +6 -1
- package/es/scenegraph/select/update-select-border.js.map +1 -1
- package/es/scenegraph/utils/break-string.js +1 -1
- package/es/scenegraph/utils/break-string.js.map +1 -1
- package/es/scenegraph/utils/text-icon-layout.js +4 -4
- package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/es/scenegraph/utils/text-measure.js +3 -1
- package/es/scenegraph/utils/text-measure.js.map +1 -1
- package/es/state/cell-move/index.js +2 -1
- package/es/state/cell-move/index.js.map +1 -1
- package/es/state/checkbox/checkbox.d.ts +1 -0
- package/es/state/checkbox/checkbox.js +10 -0
- package/es/state/checkbox/checkbox.js.map +1 -1
- package/es/state/radio/radio.d.ts +1 -0
- package/es/state/radio/radio.js +10 -0
- package/es/state/radio/radio.js.map +1 -1
- package/es/state/select/update-position.js +12 -8
- package/es/state/select/update-position.js.map +1 -1
- package/es/state/state.d.ts +4 -1
- package/es/state/state.js +7 -3
- package/es/state/state.js.map +1 -1
- package/es/themes/theme.js +3 -0
- package/es/themes/theme.js.map +1 -1
- package/es/tools/helper.js +2 -2
- package/es/tools/helper.js.map +1 -1
- package/es/ts-types/base-table.d.ts +9 -0
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/common.d.ts +6 -0
- package/es/ts-types/common.js.map +1 -1
- package/es/ts-types/events.d.ts +4 -1
- package/es/ts-types/events.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +1 -0
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/ts-types/theme.d.ts +1 -0
- package/es/ts-types/theme.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +5 -5
package/cjs/core/BaseTable.js
CHANGED
|
@@ -45,7 +45,7 @@ class BaseTable extends EventTarget_1.EventTarget {
|
|
|
45
45
|
}
|
|
46
46
|
constructor(container, options = {}) {
|
|
47
47
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
48
|
-
if (super(), this.showFrozenIcon = !0, this.version = "0.
|
|
48
|
+
if (super(), this.showFrozenIcon = !0, this.version = "1.0.0", this.id = `VTable${Date.now()}`,
|
|
49
49
|
this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200),
|
|
50
50
|
!container && "node" !== options.mode) throw new Error("vtable's container is undefined");
|
|
51
51
|
const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, autoFillHeight: autoFillHeight = !1, widthAdaptiveMode: widthAdaptiveMode = "only-body", heightAdaptiveMode: heightAdaptiveMode = "only-body", keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, rowResizeMode: rowResizeMode = "none", dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = pixel_ratio_1.defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight, clearDOM: clearDOM = !0} = options;
|
|
@@ -316,29 +316,36 @@ class BaseTable extends EventTarget_1.EventTarget {
|
|
|
316
316
|
this.internalProps.pixelRatio = pixelRatio, this.scenegraph.setPixelRatio(pixelRatio);
|
|
317
317
|
}
|
|
318
318
|
_updateSize() {
|
|
319
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0
|
|
319
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
|
|
320
320
|
const {padding: padding} = this;
|
|
321
321
|
let widthP = 0, heightP = 0;
|
|
322
322
|
if ("browser" === env_1.Env.mode) {
|
|
323
|
-
const element = this.getElement()
|
|
323
|
+
const element = this.getElement();
|
|
324
|
+
let widthWithoutPadding = 0, heightWithoutPadding = 0;
|
|
325
|
+
if (element.parentElement) {
|
|
326
|
+
const computedStyle = element.parentElement.style || window.getComputedStyle(element.parentElement);
|
|
327
|
+
widthWithoutPadding = element.parentElement.offsetWidth - parseInt(computedStyle.paddingLeft || "0px", 10) - parseInt(computedStyle.paddingRight || "0px", 10),
|
|
328
|
+
heightWithoutPadding = element.parentElement.offsetHeight - parseInt(computedStyle.paddingTop || "0px", 10) - parseInt(computedStyle.paddingBottom || "0px", 20);
|
|
329
|
+
}
|
|
330
|
+
const width1 = null != widthWithoutPadding ? widthWithoutPadding : 0, height1 = null != heightWithoutPadding ? heightWithoutPadding : 0;
|
|
324
331
|
element.style.width = width1 && width1 - padding.left - padding.right + "px" || "0px",
|
|
325
332
|
element.style.height = height1 && height1 - padding.top - padding.bottom + "px" || "0px";
|
|
326
333
|
const {canvas: canvas} = this.internalProps;
|
|
327
|
-
widthP = null !== (
|
|
328
|
-
heightP = null !== (
|
|
329
|
-
(null === (
|
|
334
|
+
widthP = null !== (_b = null === (_a = canvas.parentElement) || void 0 === _a ? void 0 : _a.offsetWidth) && void 0 !== _b ? _b : 0,
|
|
335
|
+
heightP = null !== (_d = null === (_c = canvas.parentElement) || void 0 === _c ? void 0 : _c.offsetHeight) && void 0 !== _d ? _d : 0,
|
|
336
|
+
(null === (_e = null == this ? void 0 : this.scenegraph) || void 0 === _e ? void 0 : _e.stage) ? this.scenegraph.stage.resize(widthP, heightP) : (canvas.style.width = "",
|
|
330
337
|
canvas.style.height = "", canvas.width = widthP, canvas.height = heightP, canvas.style.width = `${widthP}px`,
|
|
331
338
|
canvas.style.height = `${heightP}px`);
|
|
332
339
|
} else "node" === env_1.Env.mode && (widthP = this.canvasWidth - 1, heightP = this.canvasHeight - 1);
|
|
333
340
|
const width = Math.floor(widthP - style.getScrollBarSize(this.getTheme().scrollStyle)), height = Math.floor(heightP - style.getScrollBarSize(this.getTheme().scrollStyle));
|
|
334
|
-
if (null === (
|
|
335
|
-
const lineWidths = toBoxArray(null !== (
|
|
336
|
-
(null === (
|
|
337
|
-
this.tableY = 0, this.tableNoFrameWidth = width - (null !== (
|
|
338
|
-
this.tableNoFrameHeight = height - (null !== (
|
|
339
|
-
this.tableY = (null !== (
|
|
340
|
-
this.tableNoFrameWidth = width - ((null !== (
|
|
341
|
-
this.tableNoFrameHeight = height - ((null !== (
|
|
341
|
+
if (null === (_f = this.internalProps.theme) || void 0 === _f ? void 0 : _f.frameStyle) {
|
|
342
|
+
const lineWidths = toBoxArray(null !== (_h = null === (_g = this.internalProps.theme.frameStyle) || void 0 === _g ? void 0 : _g.borderLineWidth) && void 0 !== _h ? _h : [ null ]), shadowWidths = toBoxArray(null !== (_k = null === (_j = this.internalProps.theme.frameStyle) || void 0 === _j ? void 0 : _j.shadowBlur) && void 0 !== _k ? _k : [ 0 ]);
|
|
343
|
+
(null === (_l = this.theme.frameStyle) || void 0 === _l ? void 0 : _l.innerBorder) ? (this.tableX = 0,
|
|
344
|
+
this.tableY = 0, this.tableNoFrameWidth = width - (null !== (_m = shadowWidths[1]) && void 0 !== _m ? _m : 0),
|
|
345
|
+
this.tableNoFrameHeight = height - (null !== (_o = shadowWidths[2]) && void 0 !== _o ? _o : 0)) : (this.tableX = (null !== (_p = lineWidths[3]) && void 0 !== _p ? _p : 0) + (null !== (_q = shadowWidths[3]) && void 0 !== _q ? _q : 0),
|
|
346
|
+
this.tableY = (null !== (_r = lineWidths[0]) && void 0 !== _r ? _r : 0) + (null !== (_s = shadowWidths[0]) && void 0 !== _s ? _s : 0),
|
|
347
|
+
this.tableNoFrameWidth = width - ((null !== (_t = lineWidths[1]) && void 0 !== _t ? _t : 0) + (null !== (_u = shadowWidths[1]) && void 0 !== _u ? _u : 0)) - ((null !== (_v = lineWidths[3]) && void 0 !== _v ? _v : 0) + (null !== (_w = shadowWidths[3]) && void 0 !== _w ? _w : 0)),
|
|
348
|
+
this.tableNoFrameHeight = height - ((null !== (_x = lineWidths[0]) && void 0 !== _x ? _x : 0) + (null !== (_y = shadowWidths[0]) && void 0 !== _y ? _y : 0)) - ((null !== (_z = lineWidths[2]) && void 0 !== _z ? _z : 0) + (null !== (_0 = shadowWidths[2]) && void 0 !== _0 ? _0 : 0)));
|
|
342
349
|
}
|
|
343
350
|
}
|
|
344
351
|
get rowHierarchyType() {
|
|
@@ -362,7 +369,16 @@ class BaseTable extends EventTarget_1.EventTarget {
|
|
|
362
369
|
Math.round(w);
|
|
363
370
|
}
|
|
364
371
|
getRowHeight(row) {
|
|
365
|
-
|
|
372
|
+
var _a;
|
|
373
|
+
if ((0, vutils_1.isValid)(this.rowHeightsMap.get(row))) {
|
|
374
|
+
if (null === (_a = this.options.customConfig) || void 0 === _a ? void 0 : _a._disableColumnAndRowSizeRound) {
|
|
375
|
+
const height = this.rowHeightsMap.get(row);
|
|
376
|
+
let heightRange;
|
|
377
|
+
return heightRange = row < this.frozenRowCount ? this.rowHeightsMap.getSumInRange(0, row) : row >= this.rowCount - this.bottomFrozenRowCount ? this.rowHeightsMap.getSumInRange(row, this.rowCount - 1) : this.rowHeightsMap.getSumInRange(this.frozenRowCount, row),
|
|
378
|
+
heightRange = Number(heightRange.toFixed(2)), Number.isInteger(heightRange) ? Math.ceil(height) : Math.floor(height);
|
|
379
|
+
}
|
|
380
|
+
return this.rowHeightsMap.get(row);
|
|
381
|
+
}
|
|
366
382
|
const defaultHeight = this.getDefaultRowHeight(row);
|
|
367
383
|
return (0, vutils_1.isNumber)(defaultHeight) ? defaultHeight : this.defaultRowHeight;
|
|
368
384
|
}
|
|
@@ -375,14 +391,24 @@ class BaseTable extends EventTarget_1.EventTarget {
|
|
|
375
391
|
return this.isColumnHeader(0, row) || this.isCornerHeader(0, row) || this.isSeriesNumberInHeader(0, row) ? Array.isArray(this.defaultHeaderRowHeight) ? null !== (_a = this.defaultHeaderRowHeight[row]) && void 0 !== _a ? _a : this.internalProps.defaultRowHeight : this.defaultHeaderRowHeight : this.isBottomFrozenRow(row) ? Array.isArray(this.defaultHeaderRowHeight) ? null !== (_b = this.defaultHeaderRowHeight[this.columnHeaderLevelCount > 0 ? this.columnHeaderLevelCount - this.bottomFrozenRowCount : 0]) && void 0 !== _b ? _b : this.internalProps.defaultRowHeight : this.defaultHeaderRowHeight : this.internalProps.defaultRowHeight;
|
|
376
392
|
}
|
|
377
393
|
_setRowHeight(row, height, clearCache) {
|
|
378
|
-
|
|
394
|
+
var _a;
|
|
395
|
+
this.rowHeightsMap.put(row, (null === (_a = this.options.customConfig) || void 0 === _a ? void 0 : _a._disableColumnAndRowSizeRound) ? height : Math.round(height)),
|
|
396
|
+
clearCache && this._clearRowRangeHeightsMap(row);
|
|
379
397
|
}
|
|
380
398
|
getRowsHeight(startRow, endRow) {
|
|
381
|
-
var _a;
|
|
399
|
+
var _a, _b;
|
|
382
400
|
if (startRow > endRow || 0 === this.rowCount) return 0;
|
|
383
401
|
startRow = Math.max(startRow, 0), endRow = Math.min(endRow, (null !== (_a = this.rowCount) && void 0 !== _a ? _a : 1 / 0) - 1);
|
|
384
402
|
let h = 0;
|
|
385
|
-
if ("standard" !== this.heightMode || this.autoFillHeight || !this.internalProps.layoutMap || this.hasAutoImageColumn() || 0 !== this.internalProps._heightResizedRowMap.size)
|
|
403
|
+
if ("standard" !== this.heightMode || this.autoFillHeight || !this.internalProps.layoutMap || this.hasAutoImageColumn() || 0 !== this.internalProps._heightResizedRowMap.size) {
|
|
404
|
+
if (null === (_b = this.options.customConfig) || void 0 === _b ? void 0 : _b._disableColumnAndRowSizeRound) {
|
|
405
|
+
const tempH = this.rowHeightsMap.getSumInRange(startRow, endRow);
|
|
406
|
+
let heightRange;
|
|
407
|
+
return heightRange = endRow < this.frozenRowCount ? this.rowHeightsMap.getSumInRange(0, endRow) : endRow >= this.rowCount - this.bottomFrozenRowCount ? this.rowHeightsMap.getSumInRange(endRow, this.rowCount - 1) : this.rowHeightsMap.getSumInRange(this.frozenRowCount, endRow),
|
|
408
|
+
heightRange = Number(heightRange.toFixed(2)), Number.isInteger(heightRange) ? Math.ceil(tempH) : Math.floor(tempH);
|
|
409
|
+
}
|
|
410
|
+
h = this.rowHeightsMap.getSumInRange(startRow, endRow);
|
|
411
|
+
} else {
|
|
386
412
|
for (let i = startRow; i < Math.min(endRow + 1, this.columnHeaderLevelCount); i++) h += this.getRowHeight(i);
|
|
387
413
|
endRow >= this.columnHeaderLevelCount && (h += this.defaultRowHeight * (Math.min(endRow, this.rowCount - this.bottomFrozenRowCount - 1) - Math.max(this.columnHeaderLevelCount, startRow) + 1));
|
|
388
414
|
for (let i = this.rowCount - this.bottomFrozenRowCount; i < endRow + 1; i++) h += this.getRowHeight(i);
|
|
@@ -1613,7 +1639,7 @@ class BaseTable extends EventTarget_1.EventTarget {
|
|
|
1613
1639
|
exportImg() {
|
|
1614
1640
|
return this.scenegraph.stage.toCanvas().toDataURL();
|
|
1615
1641
|
}
|
|
1616
|
-
exportCellImg(col, row) {
|
|
1642
|
+
exportCellImg(col, row, options) {
|
|
1617
1643
|
var _a, _b, _c, _d;
|
|
1618
1644
|
const isInView = this.cellIsInVisualView(col, row), {scrollTop: scrollTop, scrollLeft: scrollLeft} = this;
|
|
1619
1645
|
isInView || this.scrollToCell({
|
|
@@ -1624,13 +1650,31 @@ class BaseTable extends EventTarget_1.EventTarget {
|
|
|
1624
1650
|
(null === (_b = null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.ranges) || void 0 === _b ? void 0 : _b.length) > 0 && (0,
|
|
1625
1651
|
update_select_border_1.hideCellSelectBorder)(this.scenegraph);
|
|
1626
1652
|
const {col: hoverCol, row: hoverRow} = this.stateManager.hover.cellPos;
|
|
1627
|
-
|
|
1628
|
-
this.
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1653
|
+
let oldFill, oldStroke;
|
|
1654
|
+
if (this.stateManager.updateHoverPos(-1, -1), this.scenegraph.component.hideVerticalScrollBar(),
|
|
1655
|
+
this.scenegraph.component.hideHorizontalScrollBar(), this.scenegraph.tableGroup.border.setAttribute("visible", !1),
|
|
1656
|
+
null == options ? void 0 : options.disableBackground) {
|
|
1657
|
+
const cellGroup = this.scenegraph.getCell(col, row);
|
|
1658
|
+
oldFill = cellGroup.attribute.fill, cellGroup.setAttribute("fill", "transparent");
|
|
1659
|
+
}
|
|
1660
|
+
if (null == options ? void 0 : options.disableBorder) {
|
|
1661
|
+
const cellGroup = this.scenegraph.getCell(col, row);
|
|
1662
|
+
oldStroke = cellGroup.attribute.stroke, cellGroup.setAttribute("stroke", !1);
|
|
1663
|
+
}
|
|
1664
|
+
this.scenegraph.renderSceneGraph();
|
|
1665
|
+
let sizeOffset = 0;
|
|
1666
|
+
"bottom-right" === this.theme.cellBorderClipDirection && (sizeOffset = 1);
|
|
1667
|
+
const c = this.scenegraph.stage.toCanvas(!1, (new vutils_1.AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX - sizeOffset, cellRect.bottom + this.tableY - sizeOffset));
|
|
1668
|
+
if (isInView || (this.setScrollTop(scrollTop), this.setScrollLeft(scrollLeft)),
|
|
1669
|
+
this.scenegraph.tableGroup.border.setAttribute("visible", !0), oldFill) {
|
|
1670
|
+
this.scenegraph.getCell(col, row).setAttribute("fill", oldFill);
|
|
1671
|
+
}
|
|
1672
|
+
if (oldStroke) {
|
|
1673
|
+
this.scenegraph.getCell(col, row).setAttribute("stroke", oldStroke);
|
|
1674
|
+
}
|
|
1675
|
+
return (null === (_d = null === (_c = this.stateManager.select) || void 0 === _c ? void 0 : _c.ranges) || void 0 === _d ? void 0 : _d.length) > 0 && (0,
|
|
1632
1676
|
update_select_border_1.restoreCellSelectBorder)(this.scenegraph), this.stateManager.updateHoverPos(hoverCol, hoverRow),
|
|
1633
|
-
c.toDataURL();
|
|
1677
|
+
this.scenegraph.updateNextFrame(), c.toDataURL();
|
|
1634
1678
|
}
|
|
1635
1679
|
exportCellRangeImg(cellRange) {
|
|
1636
1680
|
var _a, _b, _c, _d;
|