@visactor/vtable 1.26.2 → 1.26.3-alpha.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/dataset/DataStatistics.js +1 -2
- package/cjs/edit/edit-manager.js +1 -0
- package/cjs/event/EventHandler.js +1 -1
- package/cjs/event/EventTarget.js +1 -1
- package/cjs/event/drill.js +1 -1
- package/cjs/event/event.js +1 -1
- package/cjs/event/helper.js +1 -1
- package/cjs/event/media-click.js +1 -1
- package/cjs/event/scroll.js +1 -1
- package/cjs/event/sparkline-event.js +1 -1
- package/cjs/event/util.js +1 -1
- package/cjs/header-helper/style.js +2 -1
- package/cjs/layout/pivot-header-layout.js +0 -1
- package/cjs/plugins/index.js +1 -1
- package/cjs/plugins/interface.js +1 -1
- package/cjs/plugins/invert-highlight.js +1 -1
- package/cjs/plugins/list-tree-stick-cell.js +1 -1
- package/cjs/plugins/plugin-manager.js +1 -1
- package/cjs/scenegraph/component/table-component.js +41 -50
- 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 +9 -1
- package/cjs/scenegraph/component/util.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +6 -4
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/state/state.js +16 -16
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/ARCO.js +1 -1
- package/cjs/themes/BRIGHT.js +1 -1
- package/dist/vtable.js +80 -78
- package/dist/vtable.min.js +1 -1
- package/es/dataset/DataStatistics.js +1 -2
- package/es/edit/edit-manager.js +2 -1
- package/es/event/EventHandler.js +1 -1
- package/es/event/EventTarget.js +1 -1
- package/es/event/drill.js +1 -1
- package/es/event/event.js +1 -1
- package/es/event/helper.js +1 -1
- package/es/event/media-click.js +1 -1
- package/es/event/scroll.js +1 -1
- package/es/event/sparkline-event.js +1 -1
- package/es/event/util.js +1 -1
- package/es/header-helper/style.js +2 -1
- package/es/layout/pivot-header-layout.js +1 -2
- package/es/plugins/index.js +1 -1
- package/es/plugins/interface.js +1 -1
- package/es/plugins/invert-highlight.js +1 -1
- package/es/plugins/list-tree-stick-cell.js +1 -1
- package/es/plugins/plugin-manager.js +1 -1
- package/es/scenegraph/component/table-component.js +41 -51
- 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 +6 -0
- package/es/scenegraph/component/util.js.map +1 -1
- package/es/scenegraph/scenegraph.js +6 -4
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/state/state.js +16 -14
- package/es/state/state.js.map +1 -1
- package/es/themes/ARCO.js +1 -1
- package/es/themes/BRIGHT.js +1 -1
- package/package.json +4 -4
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { BaseTableAPI } from '../../ts-types/base-table';
|
|
2
|
+
export declare function getBodyHorizontalScrollRange(table: BaseTableAPI): number;
|
|
2
3
|
export declare function getColX(col: number, table: BaseTableAPI, isRightFrozen?: boolean): number;
|
|
3
4
|
export declare function getRowY(row: number, table: BaseTableAPI, isBottomFrozen?: boolean): number;
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function getBodyHorizontalScrollRange(table) {
|
|
4
|
+
var _a, _b, _c, _d;
|
|
5
|
+
const totalWidth = table.getAllColsWidth(), frozenColsWidth = table.getFrozenColsWidth(), rightFrozenColsWidth = table.getRightFrozenColsWidth(), frozenColsContentWidth = null !== (_b = null === (_a = table.getFrozenColsContentWidth) || void 0 === _a ? void 0 : _a.call(table)) && void 0 !== _b ? _b : frozenColsWidth, rightFrozenColsContentWidth = null !== (_d = null === (_c = table.getRightFrozenColsContentWidth) || void 0 === _c ? void 0 : _c.call(table)) && void 0 !== _d ? _d : rightFrozenColsWidth, bodyViewportWidth = table.tableNoFrameWidth - frozenColsWidth - rightFrozenColsWidth, bodyContentWidth = totalWidth - frozenColsContentWidth - rightFrozenColsContentWidth;
|
|
6
|
+
return Math.max(0, bodyContentWidth - bodyViewportWidth);
|
|
7
|
+
}
|
|
8
|
+
|
|
3
9
|
function getColX(col, table, isRightFrozen) {
|
|
4
10
|
var _a, _b, _c, _d, _e, _f;
|
|
5
11
|
if (isRightFrozen) return Math.min(table.tableNoFrameWidth, table.getAllColsWidth()) - table.getColsWidth(col, table.colCount - 1) + (null !== (_b = null === (_a = table.getRightFrozenColsScrollLeft) || void 0 === _a ? void 0 : _a.call(table)) && void 0 !== _b ? _b : 0);
|
|
@@ -17,5 +23,7 @@ function getRowY(row, table, isBottomFrozen) {
|
|
|
17
23
|
|
|
18
24
|
Object.defineProperty(exports, "__esModule", {
|
|
19
25
|
value: !0
|
|
20
|
-
}), exports.getRowY = exports.getColX =
|
|
26
|
+
}), exports.getRowY = exports.getColX = exports.getBodyHorizontalScrollRange = void 0,
|
|
27
|
+
exports.getBodyHorizontalScrollRange = getBodyHorizontalScrollRange, exports.getColX = getColX,
|
|
28
|
+
exports.getRowY = getRowY;
|
|
21
29
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/component/util.ts"],"names":[],"mappings":";;;AAEA,SAAgB,OAAO,CAAC,GAAW,EAAE,KAAmB,EAAE,aAAuB;;IAC/E,IAAI,aAAa,EAAE;QAGjB,OAAO,CACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1D,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC3C,CAAC,MAAA,MAAA,KAAK,CAAC,4BAA4B,qDAAI,mCAAI,CAAC,CAAC,CAC9C,CAAC;KACH;IACD,MAAM,YAAY,GAAG,MAAA,MAAA,KAAK,CAAC,mBAAmB,qDAAI,mCAAI,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,MAAA,MAAA,KAAK,CAAC,uBAAuB,qDAAI,mCAAI,CAAC,CAAC;IAChE,IAAI,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE;QAC/B,IAAI,IAAI,KAAK,CAAC,UAAU,GAAG,YAAY,CAAC;KACzC;SAAM;QACL,IAAI,IAAI,gBAAgB,CAAC;KAC1B;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAnBD,0BAmBC;AAED,SAAgB,OAAO,CAAC,GAAW,EAAE,KAAmB,EAAE,cAAwB;IAChF,IAAI,cAAc,EAAE;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;KACnH;IACD,IAAI,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE;QAC/B,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC;KACzB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AATD,0BASC","file":"util.js","sourcesContent":["import type { BaseTableAPI } from '../../ts-types/base-table';\n\nexport function getColX(col: number, table: BaseTableAPI, isRightFrozen?: boolean) {\n if (isRightFrozen) {\n // 右冻结列的 x 位置以“表格最右侧”为基准向左累加。\n // 当开启右冻结区域内部滚动时,需要叠加右冻结的 scrollLeft,使得列在右冻结视口内可左右移动。\n return (\n Math.min(table.tableNoFrameWidth, table.getAllColsWidth()) -\n table.getColsWidth(col, table.colCount - 1) +\n (table.getRightFrozenColsScrollLeft?.() ?? 0)\n );\n }\n const frozenOffset = table.getFrozenColsOffset?.() ?? 0;\n const frozenScrollLeft = table.getFrozenColsScrollLeft?.() ?? 0;\n let colX = table.getColsWidth(0, col);\n if (col >= table.frozenColCount) {\n colX -= table.scrollLeft + frozenOffset;\n } else {\n colX -= frozenScrollLeft;\n }\n return colX;\n}\n\nexport function getRowY(row: number, table: BaseTableAPI, isBottomFrozen?: boolean) {\n if (isBottomFrozen) {\n return Math.min(table.tableNoFrameWidth, table.getAllRowsHeight()) - table.getRowsHeight(row, table.rowCount - 1);\n }\n let rowY = table.getRowsHeight(0, row);\n if (row >= table.frozenRowCount) {\n rowY -= table.scrollTop;\n }\n return rowY;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/component/util.ts"],"names":[],"mappings":";;;AAEA,SAAgB,4BAA4B,CAAC,KAAmB;;IAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACnD,MAAM,oBAAoB,GAAG,KAAK,CAAC,uBAAuB,EAAE,CAAC;IAC7D,MAAM,sBAAsB,GAAG,MAAA,MAAA,KAAK,CAAC,yBAAyB,qDAAI,mCAAI,eAAe,CAAC;IACtF,MAAM,2BAA2B,GAAG,MAAA,MAAA,KAAK,CAAC,8BAA8B,qDAAI,mCAAI,oBAAoB,CAAC;IACrG,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,GAAG,eAAe,GAAG,oBAAoB,CAAC;IAC3F,MAAM,gBAAgB,GAAG,UAAU,GAAG,sBAAsB,GAAG,2BAA2B,CAAC;IAE3F,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,CAAC;AAC3D,CAAC;AAVD,oEAUC;AAED,SAAgB,OAAO,CAAC,GAAW,EAAE,KAAmB,EAAE,aAAuB;;IAC/E,IAAI,aAAa,EAAE;QAGjB,OAAO,CACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1D,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC3C,CAAC,MAAA,MAAA,KAAK,CAAC,4BAA4B,qDAAI,mCAAI,CAAC,CAAC,CAC9C,CAAC;KACH;IACD,MAAM,YAAY,GAAG,MAAA,MAAA,KAAK,CAAC,mBAAmB,qDAAI,mCAAI,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,MAAA,MAAA,KAAK,CAAC,uBAAuB,qDAAI,mCAAI,CAAC,CAAC;IAChE,IAAI,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE;QAC/B,IAAI,IAAI,KAAK,CAAC,UAAU,GAAG,YAAY,CAAC;KACzC;SAAM;QACL,IAAI,IAAI,gBAAgB,CAAC;KAC1B;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAnBD,0BAmBC;AAED,SAAgB,OAAO,CAAC,GAAW,EAAE,KAAmB,EAAE,cAAwB;IAChF,IAAI,cAAc,EAAE;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;KACnH;IACD,IAAI,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE;QAC/B,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC;KACzB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AATD,0BASC","file":"util.js","sourcesContent":["import type { BaseTableAPI } from '../../ts-types/base-table';\n\nexport function getBodyHorizontalScrollRange(table: BaseTableAPI) {\n const totalWidth = table.getAllColsWidth();\n const frozenColsWidth = table.getFrozenColsWidth();\n const rightFrozenColsWidth = table.getRightFrozenColsWidth();\n const frozenColsContentWidth = table.getFrozenColsContentWidth?.() ?? frozenColsWidth;\n const rightFrozenColsContentWidth = table.getRightFrozenColsContentWidth?.() ?? rightFrozenColsWidth;\n const bodyViewportWidth = table.tableNoFrameWidth - frozenColsWidth - rightFrozenColsWidth;\n const bodyContentWidth = totalWidth - frozenColsContentWidth - rightFrozenColsContentWidth;\n\n return Math.max(0, bodyContentWidth - bodyViewportWidth);\n}\n\nexport function getColX(col: number, table: BaseTableAPI, isRightFrozen?: boolean) {\n if (isRightFrozen) {\n // 右冻结列的 x 位置以“表格最右侧”为基准向左累加。\n // 当开启右冻结区域内部滚动时,需要叠加右冻结的 scrollLeft,使得列在右冻结视口内可左右移动。\n return (\n Math.min(table.tableNoFrameWidth, table.getAllColsWidth()) -\n table.getColsWidth(col, table.colCount - 1) +\n (table.getRightFrozenColsScrollLeft?.() ?? 0)\n );\n }\n const frozenOffset = table.getFrozenColsOffset?.() ?? 0;\n const frozenScrollLeft = table.getFrozenColsScrollLeft?.() ?? 0;\n let colX = table.getColsWidth(0, col);\n if (col >= table.frozenColCount) {\n colX -= table.scrollLeft + frozenOffset;\n } else {\n colX -= frozenScrollLeft;\n }\n return colX;\n}\n\nexport function getRowY(row: number, table: BaseTableAPI, isBottomFrozen?: boolean) {\n if (isBottomFrozen) {\n return Math.min(table.tableNoFrameWidth, table.getAllRowsHeight()) - table.getRowsHeight(row, table.rowCount - 1);\n }\n let rowY = table.getRowsHeight(0, row);\n if (row >= table.frozenRowCount) {\n rowY -= table.scrollTop;\n }\n return rowY;\n}\n"]}
|
|
@@ -677,7 +677,7 @@ class Scenegraph {
|
|
|
677
677
|
let lastBodyCol = this.bodyGroup.lastChild;
|
|
678
678
|
lastBodyCol && "group" !== lastBodyCol.type && (lastBodyCol = lastBodyCol._prev),
|
|
679
679
|
0 === x && firstBodyCol && firstBodyCol.col === this.table.frozenColCount && firstBodyCol.attribute.x + x < 0 ? x = -firstBodyCol.attribute.x : lastBodyCol && this.table.tableNoFrameWidth < this.table.getAllColsWidth() && lastBodyCol.col === this.table.colCount - this.table.rightFrozenColCount - 1 && lastBodyCol.attribute.x + lastBodyCol.attribute.width + x < this.table.tableNoFrameWidth - this.table.getFrozenColsWidth() - this.table.getRightFrozenColsWidth() && (x = this.table.tableNoFrameWidth - this.table.getFrozenColsWidth() - this.table.getRightFrozenColsWidth() - lastBodyCol.attribute.x - lastBodyCol.attribute.width),
|
|
680
|
-
this.table.getFrozenColsWidth() + x !== this.bodyGroup.attribute.x && (this.bodyGroup.setAttribute("x", this.table.getFrozenColsWidth() + x),
|
|
680
|
+
this.table.options.scrollFrozenCols && x > 0 && (x = 0), this.table.getFrozenColsWidth() + x !== this.bodyGroup.attribute.x && (this.bodyGroup.setAttribute("x", this.table.getFrozenColsWidth() + x),
|
|
681
681
|
this.colHeaderGroup.setAttribute("x", this.table.getFrozenColsWidth() + x), this.bodySelectGroup.setAttribute("x", this.bodyGroup.attribute.x),
|
|
682
682
|
this.colHeaderSelectGroup.setAttribute("x", this.colHeaderGroup.attribute.x), this.rowHeaderSelectGroup.setAttribute("x", this.rowHeaderGroup.attribute.x),
|
|
683
683
|
this.cornerHeaderSelectGroup.setAttribute("x", this.cornerHeaderGroup.attribute.x),
|
|
@@ -740,11 +740,13 @@ class Scenegraph {
|
|
|
740
740
|
let rowHeaderWidth = 0;
|
|
741
741
|
this.rowHeaderGroup.forEachChildrenSkipChild((column => {
|
|
742
742
|
rowHeaderWidth += column.attribute.width;
|
|
743
|
-
})),
|
|
743
|
+
})), table.options.scrollFrozenCols && (rowHeaderWidth = table.getFrozenColsWidth()),
|
|
744
|
+
this.rowHeaderGroup.setAttribute("width", rowHeaderWidth);
|
|
744
745
|
let cornerHeaderWidth = 0;
|
|
745
746
|
this.cornerHeaderGroup.forEachChildrenSkipChild((column => {
|
|
746
747
|
cornerHeaderWidth += column.attribute.width;
|
|
747
|
-
})),
|
|
748
|
+
})), table.options.scrollFrozenCols && (cornerHeaderWidth = table.getFrozenColsWidth()),
|
|
749
|
+
this.cornerHeaderGroup.setAttribute("width", cornerHeaderWidth), this.colHeaderGroup.setAttribute("x", this.cornerHeaderGroup.attribute.width),
|
|
748
750
|
this.rowHeaderGroup.setAttribute("y", this.cornerHeaderGroup.attribute.height),
|
|
749
751
|
this.bodyGroup.setAttributes({
|
|
750
752
|
x: this.rowHeaderGroup.attribute.width,
|
|
@@ -1160,4 +1162,4 @@ class Scenegraph {
|
|
|
1160
1162
|
}
|
|
1161
1163
|
|
|
1162
1164
|
exports.Scenegraph = Scenegraph;
|
|
1163
|
-
//# sourceMappingURL=scenegraph.js.map
|
|
1165
|
+
//# sourceMappingURL=scenegraph.js.map
|