@visactor/vtable 1.6.0-alpha.1 → 1.6.0-alpha.3
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-all.js +5 -5
- package/cjs/ListTable-all.js.map +1 -1
- package/cjs/ListTable.d.ts +0 -5
- package/cjs/ListTable.js +278 -34
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotTable.d.ts +0 -2
- package/cjs/PivotTable.js +1 -1
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/components/legend/discrete-legend/discrete-legend.js +7 -1
- package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
- package/cjs/components/react/react-custom-layout.d.ts +3 -1
- package/cjs/components/react/react-custom-layout.js +7 -3
- package/cjs/components/react/react-custom-layout.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +8 -6
- package/cjs/core/BaseTable.js +93 -15
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/style.js +1 -1
- package/cjs/core/style.js.map +1 -1
- package/cjs/core/tableHelper.d.ts +3 -1
- package/cjs/core/tableHelper.js +22 -12
- package/cjs/core/tableHelper.js.map +1 -1
- package/cjs/data/CachedDataSource.d.ts +1 -10
- package/cjs/data/CachedDataSource.js +3 -102
- package/cjs/data/CachedDataSource.js.map +1 -1
- package/cjs/dataset/dataset-pivot-table.js +1 -0
- package/cjs/dataset/dataset-pivot-table.js.map +1 -1
- package/cjs/dataset/dataset.js +1 -0
- package/cjs/edit/edit-manager.js +5 -9
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/event.js +4 -6
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/container-dom.js +43 -19
- package/cjs/event/listener/container-dom.js.map +1 -1
- package/cjs/event/listener/table-group.js +6 -4
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/index.d.ts +3 -3
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/layout-helper.js +2 -2
- package/cjs/layout/layout-helper.js.map +1 -1
- package/cjs/layout/pivot-header-layout.js +11 -5
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/row-height-map.js +0 -1
- package/cjs/layout/simple-header-layout.d.ts +2 -1
- package/cjs/layout/simple-header-layout.js +88 -2
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/plugins/icons.js +1 -1
- package/cjs/plugins/themes.js +1 -1
- package/cjs/scenegraph/component/table-component.js +18 -14
- package/cjs/scenegraph/component/table-component.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +26 -10
- package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
- package/cjs/scenegraph/graphic/group.js +1 -1
- package/cjs/scenegraph/graphic/group.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.d.ts +1 -2
- package/cjs/scenegraph/group-creater/cell-helper.js +10 -29
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js +2 -9
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/init-scenegraph.js +2 -2
- package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +1 -1
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.js +1 -1
- package/cjs/scenegraph/layout/update-width.js.map +1 -1
- package/cjs/scenegraph/refresh-node/update-chart.d.ts +2 -1
- package/cjs/scenegraph/refresh-node/update-chart.js +18 -4
- package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +2 -1
- package/cjs/scenegraph/scenegraph.js +13 -8
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/select/create-select-border.js +2 -2
- package/cjs/scenegraph/select/create-select-border.js.map +1 -1
- package/cjs/scenegraph/utils/cell-border-stroke-width.js +9 -14
- package/cjs/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
- package/cjs/scenegraph/utils/get-cell-merge.js +1 -1
- package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
- package/cjs/scenegraph/utils/get-hierarchy-offset.js +8 -6
- package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
- package/cjs/scenegraph/utils/text-icon-layout.js +6 -5
- package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/cjs/state/cell-move/index.js +14 -11
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/state/select/is-cell-select-highlight.js +6 -0
- package/cjs/state/select/is-cell-select-highlight.js.map +1 -1
- package/cjs/state/state.d.ts +2 -2
- package/cjs/state/state.js +12 -10
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/theme.d.ts +0 -2
- package/cjs/themes/theme.js +18 -13
- package/cjs/themes/theme.js.map +1 -1
- package/cjs/tools/helper.js.map +1 -1
- package/cjs/tools/style.d.ts +2 -1
- package/cjs/tools/style.js +9 -3
- package/cjs/tools/style.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +5 -10
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/new-data-set.d.ts +0 -1
- package/cjs/ts-types/new-data-set.js.map +1 -1
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.d.ts +1 -0
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +48 -12
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/ts-types/theme.d.ts +4 -1
- package/cjs/ts-types/theme.js.map +1 -1
- package/cjs/vrender.js +1 -2
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +3421 -3838
- package/dist/vtable.min.js +2 -2
- package/es/ListTable-all.js +3 -5
- package/es/ListTable-all.js.map +1 -1
- package/es/ListTable.d.ts +0 -5
- package/es/ListTable.js +280 -37
- package/es/ListTable.js.map +1 -1
- package/es/PivotTable.d.ts +0 -2
- package/es/PivotTable.js +1 -1
- package/es/PivotTable.js.map +1 -1
- package/es/components/legend/discrete-legend/discrete-legend.js +7 -1
- package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
- package/es/components/react/react-custom-layout.d.ts +3 -1
- package/es/components/react/react-custom-layout.js +7 -3
- package/es/components/react/react-custom-layout.js.map +1 -1
- package/es/core/BaseTable.d.ts +8 -6
- package/es/core/BaseTable.js +98 -20
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/style.js +1 -1
- package/es/core/style.js.map +1 -1
- package/es/core/tableHelper.d.ts +3 -1
- package/es/core/tableHelper.js +21 -9
- package/es/core/tableHelper.js.map +1 -1
- package/es/data/CachedDataSource.d.ts +1 -10
- package/es/data/CachedDataSource.js +0 -103
- package/es/data/CachedDataSource.js.map +1 -1
- package/es/dataset/dataset-pivot-table.js +1 -0
- package/es/dataset/dataset-pivot-table.js.map +1 -1
- package/es/dataset/dataset.js +2 -1
- package/es/edit/edit-manager.js +5 -9
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/event.js +4 -6
- package/es/event/event.js.map +1 -1
- package/es/event/listener/container-dom.js +39 -18
- package/es/event/listener/container-dom.js.map +1 -1
- package/es/event/listener/table-group.js +6 -4
- package/es/event/listener/table-group.js.map +1 -1
- package/es/index.d.ts +3 -3
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/layout-helper.js +2 -2
- package/es/layout/layout-helper.js.map +1 -1
- package/es/layout/pivot-header-layout.js +11 -5
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/row-height-map.js +1 -2
- package/es/layout/simple-header-layout.d.ts +2 -1
- package/es/layout/simple-header-layout.js +87 -3
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/plugins/icons.js +1 -1
- package/es/plugins/themes.js +1 -1
- package/es/scenegraph/component/table-component.js +18 -14
- package/es/scenegraph/component/table-component.js.map +1 -1
- package/es/scenegraph/graphic/contributions/chart-render-helper.js +26 -10
- package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
- package/es/scenegraph/graphic/group.js +1 -1
- package/es/scenegraph/graphic/group.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.d.ts +1 -2
- package/es/scenegraph/group-creater/cell-helper.js +8 -23
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/column-helper.js +2 -8
- package/es/scenegraph/group-creater/column-helper.js.map +1 -1
- package/es/scenegraph/group-creater/init-scenegraph.js +2 -2
- package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -1
- package/es/scenegraph/layout/update-height.js +1 -1
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-width.js +1 -1
- package/es/scenegraph/layout/update-width.js.map +1 -1
- package/es/scenegraph/refresh-node/update-chart.d.ts +2 -1
- package/es/scenegraph/refresh-node/update-chart.js +14 -1
- package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +2 -1
- package/es/scenegraph/scenegraph.js +15 -10
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/select/create-select-border.js +2 -2
- package/es/scenegraph/select/create-select-border.js.map +1 -1
- package/es/scenegraph/utils/cell-border-stroke-width.js +6 -9
- package/es/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
- package/es/scenegraph/utils/get-cell-merge.js +1 -1
- package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
- package/es/scenegraph/utils/get-hierarchy-offset.js +9 -7
- package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
- package/es/scenegraph/utils/text-icon-layout.js +7 -4
- package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/es/state/cell-move/index.js +14 -11
- package/es/state/cell-move/index.js.map +1 -1
- package/es/state/select/is-cell-select-highlight.js +6 -0
- package/es/state/select/is-cell-select-highlight.js.map +1 -1
- package/es/state/state.d.ts +2 -2
- package/es/state/state.js +12 -10
- package/es/state/state.js.map +1 -1
- package/es/themes/theme.d.ts +0 -2
- package/es/themes/theme.js +18 -13
- package/es/themes/theme.js.map +1 -1
- package/es/tools/helper.js.map +1 -1
- package/es/tools/style.d.ts +2 -1
- package/es/tools/style.js +7 -2
- package/es/tools/style.js.map +1 -1
- package/es/ts-types/base-table.d.ts +5 -10
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/new-data-set.d.ts +0 -1
- package/es/ts-types/new-data-set.js.map +1 -1
- package/es/ts-types/pivot-table/dimension/basic-dimension.d.ts +1 -0
- package/es/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +48 -12
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/ts-types/theme.d.ts +4 -1
- package/es/ts-types/theme.js.map +1 -1
- package/es/vrender.js +2 -3
- package/es/vrender.js.map +1 -1
- package/package.json +3 -3
- package/cjs/core/group-helper.d.ts +0 -6
- package/cjs/core/group-helper.js +0 -22
- package/cjs/core/group-helper.js.map +0 -1
- package/cjs/core/record-helper.d.ts +0 -8
- package/cjs/core/record-helper.js +0 -337
- package/cjs/core/record-helper.js.map +0 -1
- package/cjs/core/style-helper.d.ts +0 -3
- package/cjs/core/style-helper.js +0 -110
- package/cjs/core/style-helper.js.map +0 -1
- package/cjs/layout/cell-range/simple-cell-range.d.ts +0 -4
- package/cjs/layout/cell-range/simple-cell-range.js +0 -106
- package/cjs/layout/cell-range/simple-cell-range.js.map +0 -1
- package/cjs/plugins/list-tree-stick-cell.d.ts +0 -16
- package/cjs/plugins/list-tree-stick-cell.js +0 -171
- package/cjs/plugins/list-tree-stick-cell.js.map +0 -1
- package/es/core/group-helper.d.ts +0 -6
- package/es/core/group-helper.js +0 -14
- package/es/core/group-helper.js.map +0 -1
- package/es/core/record-helper.d.ts +0 -8
- package/es/core/record-helper.js +0 -332
- package/es/core/record-helper.js.map +0 -1
- package/es/core/style-helper.d.ts +0 -3
- package/es/core/style-helper.js +0 -86
- package/es/core/style-helper.js.map +0 -1
- package/es/layout/cell-range/simple-cell-range.d.ts +0 -4
- package/es/layout/cell-range/simple-cell-range.js +0 -99
- package/es/layout/cell-range/simple-cell-range.js.map +0 -1
- package/es/plugins/list-tree-stick-cell.d.ts +0 -16
- package/es/plugins/list-tree-stick-cell.js +0 -169
- package/es/plugins/list-tree-stick-cell.js.map +0 -1
package/cjs/core/style-helper.js
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
4
|
-
void 0 === k2 && (k2 = k);
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
7
|
-
enumerable: !0,
|
|
8
|
-
get: function() {
|
|
9
|
-
return m[k];
|
|
10
|
-
}
|
|
11
|
-
}), Object.defineProperty(o, k2, desc);
|
|
12
|
-
} : function(o, m, k, k2) {
|
|
13
|
-
void 0 === k2 && (k2 = k), o[k2] = m[k];
|
|
14
|
-
}), __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", {
|
|
16
|
-
enumerable: !0,
|
|
17
|
-
value: v
|
|
18
|
-
});
|
|
19
|
-
} : function(o, v) {
|
|
20
|
-
o.default = v;
|
|
21
|
-
}), __importStar = this && this.__importStar || function(mod) {
|
|
22
|
-
if (mod && mod.__esModule) return mod;
|
|
23
|
-
var result = {};
|
|
24
|
-
if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
25
|
-
return __setModuleDefault(result, mod), result;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
Object.defineProperty(exports, "__esModule", {
|
|
29
|
-
value: !0
|
|
30
|
-
}), exports.getCellStyle = void 0;
|
|
31
|
-
|
|
32
|
-
const custom_cell_style_1 = require("../plugins/custom-cell-style"), get_axis_config_1 = require("../layout/chart-helper/get-axis-config"), vutils_1 = require("@visactor/vutils"), headerStyleContents = __importStar(require("../header-helper/style")), columnStyleContents = __importStar(require("../body-helper/style")), EMPTY_STYLE = {};
|
|
33
|
-
|
|
34
|
-
function getCellStyle(col, row, table) {
|
|
35
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
36
|
-
const customCellStyle = table.customCellStylePlugin.getCustomCellStyle(col, row), {layoutMap: layoutMap} = table.internalProps;
|
|
37
|
-
if (layoutMap.isHeader(col, row)) {
|
|
38
|
-
let cacheKey;
|
|
39
|
-
if (!table.isPivotTable() || table.isBottomFrozenRow(row) || table.isRightFrozenColumn(col)) cacheKey = `${col}-${row}`; else {
|
|
40
|
-
const define = table.getHeaderDefine(col, row), isCorner = table.isCornerHeader(col, row);
|
|
41
|
-
cacheKey = (null == define ? void 0 : define.dimensionKey) ? isCorner ? `dim-cor-${define.dimensionKey}` : `dim-${define.dimensionKey}` : (null == define ? void 0 : define.indicatorKey) ? `ind-${define.indicatorKey}` : `${col}-${row}`;
|
|
42
|
-
}
|
|
43
|
-
let cacheStyle = table.headerStyleCache.get(cacheKey);
|
|
44
|
-
if (cacheStyle) return customCellStyle ? (0, custom_cell_style_1.mergeStyle)(cacheStyle, customCellStyle) : cacheStyle;
|
|
45
|
-
const hd = layoutMap.getHeader(col, row);
|
|
46
|
-
let paddingForAxis;
|
|
47
|
-
if (table.isPivotChart() && (0, get_axis_config_1.isTopOrBottomAxis)(col, row, layoutMap) && layoutMap.isAxisCell(col, row)) {
|
|
48
|
-
paddingForAxis = null !== (_b = null === (_a = layoutMap.getBody(col, table.rowHeaderLevelCount).style) || void 0 === _a ? void 0 : _a.padding) && void 0 !== _b ? _b : table.theme.bodyStyle.padding;
|
|
49
|
-
} else if (table.isPivotChart() && (0, get_axis_config_1.isLeftOrRightAxis)(col, row, layoutMap) && layoutMap.isAxisCell(col, row)) {
|
|
50
|
-
paddingForAxis = null !== (_d = null === (_c = layoutMap.getBody(table.columnHeaderLevelCount, row).style) || void 0 === _c ? void 0 : _c.padding) && void 0 !== _d ? _d : table.theme.bodyStyle.padding;
|
|
51
|
-
}
|
|
52
|
-
if ((!hd || hd.isEmpty) && (layoutMap.isLeftBottomCorner(col, row) || layoutMap.isRightBottomCorner(col, row) || layoutMap.isCornerHeader(col, row) || layoutMap.isRightTopCorner(col, row))) return EMPTY_STYLE;
|
|
53
|
-
const styleClass = table.internalProps.headerHelper.getStyleClass((null == hd ? void 0 : hd.headerType) || "text");
|
|
54
|
-
if (layoutMap.isBottomFrozenRow(col, row) && table.theme.bottomFrozenStyle) cacheStyle = headerStyleContents.of(paddingForAxis ? {
|
|
55
|
-
padding: paddingForAxis
|
|
56
|
-
} : {}, table.theme.bottomFrozenStyle, {
|
|
57
|
-
col: col,
|
|
58
|
-
row: row,
|
|
59
|
-
table: table,
|
|
60
|
-
value: table.getCellValue(col, row),
|
|
61
|
-
dataValue: table.getCellOriginValue(col, row),
|
|
62
|
-
cellHeaderPaths: table.getCellHeaderPaths(col, row)
|
|
63
|
-
}, styleClass, table.options.autoWrapText, table.theme); else if (layoutMap.isRightFrozenColumn(col, row) && table.theme.rightFrozenStyle) cacheStyle = headerStyleContents.of(paddingForAxis ? {
|
|
64
|
-
padding: paddingForAxis
|
|
65
|
-
} : {}, table.theme.rightFrozenStyle, {
|
|
66
|
-
col: col,
|
|
67
|
-
row: row,
|
|
68
|
-
table: table,
|
|
69
|
-
value: table.getCellValue(col, row),
|
|
70
|
-
dataValue: table.getCellOriginValue(col, row),
|
|
71
|
-
cellHeaderPaths: table.getCellHeaderPaths(col, row)
|
|
72
|
-
}, styleClass, table.options.autoWrapText, table.theme); else {
|
|
73
|
-
const style = (null == hd ? void 0 : hd.style) || {};
|
|
74
|
-
paddingForAxis && (style.padding = paddingForAxis), cacheStyle = headerStyleContents.of(style, layoutMap.isColumnHeader(col, row) || layoutMap.isBottomFrozenRow(col, row) ? table.theme.headerStyle : layoutMap.isRowHeader(col, row) || layoutMap.isRightFrozenColumn(col, row) ? table.theme.rowHeaderStyle : table.theme.cornerHeaderStyle, {
|
|
75
|
-
col: col,
|
|
76
|
-
row: row,
|
|
77
|
-
table: table,
|
|
78
|
-
value: table.getCellValue(col, row),
|
|
79
|
-
dataValue: table.getCellOriginValue(col, row),
|
|
80
|
-
cellHeaderPaths: table.getCellHeaderPaths(col, row)
|
|
81
|
-
}, styleClass, table.options.autoWrapText, table.theme);
|
|
82
|
-
}
|
|
83
|
-
return table.headerStyleCache.set(cacheKey, cacheStyle), customCellStyle ? (0, custom_cell_style_1.mergeStyle)(cacheStyle, customCellStyle) : cacheStyle;
|
|
84
|
-
}
|
|
85
|
-
let bgColorFunc, cacheKey;
|
|
86
|
-
(null === (_f = null === (_e = table.internalProps) || void 0 === _e ? void 0 : _e.dataConfig) || void 0 === _f ? void 0 : _f.mappingRules) && !table.isHeader(col, row) && (null === (_j = null === (_h = null === (_g = table.internalProps) || void 0 === _g ? void 0 : _g.dataConfig) || void 0 === _h ? void 0 : _h.mappingRules) || void 0 === _j || _j.forEach(((mappingRule, i) => {
|
|
87
|
-
mappingRule.bgColor && table.internalProps.layoutMap.getIndicatorKey(col, row) === mappingRule.bgColor.indicatorKey && (bgColorFunc = mappingRule.bgColor.mapping);
|
|
88
|
-
})));
|
|
89
|
-
const cellType = table.getCellType(col, row), rawRecord = table.getCellOriginRecord(col, row);
|
|
90
|
-
let cacheStyle;
|
|
91
|
-
if (cacheKey = (null == rawRecord ? void 0 : rawRecord.vTableMerge) ? "merge-title" : table.isSeriesNumberInBody(col, row) ? `${col}-series-` + cellType : table.isListTable() && !table.transpose || table.isPivotTable() && table.internalProps.layoutMap.indicatorsAsCol ? col + cellType : row + cellType,
|
|
92
|
-
cacheStyle = (null == rawRecord ? void 0 : rawRecord.vTableMerge) ? table.bodyMergeTitleCache.get(cacheKey) : layoutMap.isBottomFrozenRow(row) ? table.bodyBottomStyleCache.get(cacheKey) : table.bodyStyleCache.get(cacheKey),
|
|
93
|
-
cacheStyle) return customCellStyle ? (0, custom_cell_style_1.mergeStyle)(cacheStyle, customCellStyle) : cacheStyle;
|
|
94
|
-
const column = layoutMap.getBody(col, row), styleClass = table.internalProps.bodyHelper.getStyleClass(table.getCellType(col, row)), style = null == column ? void 0 : column.style;
|
|
95
|
-
return cacheStyle = columnStyleContents.of(style, (null == rawRecord ? void 0 : rawRecord.vTableMerge) && table.theme.groupTitleStyle ? table.theme.groupTitleStyle : layoutMap.isBottomFrozenRow(row) && table.theme.bottomFrozenStyle ? table.theme.bottomFrozenStyle : layoutMap.isRightFrozenColumn(col) && table.theme.rightFrozenStyle ? table.theme.rightFrozenStyle : table.theme.bodyStyle, {
|
|
96
|
-
col: col,
|
|
97
|
-
row: row,
|
|
98
|
-
table: table,
|
|
99
|
-
value: table.getCellValue(col, row),
|
|
100
|
-
dataValue: table.getCellOriginValue(col, row),
|
|
101
|
-
cellHeaderPaths: table.getCellHeaderPaths(col, row)
|
|
102
|
-
}, styleClass, table.options.autoWrapText, table.theme), bgColorFunc && (cacheStyle = (0,
|
|
103
|
-
custom_cell_style_1.mergeStyle)(cacheStyle, {
|
|
104
|
-
bgColor: bgColorFunc
|
|
105
|
-
})), (0, vutils_1.isFunction)(style) || (layoutMap.isBottomFrozenRow(row) ? table.bodyBottomStyleCache.set(cacheKey, cacheStyle) : table.bodyStyleCache.set(cacheKey, cacheStyle)),
|
|
106
|
-
customCellStyle ? (0, custom_cell_style_1.mergeStyle)(cacheStyle, customCellStyle) : cacheStyle;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
exports.getCellStyle = getCellStyle;
|
|
110
|
-
//# sourceMappingURL=style-helper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/style-helper.ts"],"names":[],"mappings":"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","file":"style-helper.js","sourcesContent":["import { mergeStyle } from '../plugins/custom-cell-style';\nimport type { PivotHeaderLayoutMap } from '../layout/pivot-header-layout';\nimport { isLeftOrRightAxis, isTopOrBottomAxis } from '../layout/chart-helper/get-axis-config';\nimport { isFunction } from '@visactor/vutils';\nimport * as headerStyleContents from '../header-helper/style';\nimport * as columnStyleContents from '../body-helper/style';\nimport type { BaseTableAPI, HeaderData, PivotTableProtected } from '../ts-types/base-table';\nimport type { ColorPropertyDefine, FullExtendStyle, MappingRule } from '../ts-types';\n\nconst EMPTY_STYLE = {};\n\n/**\n * 获取单元格的样式 内部逻辑使用 获取到的样式并不是计算后的\n * @param col\n * @param row\n * @returns\n */\nexport function getCellStyle(col: number, row: number, table: BaseTableAPI): FullExtendStyle {\n const customCellStyle = table.customCellStylePlugin.getCustomCellStyle(col, row);\n const { layoutMap } = table.internalProps;\n const isHeader = layoutMap.isHeader(col, row);\n if (isHeader) {\n // const cacheKey = `${col}-${row}`;\n let cacheKey;\n if (table.isPivotTable() && !table.isBottomFrozenRow(row) && !table.isRightFrozenColumn(col)) {\n // use dimensionKey&indicatorKey to cache style object in pivot table\n const define = table.getHeaderDefine(col, row) as any;\n const isCorner = table.isCornerHeader(col, row);\n cacheKey = define?.dimensionKey\n ? isCorner\n ? `dim-cor-${define.dimensionKey}`\n : `dim-${define.dimensionKey}`\n : define?.indicatorKey\n ? `ind-${define.indicatorKey}`\n : `${col}-${row}`;\n } else {\n cacheKey = `${col}-${row}`;\n }\n let cacheStyle = table.headerStyleCache.get(cacheKey);\n if (cacheStyle) {\n if (customCellStyle) {\n return mergeStyle(cacheStyle, customCellStyle);\n }\n return cacheStyle;\n }\n const hd = layoutMap.getHeader(col, row);\n\n let paddingForAxis;\n if (\n table.isPivotChart() &&\n isTopOrBottomAxis(col, row, layoutMap as PivotHeaderLayoutMap) &&\n layoutMap.isAxisCell(col, row)\n ) {\n // get chart padding for axis cell\n const chartColumn = layoutMap.getBody(col, table.rowHeaderLevelCount);\n const padding = (chartColumn.style as any)?.padding ?? table.theme.bodyStyle.padding;\n paddingForAxis = padding;\n } else if (\n table.isPivotChart() &&\n isLeftOrRightAxis(col, row, layoutMap as PivotHeaderLayoutMap) &&\n layoutMap.isAxisCell(col, row)\n ) {\n // get chart padding for axis cell\n const chartColumn = layoutMap.getBody(table.columnHeaderLevelCount, row);\n const padding = (chartColumn.style as any)?.padding ?? table.theme.bodyStyle.padding;\n paddingForAxis = padding;\n }\n\n if (\n (!hd || (hd as HeaderData).isEmpty) &&\n (layoutMap.isLeftBottomCorner(col, row) ||\n layoutMap.isRightBottomCorner(col, row) ||\n layoutMap.isCornerHeader(col, row) ||\n layoutMap.isRightTopCorner(col, row))\n ) {\n return EMPTY_STYLE;\n }\n\n const styleClass = table.internalProps.headerHelper.getStyleClass((hd as HeaderData)?.headerType || 'text');\n if (layoutMap.isBottomFrozenRow(col, row) && table.theme.bottomFrozenStyle) {\n cacheStyle = <FullExtendStyle>headerStyleContents.of(\n paddingForAxis ? { padding: paddingForAxis } : {},\n table.theme.bottomFrozenStyle,\n {\n col,\n row,\n table: table as BaseTableAPI,\n value: table.getCellValue(col, row),\n dataValue: table.getCellOriginValue(col, row),\n cellHeaderPaths: table.getCellHeaderPaths(col, row)\n },\n styleClass,\n table.options.autoWrapText,\n table.theme\n );\n } else if (layoutMap.isRightFrozenColumn(col, row) && table.theme.rightFrozenStyle) {\n cacheStyle = <FullExtendStyle>headerStyleContents.of(\n paddingForAxis ? { padding: paddingForAxis } : {},\n table.theme.rightFrozenStyle,\n {\n col,\n row,\n table: table as BaseTableAPI,\n value: table.getCellValue(col, row),\n dataValue: table.getCellOriginValue(col, row),\n cellHeaderPaths: table.getCellHeaderPaths(col, row)\n },\n styleClass,\n table.options.autoWrapText,\n table.theme\n );\n } else {\n // let defaultStyle;\n // if (layoutMap.isColumnHeader(col, row) || layoutMap.isBottomFrozenRow(col, row)) {\n // defaultStyle = table.theme.headerStyle;\n // } else if (table.internalProps.transpose && layoutMap.isRowHeader(col, row)) {\n // defaultStyle = table.theme.headerStyle;\n // } else if (layoutMap.isRowHeader(col, row) || layoutMap.isRightFrozenColumn(col, row)) {\n // defaultStyle = table.theme.rowHeaderStyle;\n // } else {\n // defaultStyle = table.theme.cornerHeaderStyle;\n // }\n // const styleClass = hd.headerType.StyleClass; //BaseHeader文件\n // const { style } = hd;\n const style = hd?.style || {};\n if (paddingForAxis) {\n (style as any).padding = paddingForAxis;\n }\n cacheStyle = <FullExtendStyle>headerStyleContents.of(\n style,\n // defaultStyle,\n layoutMap.isColumnHeader(col, row) || layoutMap.isBottomFrozenRow(col, row)\n ? table.theme.headerStyle\n : layoutMap.isRowHeader(col, row) || layoutMap.isRightFrozenColumn(col, row)\n ? table.theme.rowHeaderStyle\n : table.theme.cornerHeaderStyle,\n {\n col,\n row,\n table: table as BaseTableAPI,\n value: table.getCellValue(col, row),\n dataValue: table.getCellOriginValue(col, row),\n cellHeaderPaths: table.getCellHeaderPaths(col, row)\n },\n styleClass,\n table.options.autoWrapText,\n table.theme\n );\n }\n table.headerStyleCache.set(cacheKey, cacheStyle);\n if (customCellStyle) {\n return mergeStyle(cacheStyle, customCellStyle);\n }\n return cacheStyle;\n }\n\n let bgColorFunc: ColorPropertyDefine;\n // 判断是否有mapping 遍历dataset中mappingRules\n if ((table.internalProps as PivotTableProtected)?.dataConfig?.mappingRules && !table.isHeader(col, row)) {\n (table.internalProps as PivotTableProtected)?.dataConfig?.mappingRules?.forEach(\n (mappingRule: MappingRule, i: number) => {\n if (\n mappingRule.bgColor &&\n (table.internalProps.layoutMap as PivotHeaderLayoutMap).getIndicatorKey(col, row) ===\n mappingRule.bgColor.indicatorKey\n ) {\n bgColorFunc = mappingRule.bgColor.mapping;\n }\n }\n );\n // // 判断是否有mapping 遍历dataset中mappingRules 但这里还需要根据fieldName来判断\n // if (bgColorFunc && typeof bgColorFunc === 'function') {\n // const cellValue = table.getCellOriginValue(col, row);\n // bgColor = bgColorFunc(this, cellValue);\n // }\n }\n\n let cacheKey;\n const cellType = table.getCellType(col, row);\n const rawRecord = table.getCellOriginRecord(col, row);\n\n //如果是主体部分,获取相应的style\n if (rawRecord?.vTableMerge) {\n cacheKey = 'merge-title';\n } else if (table.isSeriesNumberInBody(col, row)) {\n // 如果是行序号\n cacheKey = `${col}-series-` + cellType;\n } else if (\n (table.isListTable() && !(table as any).transpose) ||\n (table.isPivotTable() && (table.internalProps.layoutMap as PivotHeaderLayoutMap).indicatorsAsCol)\n ) {\n cacheKey = col + cellType;\n } else {\n cacheKey = row + cellType;\n }\n let cacheStyle;\n\n if (rawRecord?.vTableMerge) {\n cacheStyle = table.bodyMergeTitleCache.get(cacheKey);\n } else if (layoutMap.isBottomFrozenRow(row)) {\n cacheStyle = table.bodyBottomStyleCache.get(cacheKey);\n } else {\n cacheStyle = table.bodyStyleCache.get(cacheKey);\n }\n if (cacheStyle) {\n if (customCellStyle) {\n return mergeStyle(cacheStyle, customCellStyle);\n }\n return cacheStyle;\n }\n const column = layoutMap.getBody(col, row);\n // const styleClass = column?.cellType?.StyleClass; //BaseColumn文件\n const styleClass = table.internalProps.bodyHelper.getStyleClass(table.getCellType(col, row));\n const style = column?.style;\n cacheStyle = <FullExtendStyle>columnStyleContents.of(\n style,\n rawRecord?.vTableMerge && table.theme.groupTitleStyle\n ? table.theme.groupTitleStyle\n : layoutMap.isBottomFrozenRow(row) && table.theme.bottomFrozenStyle\n ? table.theme.bottomFrozenStyle\n : layoutMap.isRightFrozenColumn(col) && table.theme.rightFrozenStyle\n ? table.theme.rightFrozenStyle\n : table.theme.bodyStyle,\n {\n col,\n row,\n table: table,\n value: table.getCellValue(col, row),\n dataValue: table.getCellOriginValue(col, row),\n cellHeaderPaths: table.getCellHeaderPaths(col, row)\n },\n styleClass,\n table.options.autoWrapText,\n table.theme\n );\n if (bgColorFunc) {\n cacheStyle = mergeStyle(cacheStyle as any, { bgColor: bgColorFunc });\n }\n if (!isFunction(style)) {\n if (layoutMap.isBottomFrozenRow(row)) {\n table.bodyBottomStyleCache.set(cacheKey, cacheStyle);\n } else {\n table.bodyStyleCache.set(cacheKey, cacheStyle);\n }\n }\n if (customCellStyle) {\n return mergeStyle(cacheStyle as any, customCellStyle);\n }\n return cacheStyle;\n}\n"]}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { CellRange } from '../../ts-types';
|
|
2
|
-
import type { SimpleHeaderLayoutMap } from '../simple-header-layout';
|
|
3
|
-
export declare function getCellRange(col: number, row: number, layout: SimpleHeaderLayoutMap): CellRange;
|
|
4
|
-
export declare function getCellRangeTranspose(col: number, row: number, layout: SimpleHeaderLayoutMap): CellRange;
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function getCellRange(col, row, layout) {
|
|
4
|
-
var _a, _b, _c;
|
|
5
|
-
if (-1 === col || -1 === row) return {
|
|
6
|
-
start: {
|
|
7
|
-
col: col,
|
|
8
|
-
row: row
|
|
9
|
-
},
|
|
10
|
-
end: {
|
|
11
|
-
col: col,
|
|
12
|
-
row: row
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
if (layout._cellRangeMap.has(`$${col}$${row}`)) return layout._cellRangeMap.get(`$${col}$${row}`);
|
|
16
|
-
let cellRange = {
|
|
17
|
-
start: {
|
|
18
|
-
col: col,
|
|
19
|
-
row: row
|
|
20
|
-
},
|
|
21
|
-
end: {
|
|
22
|
-
col: col,
|
|
23
|
-
row: row
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
if (layout.transpose) cellRange = getCellRangeTranspose(col, row, layout); else if (layout.headerLevelCount <= row) {
|
|
27
|
-
if (layout.headerLevelCount <= row && (null === (_b = null === (_a = layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount]) || void 0 === _a ? void 0 : _a.define) || void 0 === _b ? void 0 : _b.mergeCell)) {
|
|
28
|
-
const value = layout._table.getCellValue(col, row);
|
|
29
|
-
for (let r = row - 1; r >= layout.headerLevelCount; r--) {
|
|
30
|
-
const last_Value = layout._table.getCellValue(col, r);
|
|
31
|
-
if ("boolean" == typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell) {
|
|
32
|
-
if (value !== last_Value) break;
|
|
33
|
-
} else if (!layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell(value, last_Value)) break;
|
|
34
|
-
cellRange.start.row = r;
|
|
35
|
-
}
|
|
36
|
-
for (let r = row + 1; r < layout.rowCount; r++) {
|
|
37
|
-
const next_Value = layout._table.getCellValue(col, r);
|
|
38
|
-
if ("boolean" == typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell) {
|
|
39
|
-
if (value !== next_Value) break;
|
|
40
|
-
} else if (!layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell(value, next_Value)) break;
|
|
41
|
-
cellRange.end.row = r;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
getTreeTitleMerge(col, row, cellRange, layout);
|
|
45
|
-
} else {
|
|
46
|
-
const id = layout.getCellId(col, row);
|
|
47
|
-
for (let c = col - 1; c >= 0 && id === layout.getCellId(c, row); c--) cellRange.start.col = c;
|
|
48
|
-
for (let c = col + 1; c < (null !== (_c = layout.colCount) && void 0 !== _c ? _c : 0) && id === layout.getCellId(c, row); c++) cellRange.end.col = c;
|
|
49
|
-
for (let r = row - 1; r >= 0 && id === layout.getCellId(col, r); r--) cellRange.start.row = r;
|
|
50
|
-
for (let r = row + 1; r < layout.headerLevelCount && id === layout.getCellId(col, r); r++) cellRange.end.row = r;
|
|
51
|
-
}
|
|
52
|
-
return layout._cellRangeMap.set(`$${col}$${row}`, cellRange), cellRange;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function getTreeTitleMerge(col, row, cellRange, layout) {
|
|
56
|
-
if ("tree" !== layout.rowHierarchyType) return;
|
|
57
|
-
const cellRecord = layout._table.getCellRawRecord(col, row);
|
|
58
|
-
(null == cellRecord ? void 0 : cellRecord.vTableMerge) && (cellRange.start.col = layout.rowHeaderLevelCount,
|
|
59
|
-
cellRange.end.col = layout.colCount - 1, cellRange.start.row = cellRange.end.row = row);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function getCellRangeTranspose(col, row, layout) {
|
|
63
|
-
var _a, _b, _c, _d;
|
|
64
|
-
const result = {
|
|
65
|
-
start: {
|
|
66
|
-
col: col,
|
|
67
|
-
row: row
|
|
68
|
-
},
|
|
69
|
-
end: {
|
|
70
|
-
col: col,
|
|
71
|
-
row: row
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
if (layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col || -1 === col && -1 === row) {
|
|
75
|
-
if (layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col && (null === (_b = null === (_a = layout.columnObjects[row]) || void 0 === _a ? void 0 : _a.define) || void 0 === _b ? void 0 : _b.mergeCell)) {
|
|
76
|
-
const value = layout._table.getCellValue(col, row);
|
|
77
|
-
for (let c = col - 1; c >= layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount; c--) {
|
|
78
|
-
const last_Value = layout._table.getCellValue(c, row);
|
|
79
|
-
if ("boolean" == typeof layout.columnObjects[row].define.mergeCell) {
|
|
80
|
-
if (value !== last_Value) break;
|
|
81
|
-
} else if (!layout.columnObjects[row].define.mergeCell(value, last_Value)) break;
|
|
82
|
-
result.start.col = c;
|
|
83
|
-
}
|
|
84
|
-
for (let c = col + 1; c < (null !== (_c = layout.colCount) && void 0 !== _c ? _c : 0); c++) {
|
|
85
|
-
const next_Value = layout._table.getCellValue(c, row);
|
|
86
|
-
if ("boolean" == typeof layout.columnObjects[row].define.mergeCell) {
|
|
87
|
-
if (value !== next_Value) break;
|
|
88
|
-
} else if (!layout.columnObjects[row].define.mergeCell(value, next_Value)) break;
|
|
89
|
-
result.end.col = c;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return result;
|
|
93
|
-
}
|
|
94
|
-
const id = layout.getCellId(col, row);
|
|
95
|
-
for (let r = row - 1; r >= 0 && id === layout.getCellId(col, r); r--) result.start.row = r;
|
|
96
|
-
for (let r = row + 1; r < (null !== (_d = layout.rowCount) && void 0 !== _d ? _d : 0) && id === layout.getCellId(col, r); r++) result.end.row = r;
|
|
97
|
-
for (let c = col - 1; c >= 0 && id === layout.getCellId(c, row); c--) result.start.col = c;
|
|
98
|
-
for (let c = col + 1; c < layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount && id === layout.getCellId(c, row); c++) result.end.col = c;
|
|
99
|
-
return result;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
Object.defineProperty(exports, "__esModule", {
|
|
103
|
-
value: !0
|
|
104
|
-
}), exports.getCellRangeTranspose = exports.getCellRange = void 0, exports.getCellRange = getCellRange,
|
|
105
|
-
exports.getCellRangeTranspose = getCellRangeTranspose;
|
|
106
|
-
//# sourceMappingURL=simple-cell-range.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/layout/cell-range/simple-cell-range.ts"],"names":[],"mappings":"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","file":"simple-cell-range.js","sourcesContent":["import type { CellRange, TextColumnDefine } from '../../ts-types';\nimport type { SimpleHeaderLayoutMap } from '../simple-header-layout';\n\nexport function getCellRange(col: number, row: number, layout: SimpleHeaderLayoutMap): CellRange {\n if (col === -1 || row === -1) {\n return {\n start: { col, row },\n end: { col, row }\n };\n }\n if (layout._cellRangeMap.has(`$${col}$${row}`)) {\n return layout._cellRangeMap.get(`$${col}$${row}`);\n }\n let cellRange: CellRange = { start: { col, row }, end: { col, row } };\n if (layout.transpose) {\n cellRange = getCellRangeTranspose(col, row, layout);\n } else {\n // hover相关的单元格位置是-1,-1,getCellRange计算有误,先进行判断\n if (layout.headerLevelCount <= row) {\n //如果是body部分 设置了需要合并单元格 这里判断上下是否内容相同 相同的话 将cellRange范围扩大\n if (\n layout.headerLevelCount <= row &&\n (layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount]?.define as TextColumnDefine)?.mergeCell\n ) {\n const value = layout._table.getCellValue(col, row);\n for (let r = row - 1; r >= layout.headerLevelCount; r--) {\n const last_Value = layout._table.getCellValue(col, r);\n if (typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell === 'boolean') {\n if (value !== last_Value) {\n break;\n }\n } else {\n if (\n !(layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell as Function)(\n value,\n last_Value\n )\n ) {\n break;\n }\n }\n cellRange.start.row = r;\n }\n for (let r = row + 1; r < layout.rowCount; r++) {\n const next_Value = layout._table.getCellValue(col, r);\n if (typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell === 'boolean') {\n if (value !== next_Value) {\n break;\n }\n } else {\n if (\n !(layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell as Function)(\n value,\n next_Value\n )\n ) {\n break;\n }\n }\n cellRange.end.row = r;\n }\n }\n getTreeTitleMerge(col, row, cellRange, layout);\n // return cellRange;\n } else {\n //in header\n const id = layout.getCellId(col, row);\n for (let c = col - 1; c >= 0; c--) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n cellRange.start.col = c;\n }\n for (let c = col + 1; c < (layout.colCount ?? 0); c++) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n cellRange.end.col = c;\n }\n for (let r = row - 1; r >= 0; r--) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n cellRange.start.row = r;\n }\n for (let r = row + 1; r < layout.headerLevelCount; r++) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n cellRange.end.row = r;\n }\n // return cellRange;\n }\n }\n layout._cellRangeMap.set(`$${col}$${row}`, cellRange);\n return cellRange;\n}\n\nfunction getTreeTitleMerge(col: number, row: number, cellRange: CellRange, layout: SimpleHeaderLayoutMap) {\n if (layout.rowHierarchyType !== 'tree') {\n return;\n }\n\n const cellRecord = layout._table.getCellRawRecord(col, row);\n if (cellRecord?.vTableMerge) {\n // const vTableMergeName = cellRecord.vtableMergeName;\n cellRange.start.col = layout.rowHeaderLevelCount;\n cellRange.end.col = layout.colCount - 1;\n cellRange.start.row = cellRange.end.row = row;\n }\n}\n\nexport function getCellRangeTranspose(col: number, row: number, layout: SimpleHeaderLayoutMap): CellRange {\n const result: CellRange = { start: { col, row }, end: { col, row } };\n // hover相关的单元格位置是-1,-1,getCellRange计算有误,先进行判断\n if (layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col || (col === -1 && row === -1)) {\n //如果是body部分 设置了需要合并单元格 这里判断左右是否内容相同 相同的话 将cellRange范围扩大\n if (\n layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col &&\n layout.columnObjects[row]?.define?.mergeCell\n ) {\n const value = layout._table.getCellValue(col, row);\n for (let c = col - 1; c >= layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount; c--) {\n const last_Value = layout._table.getCellValue(c, row);\n if (typeof layout.columnObjects[row].define.mergeCell === 'boolean') {\n if (value !== last_Value) {\n break;\n }\n } else {\n if (!(layout.columnObjects[row].define.mergeCell as Function)(value, last_Value)) {\n break;\n }\n }\n result.start.col = c;\n }\n for (let c = col + 1; c < (layout.colCount ?? 0); c++) {\n const next_Value = layout._table.getCellValue(c, row);\n if (typeof layout.columnObjects[row].define.mergeCell === 'boolean') {\n if (value !== next_Value) {\n break;\n }\n } else {\n if (!(layout.columnObjects[row].define.mergeCell as Function)(value, next_Value)) {\n break;\n }\n }\n result.end.col = c;\n }\n }\n return result;\n }\n //in header\n const id = layout.getCellId(col, row);\n for (let r = row - 1; r >= 0; r--) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n result.start.row = r;\n }\n for (let r = row + 1; r < (layout.rowCount ?? 0); r++) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n result.end.row = r;\n }\n for (let c = col - 1; c >= 0; c--) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n result.start.col = c;\n }\n for (let c = col + 1; c < layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount; c++) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n result.end.col = c;\n }\n return result;\n}\n"]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { ListTable } from '../ListTable';
|
|
2
|
-
export declare class ListTreeStickCellPlugin {
|
|
3
|
-
table: ListTable;
|
|
4
|
-
titleRows: number[];
|
|
5
|
-
showedTitleRows: number[];
|
|
6
|
-
rowNow: number;
|
|
7
|
-
skipStartRow: number;
|
|
8
|
-
skipEndRow: number;
|
|
9
|
-
constructor(table: ListTable);
|
|
10
|
-
updateGroupTitle(): void;
|
|
11
|
-
updateGroupTitleInfo(): void;
|
|
12
|
-
getTitleRowsByRecordIndex(recordIndex: number | number[], nextRecordIndex: number | number[]): void;
|
|
13
|
-
updateScenegraph(): void;
|
|
14
|
-
}
|
|
15
|
-
export declare const registerListTreeStickCellPlugin: () => void;
|
|
16
|
-
export type IListTreeStickCellPlugin = typeof ListTreeStickCellPlugin;
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: !0
|
|
5
|
-
}), exports.registerListTreeStickCellPlugin = exports.ListTreeStickCellPlugin = void 0;
|
|
6
|
-
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), factory_1 = require("../core/factory"), group_1 = require("../scenegraph/graphic/group"), vrender_1 = require("../vrender"), cell_helper_1 = require("../scenegraph/group-creater/cell-helper"), util_1 = require("../event/util");
|
|
8
|
-
|
|
9
|
-
class ListTreeStickCellPlugin {
|
|
10
|
-
constructor(table) {
|
|
11
|
-
this.titleRows = [], this.showedTitleRows = [], this.rowNow = -1, this.skipStartRow = -1,
|
|
12
|
-
this.skipEndRow = -1, this.table = table, this.table.on("scroll", (e => {
|
|
13
|
-
"vertical" === e.scrollDirection && this.updateGroupTitle();
|
|
14
|
-
}));
|
|
15
|
-
}
|
|
16
|
-
updateGroupTitle() {
|
|
17
|
-
-1 !== this.skipStartRow && -1 !== this.skipEndRow && this.skipStartRow !== this.table.scenegraph.proxy.bodyTopRow - 1 ? (this.table.scenegraph.proxy.screenTopRow <= this.skipStartRow || this.table.scenegraph.proxy.screenTopRow >= this.skipEndRow) && (this.skipStartRow = -1,
|
|
18
|
-
this.skipEndRow = -1, this.updateGroupTitleInfo()) : (this.skipStartRow = -1, this.skipEndRow = -1,
|
|
19
|
-
this.updateGroupTitleInfo()), this.updateScenegraph();
|
|
20
|
-
}
|
|
21
|
-
updateGroupTitleInfo() {
|
|
22
|
-
this.rowNow = this.table.scenegraph.proxy.screenTopRow + this.titleRows.length;
|
|
23
|
-
const recordIndex = this.table.getRecordIndexByCell(0, this.rowNow), nextRecordIndex = this.table.getRecordIndexByCell(0, this.rowNow + 1);
|
|
24
|
-
this.getTitleRowsByRecordIndex(recordIndex, nextRecordIndex);
|
|
25
|
-
}
|
|
26
|
-
getTitleRowsByRecordIndex(recordIndex, nextRecordIndex) {
|
|
27
|
-
const titleRecords = [];
|
|
28
|
-
(0, vutils_1.isArray)(recordIndex) || (recordIndex = [ recordIndex ]), (0, vutils_1.isArray)(nextRecordIndex) || (nextRecordIndex = [ nextRecordIndex ]);
|
|
29
|
-
for (let i = 0; i < recordIndex.length; i++) {
|
|
30
|
-
const index = recordIndex.slice(0, i + 1), record = this.table.dataSource.getRaw(index);
|
|
31
|
-
titleRecords.push(record);
|
|
32
|
-
}
|
|
33
|
-
const titleRows = [], isTitle = nextRecordIndex.length === recordIndex.length + 1;
|
|
34
|
-
let titleIndex = recordIndex.slice(0, isTitle ? recordIndex.length : recordIndex.length - 1);
|
|
35
|
-
const currentIndexedData = this.table.dataSource.currentIndexedData;
|
|
36
|
-
for (let i = this.rowNow - this.table.columnHeaderLevelCount; i >= 0; i--) {
|
|
37
|
-
const currentIndex = currentIndexedData[i];
|
|
38
|
-
if ((0, vutils_1.isArray)(currentIndex) && titleIndex.length === currentIndex.length) {
|
|
39
|
-
let isMatch = !0;
|
|
40
|
-
for (let j = 0; j < currentIndex.length; j++) if (currentIndex[j] !== titleIndex[j]) {
|
|
41
|
-
isMatch = !1;
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
isMatch && (titleRows.push(i + this.table.columnHeaderLevelCount), titleIndex = titleIndex.slice(0, titleIndex.length - 1));
|
|
45
|
-
} else if (currentIndex === recordIndex[0]) {
|
|
46
|
-
titleRows.push(i + this.table.columnHeaderLevelCount);
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
this.titleRows = titleRows.reverse();
|
|
51
|
-
}
|
|
52
|
-
updateScenegraph() {
|
|
53
|
-
const {table: table} = this, {shadowGroup: shadowGroup, shadowGroupFrozen: shadowGroupFrozen} = prepareShadowRoot(table);
|
|
54
|
-
this.showedTitleRows.length = 0;
|
|
55
|
-
let skip = 0;
|
|
56
|
-
for (let col = 0; col < table.colCount; col++) {
|
|
57
|
-
let colGroup;
|
|
58
|
-
col < table.frozenColCount ? (colGroup = new group_1.Group({
|
|
59
|
-
x: table.getColsWidth(0, col - 1),
|
|
60
|
-
y: table.getFrozenRowsHeight()
|
|
61
|
-
}), shadowGroupFrozen.add(colGroup)) : (colGroup = new group_1.Group({
|
|
62
|
-
x: table.getColsWidth(table.frozenColCount, col - 1),
|
|
63
|
-
y: table.getFrozenRowsHeight()
|
|
64
|
-
}), shadowGroup.add(colGroup)), colGroup.col = col;
|
|
65
|
-
for (let i = 0; i < this.titleRows.length; i++) {
|
|
66
|
-
const row = this.titleRows[i];
|
|
67
|
-
if (isSkipRow(row, this.rowNow, table.scenegraph.proxy.screenTopRow, this.titleRows)) {
|
|
68
|
-
0 === col && skip++;
|
|
69
|
-
continue;
|
|
70
|
-
}
|
|
71
|
-
0 === col && this.showedTitleRows.push(row);
|
|
72
|
-
const cell = table.scenegraph.getCell(col, row);
|
|
73
|
-
if ("cell" === cell.role) {
|
|
74
|
-
const newCell = cloneGraphic(cell);
|
|
75
|
-
newCell.setAttributes({
|
|
76
|
-
y: 40 * i
|
|
77
|
-
}), colGroup.add(newCell);
|
|
78
|
-
} else {
|
|
79
|
-
const newCell = (0, cell_helper_1.updateCell)(col, row, table, !0, !0);
|
|
80
|
-
newCell.setAttributes({
|
|
81
|
-
y: 40 * i
|
|
82
|
-
}), colGroup.add(newCell);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
skip > 0 && -1 === this.skipStartRow && -1 === this.skipEndRow && (this.skipStartRow = table.scenegraph.proxy.screenTopRow - 1,
|
|
87
|
-
this.skipEndRow = table.scenegraph.proxy.screenTopRow + 1);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function isSkipRow(row, topRow, screenTopRow, titleRows) {
|
|
92
|
-
if (row === topRow && row !== screenTopRow + titleRows.length - 1) return !0;
|
|
93
|
-
return row === screenTopRow + titleRows.indexOf(row) + 1 && row < topRow;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
function cloneGraphic(graphic) {
|
|
97
|
-
const newGraphic = graphic.clone();
|
|
98
|
-
if (newGraphic.role = graphic.role, newGraphic.col = graphic.col, newGraphic.row = graphic.row,
|
|
99
|
-
newGraphic.mergeStartCol = graphic.mergeStartCol, newGraphic.mergeStartRow = graphic.mergeStartRow,
|
|
100
|
-
newGraphic.mergeEndCol = graphic.mergeEndCol, newGraphic.mergeEndRow = graphic.mergeEndRow,
|
|
101
|
-
newGraphic.contentWidth = graphic.contentWidth, newGraphic.contentHeight = graphic.contentHeight,
|
|
102
|
-
"cell" === newGraphic.role) {
|
|
103
|
-
const hackRect = (0, vrender_1.createRect)({
|
|
104
|
-
x: 0,
|
|
105
|
-
y: 0,
|
|
106
|
-
width: newGraphic.attribute.width,
|
|
107
|
-
height: newGraphic.attribute.height
|
|
108
|
-
});
|
|
109
|
-
newGraphic.add(hackRect);
|
|
110
|
-
}
|
|
111
|
-
if ("group" === graphic.type) {
|
|
112
|
-
const newGroup = newGraphic;
|
|
113
|
-
graphic.forEachChildren((child => {
|
|
114
|
-
const newChild = cloneGraphic(child);
|
|
115
|
-
newGroup.add(newChild);
|
|
116
|
-
}));
|
|
117
|
-
}
|
|
118
|
-
return newGraphic;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
function prepareShadowRoot(table) {
|
|
122
|
-
const colHeaderGroup = table.scenegraph.colHeaderGroup, cornerHeaderGroup = table.scenegraph.cornerHeaderGroup;
|
|
123
|
-
if (!colHeaderGroup.border) {
|
|
124
|
-
const hackBorder = (0, vrender_1.createRect)({
|
|
125
|
-
x: 0,
|
|
126
|
-
y: 0,
|
|
127
|
-
width: 0,
|
|
128
|
-
height: 0
|
|
129
|
-
});
|
|
130
|
-
colHeaderGroup.add(hackBorder), colHeaderGroup.border = hackBorder, hackBorder.attachShadow(hackBorder.shadowRoot),
|
|
131
|
-
hackBorder.name = "border-rect", hackBorder.addEventListener("click", (e => {
|
|
132
|
-
const titleRows = table.listTreeStickCellPlugin.titleRows, {shadowTarget: shadowTarget} = e.pickParams, cellGroup = (0,
|
|
133
|
-
util_1.getTargetCell)(shadowTarget), {col: col, row: row} = cellGroup, rowIndex = titleRows.indexOf(row);
|
|
134
|
-
table.scrollToCell({
|
|
135
|
-
col: col,
|
|
136
|
-
row: row - rowIndex
|
|
137
|
-
});
|
|
138
|
-
}));
|
|
139
|
-
}
|
|
140
|
-
if (!cornerHeaderGroup.border) {
|
|
141
|
-
const hackBorder = (0, vrender_1.createRect)({
|
|
142
|
-
x: 0,
|
|
143
|
-
y: 0,
|
|
144
|
-
width: 0,
|
|
145
|
-
height: 0
|
|
146
|
-
});
|
|
147
|
-
cornerHeaderGroup.add(hackBorder), cornerHeaderGroup.border = hackBorder, hackBorder.attachShadow(hackBorder.shadowRoot),
|
|
148
|
-
hackBorder.name = "border-rect", hackBorder.addEventListener("click", (e => {
|
|
149
|
-
const titleRows = table.listTreeStickCellPlugin.titleRows, {shadowTarget: shadowTarget} = e.pickParams, cellGroup = (0,
|
|
150
|
-
util_1.getTargetCell)(shadowTarget), {col: col, row: row} = cellGroup, rowIndex = titleRows.indexOf(row);
|
|
151
|
-
table.scrollToCell({
|
|
152
|
-
col: col,
|
|
153
|
-
row: row - rowIndex
|
|
154
|
-
});
|
|
155
|
-
}));
|
|
156
|
-
}
|
|
157
|
-
const shadowGroup = colHeaderGroup.border.shadowRoot, shadowGroupFrozen = cornerHeaderGroup.border.shadowRoot;
|
|
158
|
-
return shadowGroup.removeAllChild(), shadowGroupFrozen.removeAllChild(), {
|
|
159
|
-
shadowGroup: shadowGroup,
|
|
160
|
-
shadowGroupFrozen: shadowGroupFrozen
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
exports.ListTreeStickCellPlugin = ListTreeStickCellPlugin;
|
|
165
|
-
|
|
166
|
-
const registerListTreeStickCellPlugin = () => {
|
|
167
|
-
factory_1.Factory.registerComponent("listTreeStickCellPlugin", ListTreeStickCellPlugin);
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
exports.registerListTreeStickCellPlugin = registerListTreeStickCellPlugin;
|
|
171
|
-
//# sourceMappingURL=list-tree-stick-cell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugins/list-tree-stick-cell.ts"],"names":[],"mappings":"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","file":"list-tree-stick-cell.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport type { ListTable } from '../ListTable';\nimport { Factory } from '../core/factory';\nimport { Group } from '../scenegraph/graphic/group';\nimport { createRect, type Graphic } from '../vrender';\nimport { updateCell } from '../scenegraph/group-creater/cell-helper';\nimport { getTargetCell } from '../event/util';\n\nexport class ListTreeStickCellPlugin {\n table: ListTable;\n titleRows: number[] = [];\n showedTitleRows: number[] = [];\n rowNow: number = -1;\n skipStartRow: number = -1;\n skipEndRow: number = -1;\n\n constructor(table: ListTable) {\n this.table = table;\n\n this.table.on('scroll', e => {\n if (e.scrollDirection !== 'vertical') {\n return;\n }\n this.updateGroupTitle();\n });\n }\n\n updateGroupTitle() {\n // this.updateGroupTitleInfo();\n if (\n this.skipStartRow !== -1 &&\n this.skipEndRow !== -1 &&\n this.skipStartRow !== this.table.scenegraph.proxy.bodyTopRow - 1\n ) {\n if (\n this.table.scenegraph.proxy.screenTopRow <= this.skipStartRow ||\n this.table.scenegraph.proxy.screenTopRow >= this.skipEndRow\n ) {\n this.skipStartRow = -1;\n this.skipEndRow = -1;\n this.updateGroupTitleInfo();\n } else {\n // const row = this.table.scenegraph.proxy.screenTopRow + titleRows.length;\n // nowRow = row;\n // renderLast = true;\n // do nothing\n }\n } else {\n this.skipStartRow = -1;\n this.skipEndRow = -1;\n this.updateGroupTitleInfo();\n }\n\n this.updateScenegraph();\n }\n\n updateGroupTitleInfo() {\n this.rowNow = this.table.scenegraph.proxy.screenTopRow + this.titleRows.length;\n const recordIndex = this.table.getRecordIndexByCell(0, this.rowNow); // [0, 0, 6]/0\n const nextRecordIndex = this.table.getRecordIndexByCell(0, this.rowNow + 1);\n this.getTitleRowsByRecordIndex(recordIndex, nextRecordIndex);\n }\n\n getTitleRowsByRecordIndex(recordIndex: number | number[], nextRecordIndex: number | number[]) {\n const titleRecords = [];\n if (!isArray(recordIndex)) {\n recordIndex = [recordIndex];\n }\n if (!isArray(nextRecordIndex)) {\n nextRecordIndex = [nextRecordIndex];\n }\n\n for (let i = 0; i < recordIndex.length; i++) {\n const index = recordIndex.slice(0, i + 1);\n const record = this.table.dataSource.getRaw(index as unknown as number);\n titleRecords.push(record);\n }\n\n const titleRows = [];\n // const isTitle = !(recordIndex.length === (this.table.options.groupBy as any).length + 1);\n const isTitle = nextRecordIndex.length === recordIndex.length + 1;\n let titleIndex = recordIndex.slice(0, !isTitle ? recordIndex.length - 1 : recordIndex.length);\n const currentIndexedData = this.table.dataSource.currentIndexedData;\n const startIndex = this.rowNow - this.table.columnHeaderLevelCount;\n\n for (let i = startIndex; i >= 0; i--) {\n const currentIndex = currentIndexedData[i];\n if (isArray(currentIndex) && titleIndex.length === currentIndex.length) {\n let isMatch = true;\n for (let j = 0; j < currentIndex.length; j++) {\n if (currentIndex[j] !== titleIndex[j]) {\n isMatch = false;\n break;\n }\n }\n if (isMatch) {\n titleRows.push(i + this.table.columnHeaderLevelCount);\n titleIndex = titleIndex.slice(0, titleIndex.length - 1);\n }\n } else if (currentIndex === recordIndex[0]) {\n titleRows.push(i + this.table.columnHeaderLevelCount);\n break;\n }\n }\n\n this.titleRows = titleRows.reverse();\n }\n\n updateScenegraph() {\n const { table } = this;\n const { shadowGroup, shadowGroupFrozen } = prepareShadowRoot(table);\n\n this.showedTitleRows.length = 0;\n let skip = 0;\n for (let col = 0; col < table.colCount; col++) {\n let colGroup;\n if (col < table.frozenColCount) {\n colGroup = new Group({\n x: table.getColsWidth(0, col - 1),\n y: table.getFrozenRowsHeight()\n });\n shadowGroupFrozen.add(colGroup);\n } else {\n colGroup = new Group({\n x: table.getColsWidth(table.frozenColCount, col - 1),\n y: table.getFrozenRowsHeight()\n });\n shadowGroup.add(colGroup);\n }\n colGroup.col = col;\n for (let i = 0; i < this.titleRows.length; i++) {\n const row = this.titleRows[i];\n if (isSkipRow(row, this.rowNow, table.scenegraph.proxy.screenTopRow, this.titleRows)) {\n // skipOne = true;\n col === 0 && skip++;\n continue;\n }\n if (col === 0) {\n this.showedTitleRows.push(row);\n }\n const cell = table.scenegraph.getCell(col, row);\n if (cell.role === 'cell') {\n const newCell = cloneGraphic(cell);\n newCell.setAttributes({\n y: i * 40\n });\n colGroup.add(newCell);\n } else {\n // create a fake cellGroup for title\n const newCell = updateCell(col, row, table, true, true);\n newCell.setAttributes({\n y: i * 40\n });\n colGroup.add(newCell);\n }\n }\n }\n\n if (skip > 0 && this.skipStartRow === -1 && this.skipEndRow === -1) {\n this.skipStartRow = table.scenegraph.proxy.screenTopRow - 1;\n this.skipEndRow = table.scenegraph.proxy.screenTopRow + 1;\n }\n }\n}\n\nfunction isSkipRow(row: number, topRow: number, screenTopRow: number, titleRows: number[]) {\n if (row === topRow && row !== screenTopRow + titleRows.length - 1) {\n return true;\n }\n\n const rowIndex = titleRows.indexOf(row);\n const rowLimit = screenTopRow + rowIndex + 1;\n if (row === rowLimit && row < topRow) {\n return true;\n }\n\n return false;\n}\n\nfunction cloneGraphic(graphic: Graphic) {\n const newGraphic = graphic.clone();\n (newGraphic as any).role = (graphic as any).role;\n (newGraphic as any).col = (graphic as any).col;\n (newGraphic as any).row = (graphic as any).row;\n (newGraphic as any).mergeStartCol = (graphic as any).mergeStartCol;\n (newGraphic as any).mergeStartRow = (graphic as any).mergeStartRow;\n (newGraphic as any).mergeEndCol = (graphic as any).mergeEndCol;\n (newGraphic as any).mergeEndRow = (graphic as any).mergeEndRow;\n (newGraphic as any).contentWidth = (graphic as any).contentWidth;\n (newGraphic as any).contentHeight = (graphic as any).contentHeight;\n\n if ((newGraphic as any).role === 'cell') {\n // hack for vrender not support shadow group pick\n const hackRect = createRect({\n x: 0,\n y: 0,\n width: newGraphic.attribute.width,\n height: newGraphic.attribute.height\n });\n newGraphic.add(hackRect);\n }\n\n if (graphic.type === 'group') {\n const newGroup = newGraphic as Group;\n graphic.forEachChildren(child => {\n const newChild = cloneGraphic(child as any);\n newGroup.add(newChild);\n });\n }\n return newGraphic;\n}\n\nfunction prepareShadowRoot(table: ListTable) {\n const colHeaderGroup = table.scenegraph.colHeaderGroup;\n const cornerHeaderGroup = table.scenegraph.cornerHeaderGroup;\n if (!colHeaderGroup.border) {\n const hackBorder = createRect({\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n colHeaderGroup.add(hackBorder);\n colHeaderGroup.border = hackBorder;\n (hackBorder as any).attachShadow(hackBorder.shadowRoot);\n hackBorder.name = 'border-rect';\n\n hackBorder.addEventListener('click', (e: any) => {\n const titleRows = table.listTreeStickCellPlugin.titleRows;\n const { shadowTarget } = e.pickParams;\n const cellGroup = getTargetCell(shadowTarget);\n const { col, row } = cellGroup;\n const rowIndex = titleRows.indexOf(row);\n table.scrollToCell({ col, row: row - rowIndex });\n });\n }\n\n if (!cornerHeaderGroup.border) {\n const hackBorder = createRect({\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n cornerHeaderGroup.add(hackBorder);\n cornerHeaderGroup.border = hackBorder;\n (hackBorder as any).attachShadow(hackBorder.shadowRoot);\n hackBorder.name = 'border-rect';\n\n hackBorder.addEventListener('click', (e: any) => {\n const titleRows = table.listTreeStickCellPlugin.titleRows;\n const { shadowTarget } = e.pickParams;\n const cellGroup = getTargetCell(shadowTarget);\n const { col, row } = cellGroup;\n const rowIndex = titleRows.indexOf(row);\n table.scrollToCell({ col, row: row - rowIndex });\n });\n }\n\n const shadowGroup = colHeaderGroup.border.shadowRoot;\n const shadowGroupFrozen = cornerHeaderGroup.border.shadowRoot;\n shadowGroup.removeAllChild();\n shadowGroupFrozen.removeAllChild();\n\n return { shadowGroup, shadowGroupFrozen };\n}\n\nexport const registerListTreeStickCellPlugin = () => {\n Factory.registerComponent('listTreeStickCellPlugin', ListTreeStickCellPlugin);\n};\n\nexport type IListTreeStickCellPlugin = typeof ListTreeStickCellPlugin;\n"]}
|
package/es/core/group-helper.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { isArray, isString } from "@visactor/vutils";
|
|
2
|
-
|
|
3
|
-
export function getGroupByDataConfig(groupByOption) {
|
|
4
|
-
if (isString(groupByOption)) return {
|
|
5
|
-
groupByRules: [ groupByOption ]
|
|
6
|
-
};
|
|
7
|
-
if (isArray(groupByOption)) {
|
|
8
|
-
return {
|
|
9
|
-
groupByRules: groupByOption.map((item => isString(item) ? item : item.key))
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
return {};
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=group-helper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/group-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,UAAU,oBAAoB,CAAC,aAA4B;IAE/D,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE;QAC3B,OAAO,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;KAC1C;IACD,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;QAC1B,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC5C,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAClB,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,YAAY,EAAE,CAAC;KACzB;IAED,OAAO,EAAE,CAAC;AACZ,CAAC","file":"group-helper.js","sourcesContent":["import { isArray, isString } from '@visactor/vutils';\nimport type { GroupByOption } from '../ts-types';\n\nexport function getGroupByDataConfig(groupByOption: GroupByOption) {\n // no sort temply\n if (isString(groupByOption)) {\n return { groupByRules: [groupByOption] };\n }\n if (isArray(groupByOption)) {\n const groupByRules = groupByOption.map(item => {\n if (isString(item)) {\n return item;\n }\n return item.key;\n });\n return { groupByRules };\n }\n\n return {};\n}\n"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ListTable } from '../ListTable';
|
|
2
|
-
export declare function listTableChangeCellValue(col: number, row: number, value: string | number | null, workOnEditableCell: boolean, table: ListTable): void;
|
|
3
|
-
export declare function listTableChangeCellValues(startCol: number, startRow: number, values: (string | number)[][], workOnEditableCell: boolean, table: ListTable): void;
|
|
4
|
-
export declare function sortRecords(table: ListTable): void;
|
|
5
|
-
export declare function listTableAddRecord(record: any, recordIndex: number, table: ListTable): void;
|
|
6
|
-
export declare function listTableAddRecords(records: any[], recordIndex: number, table: ListTable): void;
|
|
7
|
-
export declare function listTableDeleteRecords(recordIndexs: number[], table: ListTable): void;
|
|
8
|
-
export declare function listTableUpdateRecords(records: any[], recordIndexs: number[], table: ListTable): void;
|