@visactor/vtable 0.24.2-alpha.4 → 0.25.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 +5 -3
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.js +14 -12
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.js +89 -43
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +1 -0
- package/cjs/core/BaseTable.js +62 -16
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/TABLE_EVENT_TYPE.d.ts +3 -1
- package/cjs/core/TABLE_EVENT_TYPE.js +3 -0
- package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/cjs/dataset/dataset.d.ts +1 -0
- package/cjs/dataset/dataset.js +14 -0
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/dataset/flatDataToObject.d.ts +8 -3
- package/cjs/dataset/flatDataToObject.js +39 -8
- package/cjs/dataset/flatDataToObject.js.map +1 -1
- package/cjs/edit/edit-manager.js +0 -2
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/event.d.ts +2 -0
- package/cjs/event/event.js +12 -2
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/container-dom.js +5 -2
- package/cjs/event/listener/container-dom.js.map +1 -1
- package/cjs/event/listener/scroll-bar.js +8 -0
- package/cjs/event/listener/scroll-bar.js.map +1 -1
- package/cjs/event/listener/table-group.js +23 -8
- 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/pivot-header-layout.d.ts +1 -0
- package/cjs/layout/pivot-header-layout.js +16 -4
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/scenegraph/component/table-component.d.ts +8 -0
- package/cjs/scenegraph/component/table-component.js +180 -2
- package/cjs/scenegraph/component/table-component.js.map +1 -1
- package/cjs/scenegraph/component/util.d.ts +1 -0
- package/cjs/scenegraph/component/util.js +8 -2
- package/cjs/scenegraph/component/util.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +18 -9
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +5 -5
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.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/frozen.js +4 -2
- package/cjs/scenegraph/layout/frozen.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +7 -0
- package/cjs/scenegraph/scenegraph.js +42 -19
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/select/update-select-border.js +4 -4
- package/cjs/scenegraph/select/update-select-border.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/resize/update-resize-column.js +4 -3
- package/cjs/state/resize/update-resize-column.js.map +1 -1
- package/cjs/state/resize/update-resize-row.d.ts +2 -0
- package/cjs/state/resize/update-resize-row.js +63 -0
- package/cjs/state/resize/update-resize-row.js.map +1 -0
- package/cjs/state/state.d.ts +11 -1
- package/cjs/state/state.js +30 -5
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/component.js +1 -1
- package/cjs/tools/global.d.ts +1 -0
- package/cjs/tools/global.js +2 -2
- package/cjs/tools/global.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +7 -0
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/events.d.ts +11 -0
- package/cjs/ts-types/events.js.map +1 -1
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.d.ts +6 -1
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.d.ts +3 -0
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +5 -0
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +914 -107
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +5 -3
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.js +14 -12
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.js +89 -43
- package/es/PivotTable.js.map +1 -1
- package/es/core/BaseTable.d.ts +1 -0
- package/es/core/BaseTable.js +62 -17
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/TABLE_EVENT_TYPE.d.ts +3 -1
- package/es/core/TABLE_EVENT_TYPE.js +3 -0
- package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/es/dataset/dataset.d.ts +1 -0
- package/es/dataset/dataset.js +14 -0
- package/es/dataset/dataset.js.map +1 -1
- package/es/dataset/flatDataToObject.d.ts +8 -3
- package/es/dataset/flatDataToObject.js +38 -8
- package/es/dataset/flatDataToObject.js.map +1 -1
- package/es/edit/edit-manager.js +0 -2
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/event.d.ts +2 -0
- package/es/event/event.js +12 -2
- package/es/event/event.js.map +1 -1
- package/es/event/listener/container-dom.js +5 -2
- package/es/event/listener/container-dom.js.map +1 -1
- package/es/event/listener/scroll-bar.js +8 -0
- package/es/event/listener/scroll-bar.js.map +1 -1
- package/es/event/listener/table-group.js +23 -8
- 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/pivot-header-layout.d.ts +1 -0
- package/es/layout/pivot-header-layout.js +12 -2
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/scenegraph/component/table-component.d.ts +8 -0
- package/es/scenegraph/component/table-component.js +181 -3
- package/es/scenegraph/component/table-component.js.map +1 -1
- package/es/scenegraph/component/util.d.ts +1 -0
- package/es/scenegraph/component/util.js +7 -1
- package/es/scenegraph/component/util.js.map +1 -1
- package/es/scenegraph/graphic/contributions/group-contribution-render.js +18 -9
- package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +5 -4
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.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/frozen.js +4 -2
- package/es/scenegraph/layout/frozen.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +7 -0
- package/es/scenegraph/scenegraph.js +44 -19
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/select/update-select-border.js +4 -4
- package/es/scenegraph/select/update-select-border.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/resize/update-resize-column.js +4 -3
- package/es/state/resize/update-resize-column.js.map +1 -1
- package/es/state/resize/update-resize-row.d.ts +2 -0
- package/es/state/resize/update-resize-row.js +57 -0
- package/es/state/resize/update-resize-row.js.map +1 -0
- package/es/state/state.d.ts +11 -1
- package/es/state/state.js +31 -4
- package/es/state/state.js.map +1 -1
- package/es/themes/component.js +1 -1
- package/es/tools/global.d.ts +1 -0
- package/es/tools/global.js +2 -0
- package/es/tools/global.js.map +1 -1
- package/es/ts-types/base-table.d.ts +7 -0
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/events.d.ts +11 -0
- package/es/ts-types/events.js.map +1 -1
- package/es/ts-types/pivot-table/dimension/basic-dimension.d.ts +6 -1
- package/es/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
- package/es/ts-types/pivot-table/indicator/basic-indicator.d.ts +3 -0
- package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +5 -0
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +5 -5
package/es/core/BaseTable.js
CHANGED
|
@@ -82,10 +82,10 @@ export class BaseTable extends EventTarget {
|
|
|
82
82
|
}
|
|
83
83
|
constructor(container, options = {}) {
|
|
84
84
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
85
|
-
if (super(), this.showFrozenIcon = !0, this.version = "0.
|
|
85
|
+
if (super(), this.showFrozenIcon = !0, this.version = "0.25.0", this.id = `VTable${Date.now()}`,
|
|
86
86
|
this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = throttle2(this.render.bind(this), 200),
|
|
87
87
|
!container && "node" !== options.mode) throw new Error("vtable's container is undefined");
|
|
88
|
-
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, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth} = options;
|
|
88
|
+
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 = defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight} = options;
|
|
89
89
|
this.container = container, this.options = options, this._widthMode = widthMode,
|
|
90
90
|
this._heightMode = heightMode, this._widthAdaptiveMode = widthAdaptiveMode, this._heightAdaptiveMode = heightAdaptiveMode,
|
|
91
91
|
this._autoFillWidth = autoFillWidth, this._autoFillHeight = autoFillHeight, this.customRender = customRender,
|
|
@@ -111,12 +111,13 @@ export class BaseTable extends EventTarget {
|
|
|
111
111
|
internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
|
|
112
112
|
internalProps.keyboardOptions = keyboardOptions, internalProps.eventOptions = eventOptions,
|
|
113
113
|
internalProps.rowSeriesNumber = rowSeriesNumber, internalProps.columnResizeMode = columnResizeMode,
|
|
114
|
-
internalProps.
|
|
115
|
-
|
|
114
|
+
internalProps.rowResizeMode = rowResizeMode, internalProps.dragHeaderMode = dragHeaderMode,
|
|
115
|
+
internalProps.renderChartAsync = renderChartAsync, setBatchRenderChartCount(renderChartAsyncBatchCount),
|
|
116
|
+
internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
|
|
116
117
|
internalProps._rowHeightsMap = new NumberRangeMap(this), internalProps._rowRangeHeightsMap = new Map,
|
|
117
118
|
internalProps._colRangeWidthsMap = new Map, internalProps._widthResizedColMap = new Set,
|
|
118
|
-
|
|
119
|
-
internalProps.calcWidthContext = {
|
|
119
|
+
internalProps._heightResizedRowMap = new Set, this.colWidthsMap = new NumberMap,
|
|
120
|
+
this.colContentWidthsMap = new NumberMap, this.colWidthsLimit = {}, internalProps.calcWidthContext = {
|
|
120
121
|
_: internalProps,
|
|
121
122
|
get full() {
|
|
122
123
|
var _a;
|
|
@@ -132,6 +133,7 @@ export class BaseTable extends EventTarget {
|
|
|
132
133
|
internalProps.allowFrozenColCount = null !== (_d = options.allowFrozenColCount) && void 0 !== _d ? _d : 0,
|
|
133
134
|
internalProps.limitMaxAutoWidth = null !== (_e = options.limitMaxAutoWidth) && void 0 !== _e ? _e : 450,
|
|
134
135
|
internalProps.limitMinWidth = null != limitMinWidth ? "number" == typeof limitMinWidth ? limitMinWidth : limitMinWidth ? 10 : 0 : 10,
|
|
136
|
+
internalProps.limitMinHeight = null != limitMinHeight ? "number" == typeof limitMinHeight ? limitMinHeight : limitMinHeight ? 10 : 0 : 10,
|
|
135
137
|
this._vDataSet = new DataSet, this.scenegraph = new Scenegraph(this), this.stateManager = new StateManager(this),
|
|
136
138
|
this.eventManager = new EventManager(this), options.legends && (internalProps.legends = createLegend(options.legends, this),
|
|
137
139
|
this.scenegraph.tableGroup.setAttributes({
|
|
@@ -414,7 +416,7 @@ export class BaseTable extends EventTarget {
|
|
|
414
416
|
if (startRow > endRow || 0 === this.rowCount) return 0;
|
|
415
417
|
startRow = Math.max(startRow, 0), endRow = Math.min(endRow, (null !== (_a = this.rowCount) && void 0 !== _a ? _a : 1 / 0) - 1);
|
|
416
418
|
let h = 0;
|
|
417
|
-
if ("standard" !== this.heightMode || this.autoFillHeight || !this.internalProps.layoutMap || this.hasAutoImageColumn()) h = this.rowHeightsMap.getSumInRange(startRow, endRow); else {
|
|
419
|
+
if ("standard" !== this.heightMode || this.autoFillHeight || !this.internalProps.layoutMap || this.hasAutoImageColumn() || 0 !== this.internalProps._heightResizedRowMap.size) h = this.rowHeightsMap.getSumInRange(startRow, endRow); else {
|
|
418
420
|
for (let i = startRow; i < Math.min(endRow + 1, this.columnHeaderLevelCount); i++) h += this.getRowHeight(i);
|
|
419
421
|
endRow >= this.columnHeaderLevelCount && (h += this.defaultRowHeight * (Math.min(endRow, this.rowCount - this.bottomFrozenRowCount - 1) - Math.max(this.columnHeaderLevelCount, startRow) + 1));
|
|
420
422
|
for (let i = this.rowCount - this.bottomFrozenRowCount; i < endRow + 1; i++) h += this.getRowHeight(i);
|
|
@@ -752,7 +754,7 @@ export class BaseTable extends EventTarget {
|
|
|
752
754
|
updateOption(options) {
|
|
753
755
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
754
756
|
this.options = options;
|
|
755
|
-
const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth = 80, keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, pixelRatio: pixelRatio, widthMode: widthMode, heightMode: heightMode, autoFillWidth: autoFillWidth, autoFillHeight: autoFillHeight, widthAdaptiveMode: widthAdaptiveMode, heightAdaptiveMode: heightAdaptiveMode, customRender: customRender, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth} = options;
|
|
757
|
+
const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth = 80, 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, pixelRatio: pixelRatio, widthMode: widthMode, heightMode: heightMode, autoFillWidth: autoFillWidth, autoFillHeight: autoFillHeight, widthAdaptiveMode: widthAdaptiveMode, heightAdaptiveMode: heightAdaptiveMode, customRender: customRender, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight} = options;
|
|
756
758
|
pixelRatio && pixelRatio !== this.internalProps.pixelRatio && (this.internalProps.pixelRatio = pixelRatio),
|
|
757
759
|
padding && ("number" == typeof padding ? (this.padding.top = padding, this.padding.left = padding,
|
|
758
760
|
this.padding.bottom = padding, this.padding.right = padding) : (padding.top && (this.padding.top = padding.top),
|
|
@@ -772,18 +774,20 @@ export class BaseTable extends EventTarget {
|
|
|
772
774
|
internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
|
|
773
775
|
internalProps.keyboardOptions = keyboardOptions, internalProps.eventOptions = eventOptions,
|
|
774
776
|
internalProps.rowSeriesNumber = rowSeriesNumber, internalProps.columnResizeMode = columnResizeMode,
|
|
775
|
-
internalProps.
|
|
776
|
-
|
|
777
|
+
internalProps.rowResizeMode = rowResizeMode, internalProps.dragHeaderMode = dragHeaderMode,
|
|
778
|
+
internalProps.renderChartAsync = renderChartAsync, setBatchRenderChartCount(renderChartAsyncBatchCount),
|
|
779
|
+
internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
|
|
777
780
|
internalProps.cellTextOverflows = {}, internalProps._rowHeightsMap = new NumberRangeMap(this),
|
|
778
781
|
internalProps._rowRangeHeightsMap = new Map, internalProps._colRangeWidthsMap = new Map,
|
|
779
|
-
internalProps._widthResizedColMap = new Set,
|
|
780
|
-
this.colContentWidthsMap = new NumberMap, this.colWidthsLimit = {},
|
|
781
|
-
internalProps.theme = themes.of(null !== (_b = options.theme) && void 0 !== _b ? _b : themes.DEFAULT),
|
|
782
|
+
internalProps._widthResizedColMap = new Set, internalProps._heightResizedRowMap = new Set,
|
|
783
|
+
this.colWidthsMap = new NumberMap, this.colContentWidthsMap = new NumberMap, this.colWidthsLimit = {},
|
|
784
|
+
internalProps.stick.changedCells.clear(), internalProps.theme = themes.of(null !== (_b = options.theme) && void 0 !== _b ? _b : themes.DEFAULT),
|
|
782
785
|
internalProps.theme.isPivot = this.isPivotTable(), this.scenegraph.updateStageBackground(),
|
|
783
786
|
internalProps.autoWrapText = options.autoWrapText, internalProps.enableLineBreak = options.enableLineBreak,
|
|
784
787
|
internalProps.allowFrozenColCount = null !== (_c = options.allowFrozenColCount) && void 0 !== _c ? _c : 0,
|
|
785
788
|
internalProps.limitMaxAutoWidth = null !== (_d = options.limitMaxAutoWidth) && void 0 !== _d ? _d : 450,
|
|
786
789
|
internalProps.limitMinWidth = null != limitMinWidth ? "number" == typeof limitMinWidth ? limitMinWidth : limitMinWidth ? 10 : 0 : 10,
|
|
790
|
+
internalProps.limitMinHeight = null != limitMinHeight ? "number" == typeof limitMinHeight ? limitMinHeight : limitMinHeight ? 10 : 0 : 10,
|
|
787
791
|
this._vDataSet = new DataSet, null === (_e = internalProps.legends) || void 0 === _e || _e.release(),
|
|
788
792
|
null === (_f = internalProps.title) || void 0 === _f || _f.release(), internalProps.layoutMap.release(),
|
|
789
793
|
this.scenegraph.clearCells(), this.scenegraph.updateComponent(), this.stateManager.updateOptionSetState(),
|
|
@@ -1340,6 +1344,15 @@ export class BaseTable extends EventTarget {
|
|
|
1340
1344
|
const limit = this.colWidthsLimit[col];
|
|
1341
1345
|
return !(limit && limit.min && limit.max) || limit.max !== limit.min;
|
|
1342
1346
|
}
|
|
1347
|
+
_canResizeRow(col, row) {
|
|
1348
|
+
if (!(col >= 0 && row >= 0)) return !1;
|
|
1349
|
+
if (this.isCellRangeEqual(col, row, col, row + 1)) return !1;
|
|
1350
|
+
if ("none" === this.internalProps.rowResizeMode) return !1;
|
|
1351
|
+
if ("header" === this.internalProps.rowResizeMode) {
|
|
1352
|
+
if (!this.isHeader(col, row)) return !1;
|
|
1353
|
+
} else if ("body" === this.internalProps.rowResizeMode && this.isHeader(col, row)) return !1;
|
|
1354
|
+
return !0;
|
|
1355
|
+
}
|
|
1343
1356
|
_canDragHeaderPosition(col, row) {
|
|
1344
1357
|
if (this.isHeader(col, row) && this.stateManager.isSelected(col, row)) {
|
|
1345
1358
|
if ("disabled" === this.internalProps.frozenColDragHeaderMode && this.isFrozenColumn(col)) return !1;
|
|
@@ -1592,7 +1605,31 @@ export class BaseTable extends EventTarget {
|
|
|
1592
1605
|
}
|
|
1593
1606
|
cellIsInVisualView(col, row) {
|
|
1594
1607
|
const drawRange = this.getDrawRange(), rect = this.getCellRelativeRect(col, row);
|
|
1595
|
-
|
|
1608
|
+
if (col < this.frozenColCount && row < this.frozenRowCount) return !0;
|
|
1609
|
+
const colHeaderRangeRect = this.getCellRangeRelativeRect({
|
|
1610
|
+
start: {
|
|
1611
|
+
col: 0,
|
|
1612
|
+
row: 0
|
|
1613
|
+
},
|
|
1614
|
+
end: {
|
|
1615
|
+
col: this.colCount - 1,
|
|
1616
|
+
row: this.columnHeaderLevelCount
|
|
1617
|
+
}
|
|
1618
|
+
}), rowHeaderRangeRect = this.getCellRangeRelativeRect({
|
|
1619
|
+
start: {
|
|
1620
|
+
col: 0,
|
|
1621
|
+
row: 0
|
|
1622
|
+
},
|
|
1623
|
+
end: {
|
|
1624
|
+
col: this.rowHeaderLevelCount,
|
|
1625
|
+
row: this.rowCount - 1
|
|
1626
|
+
}
|
|
1627
|
+
});
|
|
1628
|
+
if (rect.top >= drawRange.top && rect.bottom <= drawRange.bottom && rect.left >= drawRange.left && rect.right <= drawRange.right) {
|
|
1629
|
+
if (this.isHeader(col, row)) return !0;
|
|
1630
|
+
if (drawRange.top >= colHeaderRangeRect.bottom && drawRange.left >= rowHeaderRangeRect.right) return !0;
|
|
1631
|
+
}
|
|
1632
|
+
return !1;
|
|
1596
1633
|
}
|
|
1597
1634
|
getCustomMergeValue(col, row) {
|
|
1598
1635
|
if (this.internalProps.customMergeCell) {
|
|
@@ -1616,13 +1653,15 @@ export class BaseTable extends EventTarget {
|
|
|
1616
1653
|
const cellRect = this.getCellRelativeRect(col, row);
|
|
1617
1654
|
(null === (_b = null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.ranges) || void 0 === _b ? void 0 : _b.length) > 0 && hideCellSelectBorder(this.scenegraph);
|
|
1618
1655
|
const {col: hoverCol, row: hoverRow} = this.stateManager.hover.cellPos;
|
|
1619
|
-
this.stateManager.updateHoverPos(-1, -1), this.scenegraph.
|
|
1656
|
+
this.stateManager.updateHoverPos(-1, -1), this.scenegraph.component.hideVerticalScrollBar(),
|
|
1657
|
+
this.scenegraph.component.hideHorizontalScrollBar(), this.scenegraph.renderSceneGraph();
|
|
1620
1658
|
const c = this.scenegraph.stage.toCanvas(!1, (new AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY));
|
|
1621
1659
|
return isInView || (this.setScrollTop(scrollTop), this.setScrollLeft(scrollLeft)),
|
|
1622
1660
|
(null === (_d = null === (_c = this.stateManager.select) || void 0 === _c ? void 0 : _c.ranges) || void 0 === _d ? void 0 : _d.length) > 0 && restoreCellSelectBorder(this.scenegraph),
|
|
1623
1661
|
this.stateManager.updateHoverPos(hoverCol, hoverRow), c.toDataURL();
|
|
1624
1662
|
}
|
|
1625
1663
|
exportCellRangeImg(cellRange) {
|
|
1664
|
+
var _a, _b, _c, _d;
|
|
1626
1665
|
const {scrollTop: scrollTop, scrollLeft: scrollLeft} = this, minCol = Math.min(cellRange.start.col, cellRange.end.col), minRow = Math.min(cellRange.start.row, cellRange.end.row), maxCol = Math.max(cellRange.start.col, cellRange.end.col), maxRow = Math.max(cellRange.start.row, cellRange.end.row), isInView = this.cellIsInVisualView(minCol, minRow), isMaxCellInView = this.cellIsInVisualView(maxCol, maxRow);
|
|
1627
1666
|
isInView && isMaxCellInView || this.scrollToCell({
|
|
1628
1667
|
col: minCol,
|
|
@@ -1637,9 +1676,15 @@ export class BaseTable extends EventTarget {
|
|
|
1637
1676
|
col: maxCol,
|
|
1638
1677
|
row: maxRow
|
|
1639
1678
|
}
|
|
1640
|
-
})
|
|
1679
|
+
});
|
|
1680
|
+
(null === (_b = null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.ranges) || void 0 === _b ? void 0 : _b.length) > 0 && hideCellSelectBorder(this.scenegraph);
|
|
1681
|
+
const {col: hoverCol, row: hoverRow} = this.stateManager.hover.cellPos;
|
|
1682
|
+
this.stateManager.updateHoverPos(-1, -1), this.scenegraph.component.hideVerticalScrollBar(),
|
|
1683
|
+
this.scenegraph.component.hideHorizontalScrollBar(), this.scenegraph.renderSceneGraph();
|
|
1684
|
+
const base64Image = this.scenegraph.stage.toCanvas(!1, (new AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY)).toDataURL();
|
|
1641
1685
|
return isInView && isMaxCellInView || (this.setScrollTop(scrollTop), this.setScrollLeft(scrollLeft)),
|
|
1642
|
-
|
|
1686
|
+
(null === (_d = null === (_c = this.stateManager.select) || void 0 === _c ? void 0 : _c.ranges) || void 0 === _d ? void 0 : _d.length) > 0 && restoreCellSelectBorder(this.scenegraph),
|
|
1687
|
+
this.stateManager.updateHoverPos(hoverCol, hoverRow), base64Image;
|
|
1643
1688
|
}
|
|
1644
1689
|
exportCanvas() {
|
|
1645
1690
|
return this.scenegraph.stage.toCanvas();
|