@visactor/vtable 1.8.3-alpha.0 → 1.8.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.js +7 -4
- package/cjs/ListTable.js.map +1 -1
- package/cjs/components/legend/discrete-legend/discrete-legend.js +7 -4
- package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
- package/cjs/core/BaseTable.js +1 -1
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/TABLE_EVENT_TYPE.d.ts +2 -0
- package/cjs/core/TABLE_EVENT_TYPE.js +2 -0
- package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/cjs/core/tableHelper.d.ts +2 -1
- package/cjs/core/tableHelper.js +9 -2
- package/cjs/core/tableHelper.js.map +1 -1
- package/cjs/data/DataSource.d.ts +1 -0
- package/cjs/data/DataSource.js +4 -0
- package/cjs/data/DataSource.js.map +1 -1
- package/cjs/event/event.js +2 -2
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/container-dom.js +1 -1
- package/cjs/event/listener/container-dom.js.map +1 -1
- package/cjs/event/listener/table-group.js +43 -19
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/event/scroll.js +1 -1
- package/cjs/event/scroll.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.js +10 -3
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/simple-header-layout.js +5 -1
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/scenegraph/component/custom.js +6 -4
- package/cjs/scenegraph/component/custom.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +32 -9
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js +37 -9
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
- package/cjs/scenegraph/layout/frozen-react.js +7 -7
- package/cjs/scenegraph/layout/frozen-react.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +1 -2
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.js +3 -4
- package/cjs/scenegraph/layout/update-width.js.map +1 -1
- package/cjs/state/cell-move/index.js +3 -2
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/state/select/update-position.js +19 -4
- package/cjs/state/select/update-position.js.map +1 -1
- package/cjs/state/state.d.ts +2 -1
- package/cjs/state/state.js +11 -4
- package/cjs/state/state.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +2 -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/corner.d.ts +3 -0
- package/cjs/ts-types/pivot-table/corner.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +231 -80
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +8 -5
- package/es/ListTable.js.map +1 -1
- package/es/components/legend/discrete-legend/discrete-legend.js +5 -4
- package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
- package/es/core/BaseTable.js +1 -1
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/TABLE_EVENT_TYPE.d.ts +2 -0
- package/es/core/TABLE_EVENT_TYPE.js +2 -0
- package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/es/core/tableHelper.d.ts +2 -1
- package/es/core/tableHelper.js +7 -0
- package/es/core/tableHelper.js.map +1 -1
- package/es/data/DataSource.d.ts +1 -0
- package/es/data/DataSource.js +4 -0
- package/es/data/DataSource.js.map +1 -1
- package/es/event/event.js +2 -2
- package/es/event/event.js.map +1 -1
- package/es/event/listener/container-dom.js +1 -1
- package/es/event/listener/container-dom.js.map +1 -1
- package/es/event/listener/table-group.js +43 -19
- package/es/event/listener/table-group.js.map +1 -1
- package/es/event/scroll.js +1 -1
- package/es/event/scroll.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.js +10 -3
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/simple-header-layout.js +5 -1
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/scenegraph/component/custom.js +6 -4
- package/es/scenegraph/component/custom.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +28 -7
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/column-helper.js +35 -8
- package/es/scenegraph/group-creater/column-helper.js.map +1 -1
- package/es/scenegraph/layout/frozen-react.js +7 -7
- package/es/scenegraph/layout/frozen-react.js.map +1 -1
- package/es/scenegraph/layout/update-height.js +1 -2
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-width.js +3 -4
- package/es/scenegraph/layout/update-width.js.map +1 -1
- package/es/state/cell-move/index.js +3 -2
- package/es/state/cell-move/index.js.map +1 -1
- package/es/state/select/update-position.js +19 -4
- package/es/state/select/update-position.js.map +1 -1
- package/es/state/state.d.ts +2 -1
- package/es/state/state.js +11 -4
- package/es/state/state.js.map +1 -1
- package/es/ts-types/base-table.d.ts +2 -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/corner.d.ts +3 -0
- package/es/ts-types/pivot-table/corner.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +5 -5
|
@@ -27,7 +27,7 @@ function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd, merge
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
let colForDefine = col, rowForDefine = row;
|
|
30
|
-
range && (colForDefine = range.start.col, rowForDefine = range.start.row), ("columnHeader" === cellLocation || "cornerHeader" === cellLocation) && row >= table.columnHeaderLevelCount && (cellLocation = "body");
|
|
30
|
+
range && (colForDefine = range.start.col, rowForDefine = range.start.row), !table.isPivotTable() && ("columnHeader" === cellLocation || "cornerHeader" === cellLocation) && row >= table.columnHeaderLevelCount && (cellLocation = "body");
|
|
31
31
|
const define = "body" !== cellLocation ? table.getHeaderDefine(colForDefine, rowForDefine) : table.getBodyColumnDefine(colForDefine, rowForDefine);
|
|
32
32
|
let mayHaveIcon = "body" !== cellLocation || ((null == define ? void 0 : define.dragOrder) || !!(null == define ? void 0 : define.icon) || !!(null == define ? void 0 : define.tree));
|
|
33
33
|
if (!range && (table.internalProps.enableTreeNodeMerge || "body" !== cellLocation || (null == define ? void 0 : define.mergeCell)) && (range = table.getCellRange(col, row),
|
|
@@ -43,19 +43,36 @@ function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd, merge
|
|
|
43
43
|
custom_1.dealWithCustom)(table.options.groupTitleCustomLayout, void 0, range.start.col, range.start.row, table.getColsWidth(range.start.col, range.end.col), table.getRowsHeight(range.start.row, range.end.row), !1, table.isAutoRowHeight(row), [ 0, 0, 0, 0 ], range, table))),
|
|
44
44
|
vtableMergeName && (value = vtableMergeName);
|
|
45
45
|
}
|
|
46
|
-
const cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row), cellTheme = (0,
|
|
47
|
-
tableHelper_1.getStyleTheme)(cellStyle, table, range ? range.start.col : col, range ? range.start.row : row, get_prop_1.getProp).theme;
|
|
48
|
-
cellTheme.group.cornerRadius = (0, tableHelper_1.getCellCornerRadius)(col, row, table),
|
|
49
|
-
cellTheme.group.width = colWidth, cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight,
|
|
50
|
-
cellTheme._vtable.padding && (padding = cellTheme._vtable.padding), cellTheme.text.textAlign && (textAlign = cellTheme.text.textAlign),
|
|
51
|
-
cellTheme.text.textBaseline && (textBaseline = cellTheme.text.textBaseline), "body" === cellLocation || cellTheme.group.fill || (cellTheme.group.fill = "#fff");
|
|
52
46
|
const type = isVtableMerge || isCustomMerge ? "text" : (table.isHeader(col, row) ? table._getHeaderLayoutMap(col, row).headerType : table.getBodyColumnType(col, row)) || "text";
|
|
53
47
|
if ((0, helper_1.isPromise)(value)) {
|
|
54
|
-
createEmptyCellGroup(col, row, 0, y, cellWidth, cellHeight, columnGroup), (0, deal_promise_data_1.dealPromiseData)(value, table,
|
|
55
|
-
|
|
48
|
+
createEmptyCellGroup(col, row, 0, y, cellWidth, cellHeight, columnGroup), (0, deal_promise_data_1.dealPromiseData)(value, table, callCreateCellForPromiseValue.bind(null, {
|
|
49
|
+
type: type,
|
|
50
|
+
value: value,
|
|
51
|
+
define: define,
|
|
52
|
+
table: table,
|
|
53
|
+
col: col,
|
|
54
|
+
row: row,
|
|
55
|
+
colWidth: colWidth,
|
|
56
|
+
cellWidth: cellWidth,
|
|
57
|
+
cellHeight: cellHeight,
|
|
58
|
+
columnGroup: columnGroup,
|
|
59
|
+
y: y,
|
|
60
|
+
customStyle: customStyle,
|
|
61
|
+
mayHaveIcon: mayHaveIcon,
|
|
62
|
+
cellLocation: cellLocation,
|
|
63
|
+
range: range,
|
|
64
|
+
customResult: customResult,
|
|
65
|
+
defaultRowHeight: defaultRowHeight
|
|
66
|
+
})), columnGroup.updateColumnRowNumber(row);
|
|
56
67
|
const height = table.getRowHeight(row);
|
|
57
68
|
columnGroup.updateColumnHeight(height), y += height;
|
|
58
69
|
} else {
|
|
70
|
+
const cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row), cellTheme = (0,
|
|
71
|
+
tableHelper_1.getStyleTheme)(cellStyle, table, range ? range.start.col : col, range ? range.start.row : row, get_prop_1.getProp).theme;
|
|
72
|
+
cellTheme.group.cornerRadius = (0, tableHelper_1.getCellCornerRadius)(col, row, table),
|
|
73
|
+
cellTheme.group.width = colWidth, cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight,
|
|
74
|
+
cellTheme._vtable.padding && (padding = cellTheme._vtable.padding), cellTheme.text.textAlign && (textAlign = cellTheme.text.textAlign),
|
|
75
|
+
cellTheme.text.textBaseline && (textBaseline = cellTheme.text.textBaseline), "body" === cellLocation || cellTheme.group.fill || (cellTheme.group.fill = "#fff");
|
|
59
76
|
const cellGroup = (0, cell_helper_1.createCell)(type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme, range, customResult);
|
|
60
77
|
if (columnGroup.updateColumnRowNumber(row), isMerge) {
|
|
61
78
|
const rangeHeight = table.getRowHeight(row), {width: contentWidth} = (table.getColWidth(col),
|
|
@@ -82,6 +99,17 @@ function getColumnGroupTheme(col, colWidth, table) {
|
|
|
82
99
|
};
|
|
83
100
|
}
|
|
84
101
|
|
|
102
|
+
function callCreateCellForPromiseValue(createCellArgs) {
|
|
103
|
+
let padding, textAlign, textBaseline;
|
|
104
|
+
const {type: type, value: value, define: define, table: table, col: col, row: row, colWidth: colWidth, cellWidth: cellWidth, cellHeight: cellHeight, columnGroup: columnGroup, y: y, cellLocation: cellLocation, mayHaveIcon: mayHaveIcon, customStyle: customStyle, range: range, customResult: customResult, defaultRowHeight: defaultRowHeight} = createCellArgs, cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row), cellTheme = (0,
|
|
105
|
+
tableHelper_1.getStyleTheme)(cellStyle, table, range ? range.start.col : col, range ? range.start.row : row, get_prop_1.getProp).theme;
|
|
106
|
+
cellTheme.group.cornerRadius = (0, tableHelper_1.getCellCornerRadius)(col, row, table),
|
|
107
|
+
cellTheme.group.width = colWidth, cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight,
|
|
108
|
+
cellTheme._vtable.padding && (padding = cellTheme._vtable.padding), cellTheme.text.textAlign && (textAlign = cellTheme.text.textAlign),
|
|
109
|
+
cellTheme.text.textBaseline && (textBaseline = cellTheme.text.textBaseline), "body" === cellLocation || cellTheme.group.fill || (cellTheme.group.fill = "#fff"),
|
|
110
|
+
(0, cell_helper_1.createCell)(type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme, range, customResult);
|
|
111
|
+
}
|
|
112
|
+
|
|
85
113
|
function dealMerge(range, mergeMap, table, forceUpdate) {
|
|
86
114
|
let cellWidth = 0, cellHeight = 0;
|
|
87
115
|
const mergeResult = mergeMap.get(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/group-creater/column-helper.ts"],"names":[],"mappings":"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","file":"column-helper.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IThemeSpec } from './../../vrender';\nimport type {\n CellLocation,\n CellRange,\n ColumnDefine,\n IRowSeriesNumber,\n ListTableConstructorOptions,\n TextColumnDefine\n} from '../../ts-types';\nimport { Group } from '../graphic/group';\nimport { getProp, getRawProp } from '../utils/get-prop';\nimport type { MergeMap } from '../scenegraph';\nimport { createCell, dealWithMergeCellSize, resizeCellGroup } from './cell-helper';\nimport type { BaseTableAPI, HeaderData } from '../../ts-types/base-table';\nimport { getCellCornerRadius, getStyleTheme } from '../../core/tableHelper';\nimport { isPromise } from '../../tools/helper';\nimport { dealPromiseData } from '../utils/deal-promise-data';\nimport { dealWithCustom } from '../component/custom';\n/**\n * 创建复合列 同一列支持创建不同类型单元格\n * @param columnGroup 列Group\n * @param col\n * @param colWidth 配置列宽\n * @param rowStart\n * @param rowEnd\n * @param mergeMap merge单元格信息\n * @param defaultRowHeight\n * @param table\n * @param cellLocation\n * @param rowLimit\n * @param customRender\n * @param customLayout\n * @returns\n */\nexport function createComplexColumn(\n columnGroup: Group,\n col: number,\n colWidth: number,\n rowStart: number,\n rowEnd: number,\n mergeMap: MergeMap,\n defaultRowHeight: number | number[],\n table: BaseTableAPI,\n cellLocation: CellLocation,\n rowLimit?: number\n) {\n let padding;\n let textAlign;\n let textBaseline;\n /** useColumnTheme 判断是否可以使用columnTheme */\n // insert cell into column group top\n let y = 0;\n // if (columnGroup.colHeight) {\n // // insert cell into column group bottom\n // y = columnGroup.colHeight;\n // }\n if (columnGroup.lastChild && (columnGroup.lastChild as Group).row === rowStart - 1) {\n y = (columnGroup.lastChild as Group).attribute.y + (columnGroup.lastChild as Group).attribute.height;\n } else if (columnGroup.colHeight) {\n y = columnGroup.colHeight;\n }\n\n for (let j = rowStart; j <= rowEnd; j++) {\n const row = j;\n let value = table.getCellValue(col, row);\n\n // 处理单元格合并\n let cellWidth = colWidth;\n // let cellHeight = table.internalProps.autoRowHeight ? 0 : table.getRowHeight(row);\n let cellHeight = table.getRowHeight(row);\n let range;\n let isMerge;\n let customStyle;\n let customResult;\n let isCustomMerge = false;\n if (table.internalProps.customMergeCell) {\n const customMerge = table.getCustomMerge(col, row);\n if (customMerge) {\n const {\n range: customMergeRange,\n text: customMergeText,\n style: customMergeStyle,\n customLayout,\n customRender\n } = customMerge;\n range = customMergeRange;\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n if (isMerge) {\n const needUpdateRange = rowStart > range.start.row;\n const mergeSize = dealMerge(range, mergeMap, table, needUpdateRange);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n value = customMergeText;\n customStyle = customMergeStyle;\n\n if (customLayout || customRender) {\n customResult = dealWithCustom(\n customLayout,\n customRender,\n customMergeRange.start.col,\n customMergeRange.start.row,\n table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col),\n table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row),\n false,\n // table.heightMode === 'autoHeight',\n table.isAutoRowHeight(row),\n [0, 0, 0, 0],\n range,\n table\n );\n }\n\n isCustomMerge = true;\n }\n }\n\n let colForDefine = col;\n let rowForDefine = row;\n if (range) {\n colForDefine = range.start.col;\n rowForDefine = range.start.row;\n }\n\n // adjust cellLocation for top frozen row\n if ((cellLocation === 'columnHeader' || cellLocation === 'cornerHeader') && row >= table.columnHeaderLevelCount) {\n cellLocation = 'body';\n }\n const define =\n cellLocation !== 'body'\n ? table.getHeaderDefine(colForDefine, rowForDefine)\n : table.getBodyColumnDefine(colForDefine, rowForDefine);\n let mayHaveIcon =\n cellLocation !== 'body'\n ? true\n : (define as IRowSeriesNumber)?.dragOrder || !!define?.icon || !!(define as ColumnDefine)?.tree;\n\n if (\n !range &&\n (table.internalProps.enableTreeNodeMerge || cellLocation !== 'body' || (define as TextColumnDefine)?.mergeCell)\n ) {\n // 只有表头或者column配置合并单元格后再进行信息获取\n range = table.getCellRange(col, row);\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n // 所有Merge单元格,只保留左上角一个真实的单元格,其他使用空Group占位\n if (isMerge) {\n const needUpdateRange = rowStart > range.start.row;\n const mergeSize = dealMerge(range, mergeMap, table, needUpdateRange);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n }\n let isVtableMerge = false;\n if (table.internalProps.enableTreeNodeMerge && isMerge) {\n const rawRecord = table.getCellRawRecord(range.start.col, range.start.row);\n const { vtableMergeName, vtableMerge } = rawRecord ?? {};\n\n isVtableMerge = vtableMerge;\n if (vtableMerge) {\n mayHaveIcon = true;\n if ((table.options as ListTableConstructorOptions).groupTitleCustomLayout) {\n customResult = dealWithCustom(\n (table.options as ListTableConstructorOptions).groupTitleCustomLayout,\n undefined,\n range.start.col,\n range.start.row,\n table.getColsWidth(range.start.col, range.end.col),\n table.getRowsHeight(range.start.row, range.end.row),\n false,\n table.isAutoRowHeight(row),\n [0, 0, 0, 0],\n range,\n table\n );\n }\n }\n if (vtableMergeName) {\n value = vtableMergeName;\n }\n }\n\n const cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row);\n const cellTheme = getStyleTheme(\n cellStyle,\n table,\n range ? range.start.col : col,\n range ? range.start.row : row,\n getProp\n ).theme;\n cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table);\n cellTheme.group.width = colWidth;\n cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight;\n if (cellTheme._vtable.padding) {\n padding = cellTheme._vtable.padding;\n }\n if (cellTheme.text.textAlign) {\n textAlign = cellTheme.text.textAlign;\n }\n if (cellTheme.text.textBaseline) {\n textBaseline = cellTheme.text.textBaseline;\n }\n\n // enable clip body\n if (cellLocation !== 'body' && !cellTheme.group.fill) {\n cellTheme.group.fill = '#fff';\n }\n // margin = getProp('margin', headerStyle, col, 0, table)\n\n const type =\n isVtableMerge || isCustomMerge\n ? 'text'\n : (table.isHeader(col, row)\n ? (table._getHeaderLayoutMap(col, row) as HeaderData).headerType\n : table.getBodyColumnType(col, row)) || 'text';\n\n // deal with promise data\n if (isPromise(value)) {\n createEmptyCellGroup(col, row, 0, y, cellWidth, cellHeight, columnGroup);\n dealPromiseData(\n value,\n table,\n createCell.bind(\n null,\n type,\n value,\n define,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n )\n );\n columnGroup.updateColumnRowNumber(row);\n const height = table.getRowHeight(row);\n columnGroup.updateColumnHeight(height);\n y += height;\n } else {\n const cellGroup = createCell(\n type,\n value,\n define as ColumnDefine,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n );\n columnGroup.updateColumnRowNumber(row);\n if (isMerge) {\n const rangeHeight = table.getRowHeight(row);\n const rangeWidth = table.getColWidth(col);\n\n const { width: contentWidth } = cellGroup.attribute;\n const { height: contentHeight } = cellGroup.attribute;\n cellGroup.contentWidth = contentWidth;\n cellGroup.contentHeight = contentHeight;\n\n // resizeCellGroup(cellGroup, rangeWidth, rangeHeight, range, table);\n dealWithMergeCellSize(range, contentWidth, contentHeight, padding, textAlign, textBaseline, table);\n columnGroup.updateColumnHeight(rangeHeight);\n y += rangeHeight;\n } else {\n // columnGroup.updateColumnHeight(cellGroup.attribute.height);\n // y += cellGroup.attribute.height;\n columnGroup.updateColumnHeight(cellHeight);\n y += cellHeight;\n }\n }\n if (rowLimit && row > rowLimit) {\n break;\n }\n }\n\n columnGroup.setAttribute('width', colWidth);\n return {\n width: colWidth,\n height: y\n };\n}\n\n/**\n * 获取列分组主题\n * @param col 列索引\n * @param colWidth 列宽\n * @param table 表格实例\n * @returns 列分组主题\n */\nexport function getColumnGroupTheme(\n col: number,\n colWidth: number,\n table: BaseTableAPI\n): { theme: IThemeSpec & { _vtable: any }; hasFunctionPros: boolean } {\n const style = table._getCellStyle(col, table.columnHeaderLevelCount); // to be fixed\n const { theme: columnTheme, hasFunctionPros } = getStyleTheme(\n style,\n table,\n col,\n table.columnHeaderLevelCount,\n getRawProp\n );\n\n // get column header style\n columnTheme.group.width = colWidth;\n columnTheme.group.height = 0;\n return { theme: columnTheme, hasFunctionPros };\n}\n\nfunction dealMerge(range: CellRange, mergeMap: MergeMap, table: BaseTableAPI, forceUpdate: boolean) {\n let cellWidth = 0;\n let cellHeight = 0;\n const mergeResult = mergeMap.get(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`);\n if (!mergeResult || forceUpdate) {\n for (let col = range.start.col; col <= range.end.col; col++) {\n cellWidth += table.getColWidth(col);\n }\n\n // let cellHeight = 0;\n for (let i = range.start.row; i <= range.end.row; i++) {\n cellHeight += table.getRowHeight(i);\n }\n\n mergeMap.set(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`, {\n cellWidth,\n cellHeight\n });\n } else {\n cellWidth = mergeResult.cellWidth;\n cellHeight = mergeResult.cellHeight;\n }\n return {\n cellWidth,\n cellHeight\n };\n}\n\nfunction createEmptyCellGroup(\n col: number,\n row: number,\n x: number,\n y: number,\n width: number,\n height: number,\n columnGroup: Group\n) {\n const cellGroup = new Group({\n x,\n y,\n width,\n height\n });\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup.addChild(cellGroup);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/group-creater/column-helper.ts"],"names":[],"mappings":"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","file":"column-helper.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IThemeSpec } from './../../vrender';\nimport type {\n CellLocation,\n CellRange,\n ColumnDefine,\n IRowSeriesNumber,\n ListTableConstructorOptions,\n TextColumnDefine\n} from '../../ts-types';\nimport { Group } from '../graphic/group';\nimport { getProp, getRawProp } from '../utils/get-prop';\nimport type { MergeMap } from '../scenegraph';\nimport { createCell, dealWithMergeCellSize, resizeCellGroup } from './cell-helper';\nimport type { BaseTableAPI, HeaderData } from '../../ts-types/base-table';\nimport { getCellCornerRadius, getStyleTheme } from '../../core/tableHelper';\nimport { isPromise } from '../../tools/helper';\nimport { dealPromiseData } from '../utils/deal-promise-data';\nimport { dealWithCustom } from '../component/custom';\n/**\n * 创建复合列 同一列支持创建不同类型单元格\n * @param columnGroup 列Group\n * @param col\n * @param colWidth 配置列宽\n * @param rowStart\n * @param rowEnd\n * @param mergeMap merge单元格信息\n * @param defaultRowHeight\n * @param table\n * @param cellLocation\n * @param rowLimit\n * @param customRender\n * @param customLayout\n * @returns\n */\nexport function createComplexColumn(\n columnGroup: Group,\n col: number,\n colWidth: number,\n rowStart: number,\n rowEnd: number,\n mergeMap: MergeMap,\n defaultRowHeight: number | number[],\n table: BaseTableAPI,\n cellLocation: CellLocation,\n rowLimit?: number\n) {\n let padding;\n let textAlign;\n let textBaseline;\n /** useColumnTheme 判断是否可以使用columnTheme */\n // insert cell into column group top\n let y = 0;\n // if (columnGroup.colHeight) {\n // // insert cell into column group bottom\n // y = columnGroup.colHeight;\n // }\n if (columnGroup.lastChild && (columnGroup.lastChild as Group).row === rowStart - 1) {\n y = (columnGroup.lastChild as Group).attribute.y + (columnGroup.lastChild as Group).attribute.height;\n } else if (columnGroup.colHeight) {\n y = columnGroup.colHeight;\n }\n\n for (let j = rowStart; j <= rowEnd; j++) {\n const row = j;\n let value = table.getCellValue(col, row);\n\n // 处理单元格合并\n let cellWidth = colWidth;\n // let cellHeight = table.internalProps.autoRowHeight ? 0 : table.getRowHeight(row);\n let cellHeight = table.getRowHeight(row);\n let range;\n let isMerge;\n let customStyle;\n let customResult;\n let isCustomMerge = false;\n if (table.internalProps.customMergeCell) {\n const customMerge = table.getCustomMerge(col, row);\n if (customMerge) {\n const {\n range: customMergeRange,\n text: customMergeText,\n style: customMergeStyle,\n customLayout,\n customRender\n } = customMerge;\n range = customMergeRange;\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n if (isMerge) {\n const needUpdateRange = rowStart > range.start.row;\n const mergeSize = dealMerge(range, mergeMap, table, needUpdateRange);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n value = customMergeText;\n customStyle = customMergeStyle;\n\n if (customLayout || customRender) {\n customResult = dealWithCustom(\n customLayout,\n customRender,\n customMergeRange.start.col,\n customMergeRange.start.row,\n table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col),\n table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row),\n false,\n // table.heightMode === 'autoHeight',\n table.isAutoRowHeight(row),\n [0, 0, 0, 0],\n range,\n table\n );\n }\n\n isCustomMerge = true;\n }\n }\n\n let colForDefine = col;\n let rowForDefine = row;\n if (range) {\n colForDefine = range.start.col;\n rowForDefine = range.start.row;\n }\n\n // adjust cellLocation for top frozen row\n if (\n !table.isPivotTable() &&\n (cellLocation === 'columnHeader' || cellLocation === 'cornerHeader') &&\n row >= table.columnHeaderLevelCount\n ) {\n cellLocation = 'body';\n }\n const define =\n cellLocation !== 'body'\n ? table.getHeaderDefine(colForDefine, rowForDefine)\n : table.getBodyColumnDefine(colForDefine, rowForDefine);\n let mayHaveIcon =\n cellLocation !== 'body'\n ? true\n : (define as IRowSeriesNumber)?.dragOrder || !!define?.icon || !!(define as ColumnDefine)?.tree;\n\n if (\n !range &&\n (table.internalProps.enableTreeNodeMerge || cellLocation !== 'body' || (define as TextColumnDefine)?.mergeCell)\n ) {\n // 只有表头或者column配置合并单元格后再进行信息获取\n range = table.getCellRange(col, row);\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n // 所有Merge单元格,只保留左上角一个真实的单元格,其他使用空Group占位\n if (isMerge) {\n const needUpdateRange = rowStart > range.start.row;\n const mergeSize = dealMerge(range, mergeMap, table, needUpdateRange);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n }\n let isVtableMerge = false;\n if (table.internalProps.enableTreeNodeMerge && isMerge) {\n const rawRecord = table.getCellRawRecord(range.start.col, range.start.row);\n const { vtableMergeName, vtableMerge } = rawRecord ?? {};\n\n isVtableMerge = vtableMerge;\n if (vtableMerge) {\n mayHaveIcon = true;\n if ((table.options as ListTableConstructorOptions).groupTitleCustomLayout) {\n customResult = dealWithCustom(\n (table.options as ListTableConstructorOptions).groupTitleCustomLayout,\n undefined,\n range.start.col,\n range.start.row,\n table.getColsWidth(range.start.col, range.end.col),\n table.getRowsHeight(range.start.row, range.end.row),\n false,\n table.isAutoRowHeight(row),\n [0, 0, 0, 0],\n range,\n table\n );\n }\n }\n if (vtableMergeName) {\n value = vtableMergeName;\n }\n }\n\n const type =\n isVtableMerge || isCustomMerge\n ? 'text'\n : (table.isHeader(col, row)\n ? (table._getHeaderLayoutMap(col, row) as HeaderData).headerType\n : table.getBodyColumnType(col, row)) || 'text';\n\n // deal with promise data\n if (isPromise(value)) {\n createEmptyCellGroup(col, row, 0, y, cellWidth, cellHeight, columnGroup);\n dealPromiseData(\n value,\n table,\n callCreateCellForPromiseValue.bind(null, {\n type,\n value,\n define,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n customStyle,\n mayHaveIcon,\n cellLocation,\n range,\n customResult,\n defaultRowHeight\n })\n );\n columnGroup.updateColumnRowNumber(row);\n const height = table.getRowHeight(row);\n columnGroup.updateColumnHeight(height);\n y += height;\n } else {\n const cellStyle =\n customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row);\n const cellTheme = getStyleTheme(\n cellStyle,\n table,\n range ? range.start.col : col,\n range ? range.start.row : row,\n getProp\n ).theme;\n cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table);\n cellTheme.group.width = colWidth;\n cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight;\n if (cellTheme._vtable.padding) {\n padding = cellTheme._vtable.padding;\n }\n if (cellTheme.text.textAlign) {\n textAlign = cellTheme.text.textAlign;\n }\n if (cellTheme.text.textBaseline) {\n textBaseline = cellTheme.text.textBaseline;\n }\n\n // enable clip body\n if (cellLocation !== 'body' && !cellTheme.group.fill) {\n cellTheme.group.fill = '#fff';\n }\n const cellGroup = createCell(\n type,\n value,\n define as ColumnDefine,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n );\n columnGroup.updateColumnRowNumber(row);\n if (isMerge) {\n const rangeHeight = table.getRowHeight(row);\n const rangeWidth = table.getColWidth(col);\n\n const { width: contentWidth } = cellGroup.attribute;\n const { height: contentHeight } = cellGroup.attribute;\n cellGroup.contentWidth = contentWidth;\n cellGroup.contentHeight = contentHeight;\n\n // resizeCellGroup(cellGroup, rangeWidth, rangeHeight, range, table);\n dealWithMergeCellSize(range, contentWidth, contentHeight, padding, textAlign, textBaseline, table);\n columnGroup.updateColumnHeight(rangeHeight);\n y += rangeHeight;\n } else {\n // columnGroup.updateColumnHeight(cellGroup.attribute.height);\n // y += cellGroup.attribute.height;\n columnGroup.updateColumnHeight(cellHeight);\n y += cellHeight;\n }\n }\n if (rowLimit && row > rowLimit) {\n break;\n }\n }\n\n columnGroup.setAttribute('width', colWidth);\n return {\n width: colWidth,\n height: y\n };\n}\n\n/**\n * 获取列分组主题\n * @param col 列索引\n * @param colWidth 列宽\n * @param table 表格实例\n * @returns 列分组主题\n */\nexport function getColumnGroupTheme(\n col: number,\n colWidth: number,\n table: BaseTableAPI\n): { theme: IThemeSpec & { _vtable: any }; hasFunctionPros: boolean } {\n const style = table._getCellStyle(col, table.columnHeaderLevelCount); // to be fixed\n const { theme: columnTheme, hasFunctionPros } = getStyleTheme(\n style,\n table,\n col,\n table.columnHeaderLevelCount,\n getRawProp\n );\n\n // get column header style\n columnTheme.group.width = colWidth;\n columnTheme.group.height = 0;\n return { theme: columnTheme, hasFunctionPros };\n}\nfunction callCreateCellForPromiseValue(createCellArgs: any) {\n let padding;\n let textAlign;\n let textBaseline;\n const {\n type,\n value,\n define,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n cellLocation,\n mayHaveIcon,\n customStyle,\n range,\n customResult,\n defaultRowHeight\n } = createCellArgs;\n const cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row);\n const cellTheme = getStyleTheme(\n cellStyle,\n table,\n range ? range.start.col : col,\n range ? range.start.row : row,\n getProp\n ).theme;\n cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table);\n cellTheme.group.width = colWidth;\n cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight;\n if (cellTheme._vtable.padding) {\n padding = cellTheme._vtable.padding;\n }\n if (cellTheme.text.textAlign) {\n textAlign = cellTheme.text.textAlign;\n }\n if (cellTheme.text.textBaseline) {\n textBaseline = cellTheme.text.textBaseline;\n }\n\n // enable clip body\n if (cellLocation !== 'body' && !cellTheme.group.fill) {\n cellTheme.group.fill = '#fff';\n }\n createCell(\n type,\n value,\n define,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n );\n}\nfunction dealMerge(range: CellRange, mergeMap: MergeMap, table: BaseTableAPI, forceUpdate: boolean) {\n let cellWidth = 0;\n let cellHeight = 0;\n const mergeResult = mergeMap.get(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`);\n if (!mergeResult || forceUpdate) {\n for (let col = range.start.col; col <= range.end.col; col++) {\n cellWidth += table.getColWidth(col);\n }\n\n // let cellHeight = 0;\n for (let i = range.start.row; i <= range.end.row; i++) {\n cellHeight += table.getRowHeight(i);\n }\n\n mergeMap.set(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`, {\n cellWidth,\n cellHeight\n });\n } else {\n cellWidth = mergeResult.cellWidth;\n cellHeight = mergeResult.cellHeight;\n }\n return {\n cellWidth,\n cellHeight\n };\n}\n\nfunction createEmptyCellGroup(\n col: number,\n row: number,\n x: number,\n y: number,\n width: number,\n height: number,\n columnGroup: Group\n) {\n const cellGroup = new Group({\n x,\n y,\n width,\n height\n });\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup.addChild(cellGroup);\n}\n"]}
|
|
@@ -37,7 +37,7 @@ function createReactContainer(table) {
|
|
|
37
37
|
function updateReactContainer(table) {
|
|
38
38
|
const {headerDomContainer: headerDomContainer, bodyDomContainer: bodyDomContainer, frozenBodyDomContainer: frozenBodyDomContainer, frozenHeaderDomContainer: frozenHeaderDomContainer, rightFrozenBodyDomContainer: rightFrozenBodyDomContainer, rightFrozenHeaderDomContainer: rightFrozenHeaderDomContainer, bottomDomContainer: bottomDomContainer, frozenBottomDomContainer: frozenBottomDomContainer, rightFrozenBottomDomContainer: rightFrozenBottomDomContainer} = table.internalProps;
|
|
39
39
|
if (!(headerDomContainer || bodyDomContainer || frozenBodyDomContainer || frozenHeaderDomContainer || rightFrozenBodyDomContainer || rightFrozenHeaderDomContainer || bottomDomContainer || frozenBottomDomContainer || rightFrozenBottomDomContainer)) return;
|
|
40
|
-
const allColsWidth = table.getAllColsWidth(), frozenColsWidth = table.getFrozenColsWidth(), rightFrozenColsWidth = table.getRightFrozenColsWidth(), totalFrozenColsWidth = frozenColsWidth + rightFrozenColsWidth, bodyWidth = Math.min(allColsWidth - totalFrozenColsWidth,
|
|
40
|
+
const allColsWidth = table.getAllColsWidth(), tableNoFrameWidth = Math.min(allColsWidth, table.tableNoFrameWidth), frozenColsWidth = table.getFrozenColsWidth(), rightFrozenColsWidth = table.getRightFrozenColsWidth(), totalFrozenColsWidth = frozenColsWidth + rightFrozenColsWidth, bodyWidth = Math.min(allColsWidth - totalFrozenColsWidth, tableNoFrameWidth - totalFrozenColsWidth), allRowsHeight = table.getAllRowsHeight(), tableNoFrameHeight = Math.min(allRowsHeight, table.tableNoFrameHeight), frozenRowsHeight = table.getFrozenRowsHeight(), bottomFrozenRowsHeight = table.getBottomFrozenRowsHeight(), totalFrozenRowsHeight = frozenRowsHeight + bottomFrozenRowsHeight, bodyHeight = Math.min(allRowsHeight - totalFrozenRowsHeight, tableNoFrameHeight - totalFrozenRowsHeight);
|
|
41
41
|
table.frozenColCount > 0 ? (headerDomContainer.style.left = `${table.tableX + frozenColsWidth}px`,
|
|
42
42
|
bodyDomContainer.style.left = `${table.tableX + frozenColsWidth}px`, bottomDomContainer.style.left = `${table.tableX + frozenColsWidth}px`) : 0 === table.frozenColCount && (headerDomContainer.style.left = `${table.tableX}px`,
|
|
43
43
|
bodyDomContainer.style.left = `${table.tableX}px`, bottomDomContainer.style.left = `${table.tableX}px`),
|
|
@@ -50,16 +50,16 @@ function updateReactContainer(table) {
|
|
|
50
50
|
frozenHeaderDomContainer.style.height = `${frozenRowsHeight}px`, frozenHeaderDomContainer.style.top = `${table.tableY}px`,
|
|
51
51
|
rightFrozenBodyDomContainer.style.width = `${rightFrozenColsWidth}px`, rightFrozenBodyDomContainer.style.height = `${bodyHeight}px`,
|
|
52
52
|
rightFrozenBodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`,
|
|
53
|
-
rightFrozenBodyDomContainer.style.left = table.tableX +
|
|
53
|
+
rightFrozenBodyDomContainer.style.left = table.tableX + tableNoFrameWidth - rightFrozenColsWidth + "px",
|
|
54
54
|
rightFrozenHeaderDomContainer.style.width = `${rightFrozenColsWidth}px`, rightFrozenHeaderDomContainer.style.height = `${frozenRowsHeight}px`,
|
|
55
|
-
rightFrozenHeaderDomContainer.style.top = `${table.tableY}px`, rightFrozenHeaderDomContainer.style.left = table.tableX +
|
|
55
|
+
rightFrozenHeaderDomContainer.style.top = `${table.tableY}px`, rightFrozenHeaderDomContainer.style.left = table.tableX + tableNoFrameWidth - rightFrozenColsWidth + "px",
|
|
56
56
|
bottomDomContainer.style.width = `${bodyWidth}px`, bottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`,
|
|
57
|
-
bottomDomContainer.style.top = table.tableY +
|
|
57
|
+
bottomDomContainer.style.top = table.tableY + tableNoFrameHeight - bottomFrozenRowsHeight + "px",
|
|
58
58
|
frozenBottomDomContainer.style.width = `${frozenColsWidth}px`, frozenBottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`,
|
|
59
|
-
frozenBottomDomContainer.style.top = table.tableY +
|
|
59
|
+
frozenBottomDomContainer.style.top = table.tableY + tableNoFrameHeight - bottomFrozenRowsHeight + "px",
|
|
60
60
|
rightFrozenBottomDomContainer.style.width = `${rightFrozenColsWidth}px`, rightFrozenBottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`,
|
|
61
|
-
rightFrozenBottomDomContainer.style.top = table.tableY +
|
|
62
|
-
rightFrozenBottomDomContainer.style.left = table.tableX +
|
|
61
|
+
rightFrozenBottomDomContainer.style.top = table.tableY + tableNoFrameHeight - bottomFrozenRowsHeight + "px",
|
|
62
|
+
rightFrozenBottomDomContainer.style.left = table.tableX + tableNoFrameWidth - rightFrozenColsWidth + "px";
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
function updateReactComponentContainer(scene) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/layout/frozen-react.ts"],"names":[],"mappings":"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","file":"frozen-react.js","sourcesContent":["import type { IGraphic, ReactAttributePlugin } from './../../vrender';\nimport { getTargetCell } from '../../event/util';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { Scenegraph } from '../scenegraph';\n\nexport function createReactContainer(table: BaseTableAPI) {\n const { internalProps } = table;\n internalProps.bodyDomContainer = document.createElement('div');\n internalProps.bodyDomContainer.id = 'vtable-body-dom-container';\n internalProps.bodyDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.bodyDomContainer);\n\n internalProps.headerDomContainer = document.createElement('div');\n internalProps.headerDomContainer.id = 'vtable-header-dom-container';\n internalProps.headerDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.headerDomContainer);\n\n internalProps.frozenBodyDomContainer = document.createElement('div');\n internalProps.frozenBodyDomContainer.id = 'vtable-frozen-body-dom-container';\n internalProps.frozenBodyDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.frozenBodyDomContainer);\n\n internalProps.frozenHeaderDomContainer = document.createElement('div');\n internalProps.frozenHeaderDomContainer.id = 'vtable-frozen-header-dom-container';\n internalProps.frozenHeaderDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.frozenHeaderDomContainer);\n\n internalProps.rightFrozenBodyDomContainer = document.createElement('div');\n internalProps.rightFrozenBodyDomContainer.id = 'vtable-right-frozen-body-dom-container';\n internalProps.rightFrozenBodyDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.rightFrozenBodyDomContainer);\n\n internalProps.rightFrozenHeaderDomContainer = document.createElement('div');\n internalProps.rightFrozenHeaderDomContainer.id = 'vtable-right-frozen-header-dom-container';\n internalProps.rightFrozenHeaderDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.rightFrozenHeaderDomContainer);\n\n internalProps.frozenBottomDomContainer = document.createElement('div');\n internalProps.frozenBottomDomContainer.id = 'vtable-frozen-bottom-dom-container';\n internalProps.frozenBottomDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.frozenBottomDomContainer);\n\n internalProps.bottomDomContainer = document.createElement('div');\n internalProps.bottomDomContainer.id = 'vtable-bottom-dom-container';\n internalProps.bottomDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.bottomDomContainer);\n\n internalProps.rightFrozenBottomDomContainer = document.createElement('div');\n internalProps.rightFrozenBottomDomContainer.id = 'vtable-right-frozen-bottom-dom-container';\n internalProps.rightFrozenBottomDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.rightFrozenBottomDomContainer);\n}\n\nexport function updateReactContainer(table: BaseTableAPI) {\n const {\n headerDomContainer,\n bodyDomContainer,\n frozenBodyDomContainer,\n frozenHeaderDomContainer,\n rightFrozenBodyDomContainer,\n rightFrozenHeaderDomContainer,\n bottomDomContainer,\n frozenBottomDomContainer,\n rightFrozenBottomDomContainer\n } = table.internalProps;\n if (\n !headerDomContainer &&\n !bodyDomContainer &&\n !frozenBodyDomContainer &&\n !frozenHeaderDomContainer &&\n !rightFrozenBodyDomContainer &&\n !rightFrozenHeaderDomContainer &&\n !bottomDomContainer &&\n !frozenBottomDomContainer &&\n !rightFrozenBottomDomContainer\n ) {\n return;\n }\n const allColsWidth = table.getAllColsWidth();\n const frozenColsWidth = table.getFrozenColsWidth();\n const rightFrozenColsWidth = table.getRightFrozenColsWidth();\n const totalFrozenColsWidth = frozenColsWidth + rightFrozenColsWidth;\n const bodyWidth = Math.min(allColsWidth - totalFrozenColsWidth, table.tableNoFrameWidth - totalFrozenColsWidth);\n\n const allRowsHeight = table.getAllRowsHeight();\n const frozenRowsHeight = table.getFrozenRowsHeight();\n const bottomFrozenRowsHeight = table.getBottomFrozenRowsHeight();\n const totalFrozenRowsHeight = frozenRowsHeight + bottomFrozenRowsHeight;\n const bodyHeight = Math.min(allRowsHeight - totalFrozenRowsHeight, table.tableNoFrameHeight - totalFrozenRowsHeight);\n\n if (table.frozenColCount > 0) {\n headerDomContainer.style.left = `${table.tableX + frozenColsWidth}px`;\n bodyDomContainer.style.left = `${table.tableX + frozenColsWidth}px`;\n bottomDomContainer.style.left = `${table.tableX + frozenColsWidth}px`;\n } else if (table.frozenColCount === 0) {\n headerDomContainer.style.left = `${table.tableX}px`;\n bodyDomContainer.style.left = `${table.tableX}px`;\n bottomDomContainer.style.left = `${table.tableX}px`;\n }\n frozenBodyDomContainer.style.left = `${table.tableX}px`;\n frozenHeaderDomContainer.style.left = `${table.tableX}px`;\n\n // headerDomContainer.style.width = `${(headerDomContainer.parentElement?.offsetWidth ?? 1) - 1}px`;\n headerDomContainer.style.width = `${bodyWidth}px`;\n headerDomContainer.style.height = `${frozenRowsHeight}px`;\n bodyDomContainer.style.top = `${table.tableY}px`;\n\n // bodyDomContainer.style.width = `${(bodyDomContainer.parentElement?.offsetWidth ?? 1) - 1}px`;\n bodyDomContainer.style.width = `${bodyWidth}px`;\n bodyDomContainer.style.height = `${bodyHeight}px`;\n bodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`;\n\n frozenBodyDomContainer.style.width = `${frozenColsWidth}px`;\n frozenBodyDomContainer.style.height = `${bodyHeight}px`;\n frozenBodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`;\n\n frozenHeaderDomContainer.style.width = `${frozenColsWidth}px`;\n frozenHeaderDomContainer.style.height = `${frozenRowsHeight}px`;\n frozenHeaderDomContainer.style.top = `${table.tableY}px`;\n\n rightFrozenBodyDomContainer.style.width = `${rightFrozenColsWidth}px`;\n rightFrozenBodyDomContainer.style.height = `${bodyHeight}px`;\n rightFrozenBodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`;\n rightFrozenBodyDomContainer.style.left = `${table.tableX + table.tableNoFrameWidth - rightFrozenColsWidth}px`;\n\n rightFrozenHeaderDomContainer.style.width = `${rightFrozenColsWidth}px`;\n rightFrozenHeaderDomContainer.style.height = `${frozenRowsHeight}px`;\n rightFrozenHeaderDomContainer.style.top = `${table.tableY}px`;\n rightFrozenHeaderDomContainer.style.left = `${table.tableX + table.tableNoFrameWidth - rightFrozenColsWidth}px`;\n\n bottomDomContainer.style.width = `${bodyWidth}px`;\n bottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`;\n bottomDomContainer.style.top = `${table.tableY + table.tableNoFrameHeight - bottomFrozenRowsHeight}px`;\n\n frozenBottomDomContainer.style.width = `${frozenColsWidth}px`;\n frozenBottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`;\n frozenBottomDomContainer.style.top = `${table.tableY + table.tableNoFrameHeight - bottomFrozenRowsHeight}px`;\n\n rightFrozenBottomDomContainer.style.width = `${rightFrozenColsWidth}px`;\n rightFrozenBottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`;\n rightFrozenBottomDomContainer.style.top = `${table.tableY + table.tableNoFrameHeight - bottomFrozenRowsHeight}px`;\n rightFrozenBottomDomContainer.style.left = `${table.tableX + table.tableNoFrameWidth - rightFrozenColsWidth}px`;\n}\n\nexport function updateReactComponentContainer(scene: Scenegraph) {\n if (!scene.table.reactCustomLayout) {\n return;\n }\n const { table, stage } = scene;\n const plugin = stage.pluginService.findPluginsByName('ReactAttributePlugin')[0] as ReactAttributePlugin;\n const { htmlMap } = plugin;\n\n for (const key in htmlMap) {\n const item = htmlMap[key];\n const { graphic, wrapContainer } = item as typeof item & { graphic: IGraphic };\n let targetContainer: HTMLElement;\n if (scene.frozenColCount > table.frozenColCount) {\n // move columnGroup from rowHeaderGroup into bodyGroup(from cornerHeaderGroup into colHeaderGroup)\n const { col, row } = getTargetCell(graphic);\n if (\n row >= table.rowCount - table.bottomFrozenRowCount &&\n col < scene.frozenColCount &&\n col >= table.frozenColCount &&\n graphic.attribute.react.container === table.frozenBottomDomContainer\n ) {\n targetContainer = table.bottomDomContainer;\n } else if (\n row >= table.frozenRowCount &&\n col < scene.frozenColCount &&\n col >= table.frozenColCount &&\n graphic.attribute.react.container === table.frozenBodyDomContainer\n ) {\n targetContainer = table.bodyDomContainer;\n } else if (\n row < table.frozenRowCount &&\n col < scene.frozenColCount &&\n col >= table.frozenColCount &&\n graphic.attribute.react.container === table.frozenHeaderDomContainer\n ) {\n targetContainer = table.headerDomContainer;\n }\n } else if (scene.frozenColCount < table.frozenColCount) {\n // move columnGroup from bodyGroup into rowHeaderGroup(from colHeaderGroup into cornerHeaderGroup)\n const { col, row } = getTargetCell(graphic);\n if (\n row >= table.rowCount - table.bottomFrozenRowCount &&\n col < table.frozenColCount &&\n col >= scene.frozenColCount &&\n graphic.attribute.react.container === table.bottomDomContainer\n ) {\n targetContainer = table.frozenBottomDomContainer;\n } else if (\n row >= table.frozenRowCount &&\n col < table.frozenColCount &&\n col >= scene.frozenColCount &&\n graphic.attribute.react.container === table.bodyDomContainer\n ) {\n targetContainer = table.frozenBodyDomContainer;\n } else if (\n row < table.frozenRowCount &&\n col < table.frozenColCount &&\n col >= scene.frozenColCount &&\n graphic.attribute.react.container === table.headerDomContainer\n ) {\n targetContainer = table.frozenHeaderDomContainer;\n }\n }\n\n if (targetContainer) {\n targetContainer.appendChild(wrapContainer);\n item.nativeContainer = targetContainer;\n item.container = targetContainer;\n graphic.attribute.react.container = targetContainer;\n plugin.updateStyleOfWrapContainer(graphic, stage, wrapContainer, targetContainer, graphic.attribute.react);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/layout/frozen-react.ts"],"names":[],"mappings":"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","file":"frozen-react.js","sourcesContent":["import type { IGraphic, ReactAttributePlugin } from './../../vrender';\nimport { getTargetCell } from '../../event/util';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { Scenegraph } from '../scenegraph';\n\nexport function createReactContainer(table: BaseTableAPI) {\n const { internalProps } = table;\n internalProps.bodyDomContainer = document.createElement('div');\n internalProps.bodyDomContainer.id = 'vtable-body-dom-container';\n internalProps.bodyDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.bodyDomContainer);\n\n internalProps.headerDomContainer = document.createElement('div');\n internalProps.headerDomContainer.id = 'vtable-header-dom-container';\n internalProps.headerDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.headerDomContainer);\n\n internalProps.frozenBodyDomContainer = document.createElement('div');\n internalProps.frozenBodyDomContainer.id = 'vtable-frozen-body-dom-container';\n internalProps.frozenBodyDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.frozenBodyDomContainer);\n\n internalProps.frozenHeaderDomContainer = document.createElement('div');\n internalProps.frozenHeaderDomContainer.id = 'vtable-frozen-header-dom-container';\n internalProps.frozenHeaderDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.frozenHeaderDomContainer);\n\n internalProps.rightFrozenBodyDomContainer = document.createElement('div');\n internalProps.rightFrozenBodyDomContainer.id = 'vtable-right-frozen-body-dom-container';\n internalProps.rightFrozenBodyDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.rightFrozenBodyDomContainer);\n\n internalProps.rightFrozenHeaderDomContainer = document.createElement('div');\n internalProps.rightFrozenHeaderDomContainer.id = 'vtable-right-frozen-header-dom-container';\n internalProps.rightFrozenHeaderDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.rightFrozenHeaderDomContainer);\n\n internalProps.frozenBottomDomContainer = document.createElement('div');\n internalProps.frozenBottomDomContainer.id = 'vtable-frozen-bottom-dom-container';\n internalProps.frozenBottomDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.frozenBottomDomContainer);\n\n internalProps.bottomDomContainer = document.createElement('div');\n internalProps.bottomDomContainer.id = 'vtable-bottom-dom-container';\n internalProps.bottomDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.bottomDomContainer);\n\n internalProps.rightFrozenBottomDomContainer = document.createElement('div');\n internalProps.rightFrozenBottomDomContainer.id = 'vtable-right-frozen-bottom-dom-container';\n internalProps.rightFrozenBottomDomContainer.classList.add('table-component-container');\n internalProps.element.appendChild(internalProps.rightFrozenBottomDomContainer);\n}\n\nexport function updateReactContainer(table: BaseTableAPI) {\n const {\n headerDomContainer,\n bodyDomContainer,\n frozenBodyDomContainer,\n frozenHeaderDomContainer,\n rightFrozenBodyDomContainer,\n rightFrozenHeaderDomContainer,\n bottomDomContainer,\n frozenBottomDomContainer,\n rightFrozenBottomDomContainer\n } = table.internalProps;\n if (\n !headerDomContainer &&\n !bodyDomContainer &&\n !frozenBodyDomContainer &&\n !frozenHeaderDomContainer &&\n !rightFrozenBodyDomContainer &&\n !rightFrozenHeaderDomContainer &&\n !bottomDomContainer &&\n !frozenBottomDomContainer &&\n !rightFrozenBottomDomContainer\n ) {\n return;\n }\n const allColsWidth = table.getAllColsWidth();\n const tableNoFrameWidth = Math.min(allColsWidth, table.tableNoFrameWidth);\n const frozenColsWidth = table.getFrozenColsWidth();\n const rightFrozenColsWidth = table.getRightFrozenColsWidth();\n const totalFrozenColsWidth = frozenColsWidth + rightFrozenColsWidth;\n const bodyWidth = Math.min(allColsWidth - totalFrozenColsWidth, tableNoFrameWidth - totalFrozenColsWidth);\n\n const allRowsHeight = table.getAllRowsHeight();\n const tableNoFrameHeight = Math.min(allRowsHeight, table.tableNoFrameHeight);\n const frozenRowsHeight = table.getFrozenRowsHeight();\n const bottomFrozenRowsHeight = table.getBottomFrozenRowsHeight();\n const totalFrozenRowsHeight = frozenRowsHeight + bottomFrozenRowsHeight;\n const bodyHeight = Math.min(allRowsHeight - totalFrozenRowsHeight, tableNoFrameHeight - totalFrozenRowsHeight);\n\n if (table.frozenColCount > 0) {\n headerDomContainer.style.left = `${table.tableX + frozenColsWidth}px`;\n bodyDomContainer.style.left = `${table.tableX + frozenColsWidth}px`;\n bottomDomContainer.style.left = `${table.tableX + frozenColsWidth}px`;\n } else if (table.frozenColCount === 0) {\n headerDomContainer.style.left = `${table.tableX}px`;\n bodyDomContainer.style.left = `${table.tableX}px`;\n bottomDomContainer.style.left = `${table.tableX}px`;\n }\n frozenBodyDomContainer.style.left = `${table.tableX}px`;\n frozenHeaderDomContainer.style.left = `${table.tableX}px`;\n\n // headerDomContainer.style.width = `${(headerDomContainer.parentElement?.offsetWidth ?? 1) - 1}px`;\n headerDomContainer.style.width = `${bodyWidth}px`;\n headerDomContainer.style.height = `${frozenRowsHeight}px`;\n bodyDomContainer.style.top = `${table.tableY}px`;\n\n // bodyDomContainer.style.width = `${(bodyDomContainer.parentElement?.offsetWidth ?? 1) - 1}px`;\n bodyDomContainer.style.width = `${bodyWidth}px`;\n bodyDomContainer.style.height = `${bodyHeight}px`;\n bodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`;\n\n frozenBodyDomContainer.style.width = `${frozenColsWidth}px`;\n frozenBodyDomContainer.style.height = `${bodyHeight}px`;\n frozenBodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`;\n\n frozenHeaderDomContainer.style.width = `${frozenColsWidth}px`;\n frozenHeaderDomContainer.style.height = `${frozenRowsHeight}px`;\n frozenHeaderDomContainer.style.top = `${table.tableY}px`;\n\n rightFrozenBodyDomContainer.style.width = `${rightFrozenColsWidth}px`;\n rightFrozenBodyDomContainer.style.height = `${bodyHeight}px`;\n rightFrozenBodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`;\n rightFrozenBodyDomContainer.style.left = `${table.tableX + tableNoFrameWidth - rightFrozenColsWidth}px`;\n\n rightFrozenHeaderDomContainer.style.width = `${rightFrozenColsWidth}px`;\n rightFrozenHeaderDomContainer.style.height = `${frozenRowsHeight}px`;\n rightFrozenHeaderDomContainer.style.top = `${table.tableY}px`;\n rightFrozenHeaderDomContainer.style.left = `${table.tableX + tableNoFrameWidth - rightFrozenColsWidth}px`;\n\n bottomDomContainer.style.width = `${bodyWidth}px`;\n bottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`;\n bottomDomContainer.style.top = `${table.tableY + tableNoFrameHeight - bottomFrozenRowsHeight}px`;\n\n frozenBottomDomContainer.style.width = `${frozenColsWidth}px`;\n frozenBottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`;\n frozenBottomDomContainer.style.top = `${table.tableY + tableNoFrameHeight - bottomFrozenRowsHeight}px`;\n\n rightFrozenBottomDomContainer.style.width = `${rightFrozenColsWidth}px`;\n rightFrozenBottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`;\n rightFrozenBottomDomContainer.style.top = `${table.tableY + tableNoFrameHeight - bottomFrozenRowsHeight}px`;\n rightFrozenBottomDomContainer.style.left = `${table.tableX + tableNoFrameWidth - rightFrozenColsWidth}px`;\n}\n\nexport function updateReactComponentContainer(scene: Scenegraph) {\n if (!scene.table.reactCustomLayout) {\n return;\n }\n const { table, stage } = scene;\n const plugin = stage.pluginService.findPluginsByName('ReactAttributePlugin')[0] as ReactAttributePlugin;\n const { htmlMap } = plugin;\n\n for (const key in htmlMap) {\n const item = htmlMap[key];\n const { graphic, wrapContainer } = item as typeof item & { graphic: IGraphic };\n let targetContainer: HTMLElement;\n if (scene.frozenColCount > table.frozenColCount) {\n // move columnGroup from rowHeaderGroup into bodyGroup(from cornerHeaderGroup into colHeaderGroup)\n const { col, row } = getTargetCell(graphic);\n if (\n row >= table.rowCount - table.bottomFrozenRowCount &&\n col < scene.frozenColCount &&\n col >= table.frozenColCount &&\n graphic.attribute.react.container === table.frozenBottomDomContainer\n ) {\n targetContainer = table.bottomDomContainer;\n } else if (\n row >= table.frozenRowCount &&\n col < scene.frozenColCount &&\n col >= table.frozenColCount &&\n graphic.attribute.react.container === table.frozenBodyDomContainer\n ) {\n targetContainer = table.bodyDomContainer;\n } else if (\n row < table.frozenRowCount &&\n col < scene.frozenColCount &&\n col >= table.frozenColCount &&\n graphic.attribute.react.container === table.frozenHeaderDomContainer\n ) {\n targetContainer = table.headerDomContainer;\n }\n } else if (scene.frozenColCount < table.frozenColCount) {\n // move columnGroup from bodyGroup into rowHeaderGroup(from colHeaderGroup into cornerHeaderGroup)\n const { col, row } = getTargetCell(graphic);\n if (\n row >= table.rowCount - table.bottomFrozenRowCount &&\n col < table.frozenColCount &&\n col >= scene.frozenColCount &&\n graphic.attribute.react.container === table.bottomDomContainer\n ) {\n targetContainer = table.frozenBottomDomContainer;\n } else if (\n row >= table.frozenRowCount &&\n col < table.frozenColCount &&\n col >= scene.frozenColCount &&\n graphic.attribute.react.container === table.bodyDomContainer\n ) {\n targetContainer = table.frozenBodyDomContainer;\n } else if (\n row < table.frozenRowCount &&\n col < table.frozenColCount &&\n col >= scene.frozenColCount &&\n graphic.attribute.react.container === table.headerDomContainer\n ) {\n targetContainer = table.frozenHeaderDomContainer;\n }\n }\n\n if (targetContainer) {\n targetContainer.appendChild(wrapContainer);\n item.nativeContainer = targetContainer;\n item.container = targetContainer;\n graphic.attribute.react.container = targetContainer;\n plugin.updateStyleOfWrapContainer(graphic, stage, wrapContainer, targetContainer, graphic.attribute.react);\n }\n }\n}\n"]}
|
|
@@ -57,8 +57,7 @@ function updateCellHeight(scene, cell, col, row, distHeight, detaY, isHeader) {
|
|
|
57
57
|
const customContainer = cell.getChildByName(custom_1.CUSTOM_CONTAINER_NAME) || cell.getChildByName(custom_1.CUSTOM_MERGE_CONTAINER_NAME);
|
|
58
58
|
if (customContainer) {
|
|
59
59
|
let customElementsGroup;
|
|
60
|
-
|
|
61
|
-
customContainer.removeAllChild(), cell.removeChild(customContainer);
|
|
60
|
+
cell.removeChild(customContainer);
|
|
62
61
|
const customMergeRange = (0, cell_helper_1.getCustomCellMergeCustom)(col, row, cell, scene.table);
|
|
63
62
|
if (customMergeRange) for (let mergeRow = customMergeRange.start.row; mergeRow <= customMergeRange.end.row; mergeRow++) {
|
|
64
63
|
if (mergeRow === row) continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/layout/update-height.ts"],"names":[],"mappings":"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","file":"update-height.js","sourcesContent":["import type { ProgressBarStyle } from '../../body-helper/style/ProgressBarStyle';\nimport type { Group } from '../graphic/group';\nimport type { CreateProgressBarCell } from '../group-creater/cell-type/progress-bar-cell';\nimport type { CreateSparkLineCellGroup } from '../group-creater/cell-type/spark-line-cell';\nimport type { Scenegraph } from '../scenegraph';\nimport { getCellMergeInfo } from '../utils/get-cell-merge';\nimport { getProp } from '../utils/get-prop';\nimport { getQuadProps } from '../utils/padding';\nimport { updateCellContentHeight } from '../utils/text-icon-layout';\nimport type { IProgressbarColumnBodyDefine } from '../../ts-types/list-table/define/progressbar-define';\nimport { CUSTOM_CONTAINER_NAME, CUSTOM_MERGE_CONTAINER_NAME, dealWithCustom } from '../component/custom';\nimport { updateImageCellContentWhileResize } from '../group-creater/cell-type/image-cell';\nimport { getStyleTheme } from '../../core/tableHelper';\nimport { isMergeCellGroup } from '../utils/is-merge-cell-group';\nimport type { BaseTableAPI, HeaderData } from '../../ts-types/base-table';\nimport { resizeCellGroup, getCustomCellMergeCustom } from '../group-creater/cell-helper';\nimport type { IGraphic } from './../../vrender';\nimport { getCellMergeRange } from '../../tools/merge-range';\nimport type { ColumnDefine, ListTableConstructorOptions } from '../../ts-types';\nimport { Factory } from '../../core/factory';\n\nexport function updateRowHeight(scene: Scenegraph, row: number, detaY: number, skipTableHeightMap?: boolean) {\n // 更新table行高存储\n if (!skipTableHeightMap) {\n scene.table._setRowHeight(row, scene.table.getRowHeight(row) + detaY, true);\n }\n\n for (let col = 0; col < scene.table.colCount; col++) {\n const cell = scene.getCell(col, row);\n if (cell.role === 'empty') {\n continue;\n }\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n if (mergeInfo && mergeInfo.start.col !== col) {\n continue;\n }\n const height = cell.attribute.height;\n // cell.setAttribute('height', height);\n // (cell.firstChild as Rect).setAttribute('height', cell.attribute.height);\n updateCellHeightForRow(scene, cell, col, row, height + detaY, detaY, scene.table.isHeader(col, row));\n\n scene.updateCellContentWhileResize(col, row);\n }\n\n let rowStart = 0;\n let rowEnd = 0;\n // 更新header 高度\n if (row < scene.table.frozenRowCount) {\n // scene.colHeaderGroup.setAttribute('height', scene.colHeaderGroup.attribute.height + detaY);\n // scene.rowHeaderGroup.setAttribute('y', scene.rowHeaderGroup.attribute.y + detaY);\n // scene.bodyGroup.setAttribute('y', scene.bodyGroup.attribute.y + detaY);\n\n rowStart = row + 1;\n rowEnd = scene.table.frozenRowCount - 1;\n } else if (row >= scene.table.rowCount - scene.table.bottomFrozenRowCount) {\n rowStart = row + 1;\n rowEnd = scene.table.rowCount - 1;\n } else {\n rowStart = row + 1;\n // rowEnd = scene.table.rowCount - 1;\n rowEnd = Math.min(scene.proxy.rowEnd, scene.table.rowCount - scene.table.bottomFrozenRowCount - 1); //- scene.table.bottomFrozenRowCount;\n }\n\n // 更新以下行位置\n for (let colIndex = 0; colIndex < scene.table.colCount; colIndex++) {\n for (let rowIndex = rowStart; rowIndex <= rowEnd; rowIndex++) {\n const cellGroup = scene.highPerformanceGetCell(colIndex, rowIndex);\n if (cellGroup.role === 'cell') {\n cellGroup.setAttribute('y', cellGroup.attribute.y + detaY);\n }\n }\n }\n}\n\n/**\n * @description: 更新单个单元格高度\n * @return {*}\n */\nexport function updateCellHeightForRow(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n height: number,\n detaY: number,\n isHeader: boolean\n // autoRowHeight: boolean\n) {\n // cell.setAttribute('height', height);\n const cellGroup = cell;\n const distHeight = height;\n\n if (!cellGroup) {\n // 合并单元格非主单元格,不处理\n return;\n }\n\n updateCellHeight(scene, cellGroup, col, row, distHeight, detaY, isHeader);\n}\n\nexport function updateCellHeightForColumn(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n height: number,\n detaY: number,\n isHeader: boolean\n) {\n // cell.setAttribute('height', height);\n const cellGroup = cell;\n updateCellHeight(scene, cellGroup, col, row, height, 0, isHeader);\n}\n\nexport function updateCellHeight(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n distHeight: number,\n detaY: number,\n isHeader: boolean\n) {\n if (cell.attribute.height === distHeight && !cell.needUpdateHeight) {\n return;\n }\n cell.needUpdateHeight = false;\n\n cell.setAttribute('height', distHeight);\n const isVtableMerge = scene.table.getCellRawRecord(col, row)?.vtableMerge;\n const isCustomMerge = !!scene.table.getCustomMerge(col, row);\n // 更新单元格布局\n const type =\n isVtableMerge || isCustomMerge\n ? 'text'\n : scene.table.isHeader(col, row)\n ? (scene.table._getHeaderLayoutMap(col, row) as HeaderData).headerType\n : scene.table.getBodyColumnType(col, row);\n if (type === 'progressbar') {\n // 目前先采用重新生成节点的方案\n const columnDefine = scene.table.getBodyColumnDefine(col, row) as IProgressbarColumnBodyDefine;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const value = scene.table.getCellValue(col, row);\n const dataValue = scene.table.getCellOriginValue(col, row);\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n\n // deal with bar\n let range;\n if (columnDefine?.mergeCell) {\n range = scene.table.getCellRange(col, row);\n }\n\n const createProgressBarCell = Factory.getFunction('createProgressBarCell') as CreateProgressBarCell;\n const newBarCell = createProgressBarCell(\n columnDefine,\n style,\n cell.attribute.width,\n // cell.attribute.height,\n value,\n dataValue,\n col,\n row,\n padding,\n scene.table,\n range\n );\n\n const oldBarCell = cell.getChildByName('progress-bar') as Group;\n // cell.replaceChild(newBarCell, oldBarCell);\n cell.insertBefore(newBarCell, oldBarCell);\n cell.removeChild(oldBarCell);\n oldBarCell.removeAllChild();\n oldBarCell.release();\n\n // deal with text\n updateMergeCellContentHeight(\n cell,\n distHeight,\n detaY,\n // scene.table.heightMode === 'autoHeight',\n scene.table.isAutoRowHeight(row),\n true,\n scene.table\n );\n } else if (type === 'sparkline') {\n // 目前先采用重新生成节点的方案\n cell.removeAllChild();\n const headerStyle = scene.table._getCellStyle(col, row);\n const padding = getQuadProps(getProp('padding', headerStyle, col, row, scene.table));\n const createSparkLineCellGroup = Factory.getFunction('createSparkLineCellGroup') as CreateSparkLineCellGroup;\n createSparkLineCellGroup(\n cell,\n cell.parent,\n cell.attribute.x,\n cell.attribute.y,\n col,\n row,\n cell.attribute.width,\n cell.attribute.height,\n padding,\n scene.table,\n getStyleTheme(headerStyle, scene.table, col, row, getProp).theme,\n false\n );\n } else if (type === 'image' || type === 'video') {\n updateImageCellContentWhileResize(cell, col, row, 0, detaY, scene.table);\n } else if (cell.firstChild?.name === 'axis') {\n (cell.firstChild as any)?.originAxis.resize(cell.attribute.width, cell.attribute.height);\n } else {\n let renderDefault = true;\n const customContainer =\n (cell.getChildByName(CUSTOM_CONTAINER_NAME) as Group) ||\n (cell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME) as Group);\n if (customContainer) {\n if (scene.table.reactCustomLayout) {\n scene.table.reactCustomLayout.removeCustomCell(col, row);\n }\n\n let customElementsGroup;\n customContainer.removeAllChild();\n cell.removeChild(customContainer);\n\n const customMergeRange = getCustomCellMergeCustom(col, row, cell, scene.table);\n if (customMergeRange) {\n for (let mergeRow = customMergeRange.start.row; mergeRow <= customMergeRange.end.row; mergeRow++) {\n if (mergeRow === row) {\n continue;\n }\n const mergedCell = scene.getCell(col, mergeRow);\n const customContainer =\n (mergedCell.getChildByName(CUSTOM_CONTAINER_NAME) as Group) ||\n (mergedCell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME) as Group);\n customContainer.removeAllChild();\n mergedCell.removeChild(customContainer);\n getCustomCellMergeCustom(col, mergeRow, mergedCell, scene.table);\n }\n } else {\n let customRender;\n let customLayout;\n const cellLocation = scene.table.getCellLocation(col, row);\n const { vtableMerge } = scene.table.getCellRawRecord(col, row) || {};\n\n if (vtableMerge && (scene.table.options as ListTableConstructorOptions).groupTitleCustomLayout) {\n customLayout = (scene.table.options as ListTableConstructorOptions).groupTitleCustomLayout;\n } else if (cellLocation !== 'body') {\n const define = scene.table.getHeaderDefine(col, row);\n customRender = (define as ColumnDefine)?.headerCustomRender;\n customLayout = (define as ColumnDefine)?.headerCustomLayout;\n } else {\n const define = scene.table.getBodyColumnDefine(col, row);\n customRender = (define as ColumnDefine)?.customRender || scene.table.customRender;\n customLayout = (define as ColumnDefine)?.customLayout;\n }\n\n if ((customRender || customLayout) && isMergeCellGroup(cell)) {\n for (let mergeCol = cell.mergeStartCol; mergeCol <= cell.mergeEndCol; mergeCol++) {\n for (let mergeRow = cell.mergeStartRow; mergeRow <= cell.mergeEndRow; mergeRow++) {\n if (mergeRow !== row) {\n scene.updateCellContent(mergeCol, mergeRow);\n }\n }\n }\n }\n\n if (customLayout || customRender) {\n // const { autoRowHeight } = table.internalProps;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n let width = cell.attribute.width;\n let height = cell.attribute.height;\n if (isMergeCellGroup(cell)) {\n width = scene.table.getColsWidth(cell.mergeStartCol, cell.mergeEndCol);\n height = scene.table.getRowsHeight(cell.mergeStartRow, cell.mergeEndRow);\n }\n const customResult = dealWithCustom(\n customLayout,\n customRender,\n col,\n row,\n width,\n height,\n false,\n // scene.table.heightMode === 'autoHeight',\n scene.table.isAutoRowHeight(row),\n padding,\n isMergeCellGroup(cell)\n ? {\n start: { col: cell.mergeStartCol, row: cell.mergeStartRow },\n end: { col: cell.mergeEndCol, row: cell.mergeEndRow }\n }\n : undefined,\n scene.table\n );\n customElementsGroup = customResult.elementsGroup;\n renderDefault = customResult.renderDefault;\n }\n\n if (cell.childrenCount > 0 && customElementsGroup) {\n cell.insertBefore(customElementsGroup, cell.firstChild);\n } else if (customElementsGroup) {\n cell.appendChild(customElementsGroup);\n }\n }\n }\n // if (renderDefault) {\n // // 处理文字\n // const style = scene.table._getCellStyle(col, row);\n // updateMergeCellContentHeight(\n // cell,\n // distHeight,\n // detaY,\n // // scene.table.internalProps.autoRowHeight,\n // scene.table.heightMode === 'autoHeight',\n // getQuadProps(style.padding as number),\n // style.textAlign,\n // style.textBaseline,\n // scene.table\n // );\n // }\n updateMergeCellContentHeight(\n cell,\n distHeight,\n detaY,\n // scene.table.heightMode === 'autoHeight',\n scene.table.isAutoRowHeight(row),\n renderDefault,\n scene.table\n );\n }\n}\n\nfunction updateMergeCellContentHeight(\n cellGroup: Group,\n distHeight: number,\n detaY: number,\n autoRowHeight: boolean,\n renderDefault: boolean,\n table: BaseTableAPI\n) {\n if (isMergeCellGroup(cellGroup)) {\n distHeight = 0;\n for (let row = cellGroup.mergeStartRow; row <= cellGroup.mergeEndRow; row++) {\n distHeight += table.getRowHeight(row);\n }\n const { colStart, colEnd, rowStart, rowEnd } = getCellMergeRange(cellGroup, table.scenegraph);\n for (let col = colStart; col <= colEnd; col++) {\n for (let row = rowStart; row <= rowEnd; row++) {\n const singleCellGroup = table.scenegraph.getCell(col, row);\n singleCellGroup.forEachChildren((child: IGraphic) => {\n child.setAttributes({\n dx: 0,\n dy: 0\n });\n });\n\n if (renderDefault) {\n const style = table._getCellStyle(colStart, rowStart);\n updateCellContentHeight(\n singleCellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline\n );\n }\n\n const rangeHeight = table.getRowHeight(row);\n const rangeWidth = table.getColWidth(col);\n\n // const { height: contentHeight } = cellGroup.attribute;\n singleCellGroup.contentHeight = distHeight;\n\n const { widthChange } = resizeCellGroup(\n singleCellGroup,\n rangeWidth,\n rangeHeight,\n {\n start: {\n col: cellGroup.mergeStartCol,\n row: cellGroup.mergeStartRow\n },\n end: {\n col: cellGroup.mergeEndCol,\n row: cellGroup.mergeEndRow\n }\n },\n table\n );\n\n if (widthChange) {\n singleCellGroup.needUpdateWidth = true;\n }\n }\n }\n } else {\n const style = table._getCellStyle(cellGroup.col, cellGroup.row);\n updateCellContentHeight(\n cellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/layout/update-height.ts"],"names":[],"mappings":"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","file":"update-height.js","sourcesContent":["import type { ProgressBarStyle } from '../../body-helper/style/ProgressBarStyle';\nimport type { Group } from '../graphic/group';\nimport type { CreateProgressBarCell } from '../group-creater/cell-type/progress-bar-cell';\nimport type { CreateSparkLineCellGroup } from '../group-creater/cell-type/spark-line-cell';\nimport type { Scenegraph } from '../scenegraph';\nimport { getCellMergeInfo } from '../utils/get-cell-merge';\nimport { getProp } from '../utils/get-prop';\nimport { getQuadProps } from '../utils/padding';\nimport { updateCellContentHeight } from '../utils/text-icon-layout';\nimport type { IProgressbarColumnBodyDefine } from '../../ts-types/list-table/define/progressbar-define';\nimport { CUSTOM_CONTAINER_NAME, CUSTOM_MERGE_CONTAINER_NAME, dealWithCustom } from '../component/custom';\nimport { updateImageCellContentWhileResize } from '../group-creater/cell-type/image-cell';\nimport { getStyleTheme } from '../../core/tableHelper';\nimport { isMergeCellGroup } from '../utils/is-merge-cell-group';\nimport type { BaseTableAPI, HeaderData } from '../../ts-types/base-table';\nimport { resizeCellGroup, getCustomCellMergeCustom } from '../group-creater/cell-helper';\nimport type { IGraphic } from './../../vrender';\nimport { getCellMergeRange } from '../../tools/merge-range';\nimport type { ColumnDefine, ListTableConstructorOptions } from '../../ts-types';\nimport { Factory } from '../../core/factory';\n\nexport function updateRowHeight(scene: Scenegraph, row: number, detaY: number, skipTableHeightMap?: boolean) {\n // 更新table行高存储\n if (!skipTableHeightMap) {\n scene.table._setRowHeight(row, scene.table.getRowHeight(row) + detaY, true);\n }\n\n for (let col = 0; col < scene.table.colCount; col++) {\n const cell = scene.getCell(col, row);\n if (cell.role === 'empty') {\n continue;\n }\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n if (mergeInfo && mergeInfo.start.col !== col) {\n continue;\n }\n const height = cell.attribute.height;\n // cell.setAttribute('height', height);\n // (cell.firstChild as Rect).setAttribute('height', cell.attribute.height);\n updateCellHeightForRow(scene, cell, col, row, height + detaY, detaY, scene.table.isHeader(col, row));\n\n scene.updateCellContentWhileResize(col, row);\n }\n\n let rowStart = 0;\n let rowEnd = 0;\n // 更新header 高度\n if (row < scene.table.frozenRowCount) {\n // scene.colHeaderGroup.setAttribute('height', scene.colHeaderGroup.attribute.height + detaY);\n // scene.rowHeaderGroup.setAttribute('y', scene.rowHeaderGroup.attribute.y + detaY);\n // scene.bodyGroup.setAttribute('y', scene.bodyGroup.attribute.y + detaY);\n\n rowStart = row + 1;\n rowEnd = scene.table.frozenRowCount - 1;\n } else if (row >= scene.table.rowCount - scene.table.bottomFrozenRowCount) {\n rowStart = row + 1;\n rowEnd = scene.table.rowCount - 1;\n } else {\n rowStart = row + 1;\n // rowEnd = scene.table.rowCount - 1;\n rowEnd = Math.min(scene.proxy.rowEnd, scene.table.rowCount - scene.table.bottomFrozenRowCount - 1); //- scene.table.bottomFrozenRowCount;\n }\n\n // 更新以下行位置\n for (let colIndex = 0; colIndex < scene.table.colCount; colIndex++) {\n for (let rowIndex = rowStart; rowIndex <= rowEnd; rowIndex++) {\n const cellGroup = scene.highPerformanceGetCell(colIndex, rowIndex);\n if (cellGroup.role === 'cell') {\n cellGroup.setAttribute('y', cellGroup.attribute.y + detaY);\n }\n }\n }\n}\n\n/**\n * @description: 更新单个单元格高度\n * @return {*}\n */\nexport function updateCellHeightForRow(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n height: number,\n detaY: number,\n isHeader: boolean\n // autoRowHeight: boolean\n) {\n // cell.setAttribute('height', height);\n const cellGroup = cell;\n const distHeight = height;\n\n if (!cellGroup) {\n // 合并单元格非主单元格,不处理\n return;\n }\n\n updateCellHeight(scene, cellGroup, col, row, distHeight, detaY, isHeader);\n}\n\nexport function updateCellHeightForColumn(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n height: number,\n detaY: number,\n isHeader: boolean\n) {\n // cell.setAttribute('height', height);\n const cellGroup = cell;\n updateCellHeight(scene, cellGroup, col, row, height, 0, isHeader);\n}\n\nexport function updateCellHeight(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n distHeight: number,\n detaY: number,\n isHeader: boolean\n) {\n if (cell.attribute.height === distHeight && !cell.needUpdateHeight) {\n return;\n }\n cell.needUpdateHeight = false;\n\n cell.setAttribute('height', distHeight);\n const isVtableMerge = scene.table.getCellRawRecord(col, row)?.vtableMerge;\n const isCustomMerge = !!scene.table.getCustomMerge(col, row);\n // 更新单元格布局\n const type =\n isVtableMerge || isCustomMerge\n ? 'text'\n : scene.table.isHeader(col, row)\n ? (scene.table._getHeaderLayoutMap(col, row) as HeaderData).headerType\n : scene.table.getBodyColumnType(col, row);\n if (type === 'progressbar') {\n // 目前先采用重新生成节点的方案\n const columnDefine = scene.table.getBodyColumnDefine(col, row) as IProgressbarColumnBodyDefine;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const value = scene.table.getCellValue(col, row);\n const dataValue = scene.table.getCellOriginValue(col, row);\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n\n // deal with bar\n let range;\n if (columnDefine?.mergeCell) {\n range = scene.table.getCellRange(col, row);\n }\n\n const createProgressBarCell = Factory.getFunction('createProgressBarCell') as CreateProgressBarCell;\n const newBarCell = createProgressBarCell(\n columnDefine,\n style,\n cell.attribute.width,\n // cell.attribute.height,\n value,\n dataValue,\n col,\n row,\n padding,\n scene.table,\n range\n );\n\n const oldBarCell = cell.getChildByName('progress-bar') as Group;\n // cell.replaceChild(newBarCell, oldBarCell);\n cell.insertBefore(newBarCell, oldBarCell);\n cell.removeChild(oldBarCell);\n oldBarCell.removeAllChild();\n oldBarCell.release();\n\n // deal with text\n updateMergeCellContentHeight(\n cell,\n distHeight,\n detaY,\n // scene.table.heightMode === 'autoHeight',\n scene.table.isAutoRowHeight(row),\n true,\n scene.table\n );\n } else if (type === 'sparkline') {\n // 目前先采用重新生成节点的方案\n cell.removeAllChild();\n const headerStyle = scene.table._getCellStyle(col, row);\n const padding = getQuadProps(getProp('padding', headerStyle, col, row, scene.table));\n const createSparkLineCellGroup = Factory.getFunction('createSparkLineCellGroup') as CreateSparkLineCellGroup;\n createSparkLineCellGroup(\n cell,\n cell.parent,\n cell.attribute.x,\n cell.attribute.y,\n col,\n row,\n cell.attribute.width,\n cell.attribute.height,\n padding,\n scene.table,\n getStyleTheme(headerStyle, scene.table, col, row, getProp).theme,\n false\n );\n } else if (type === 'image' || type === 'video') {\n updateImageCellContentWhileResize(cell, col, row, 0, detaY, scene.table);\n } else if (cell.firstChild?.name === 'axis') {\n (cell.firstChild as any)?.originAxis.resize(cell.attribute.width, cell.attribute.height);\n } else {\n let renderDefault = true;\n const customContainer =\n (cell.getChildByName(CUSTOM_CONTAINER_NAME) as Group) ||\n (cell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME) as Group);\n if (customContainer) {\n // if (scene.table.reactCustomLayout) {\n // scene.table.reactCustomLayout.removeCustomCell(col, row);\n // }\n // customContainer.removeAllChild();\n let customElementsGroup;\n cell.removeChild(customContainer);\n\n const customMergeRange = getCustomCellMergeCustom(col, row, cell, scene.table);\n if (customMergeRange) {\n for (let mergeRow = customMergeRange.start.row; mergeRow <= customMergeRange.end.row; mergeRow++) {\n if (mergeRow === row) {\n continue;\n }\n const mergedCell = scene.getCell(col, mergeRow);\n const customContainer =\n (mergedCell.getChildByName(CUSTOM_CONTAINER_NAME) as Group) ||\n (mergedCell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME) as Group);\n customContainer.removeAllChild();\n mergedCell.removeChild(customContainer);\n getCustomCellMergeCustom(col, mergeRow, mergedCell, scene.table);\n }\n } else {\n let customRender;\n let customLayout;\n const cellLocation = scene.table.getCellLocation(col, row);\n const { vtableMerge } = scene.table.getCellRawRecord(col, row) || {};\n\n if (vtableMerge && (scene.table.options as ListTableConstructorOptions).groupTitleCustomLayout) {\n customLayout = (scene.table.options as ListTableConstructorOptions).groupTitleCustomLayout;\n } else if (cellLocation !== 'body') {\n const define = scene.table.getHeaderDefine(col, row);\n customRender = (define as ColumnDefine)?.headerCustomRender;\n customLayout = (define as ColumnDefine)?.headerCustomLayout;\n } else {\n const define = scene.table.getBodyColumnDefine(col, row);\n customRender = (define as ColumnDefine)?.customRender || scene.table.customRender;\n customLayout = (define as ColumnDefine)?.customLayout;\n }\n\n if ((customRender || customLayout) && isMergeCellGroup(cell)) {\n for (let mergeCol = cell.mergeStartCol; mergeCol <= cell.mergeEndCol; mergeCol++) {\n for (let mergeRow = cell.mergeStartRow; mergeRow <= cell.mergeEndRow; mergeRow++) {\n if (mergeRow !== row) {\n scene.updateCellContent(mergeCol, mergeRow);\n }\n }\n }\n }\n\n if (customLayout || customRender) {\n // const { autoRowHeight } = table.internalProps;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n let width = cell.attribute.width;\n let height = cell.attribute.height;\n if (isMergeCellGroup(cell)) {\n width = scene.table.getColsWidth(cell.mergeStartCol, cell.mergeEndCol);\n height = scene.table.getRowsHeight(cell.mergeStartRow, cell.mergeEndRow);\n }\n const customResult = dealWithCustom(\n customLayout,\n customRender,\n col,\n row,\n width,\n height,\n false,\n // scene.table.heightMode === 'autoHeight',\n scene.table.isAutoRowHeight(row),\n padding,\n isMergeCellGroup(cell)\n ? {\n start: { col: cell.mergeStartCol, row: cell.mergeStartRow },\n end: { col: cell.mergeEndCol, row: cell.mergeEndRow }\n }\n : undefined,\n scene.table\n );\n customElementsGroup = customResult.elementsGroup;\n renderDefault = customResult.renderDefault;\n }\n\n if (cell.childrenCount > 0 && customElementsGroup) {\n cell.insertBefore(customElementsGroup, cell.firstChild);\n } else if (customElementsGroup) {\n cell.appendChild(customElementsGroup);\n }\n }\n }\n // if (renderDefault) {\n // // 处理文字\n // const style = scene.table._getCellStyle(col, row);\n // updateMergeCellContentHeight(\n // cell,\n // distHeight,\n // detaY,\n // // scene.table.internalProps.autoRowHeight,\n // scene.table.heightMode === 'autoHeight',\n // getQuadProps(style.padding as number),\n // style.textAlign,\n // style.textBaseline,\n // scene.table\n // );\n // }\n updateMergeCellContentHeight(\n cell,\n distHeight,\n detaY,\n // scene.table.heightMode === 'autoHeight',\n scene.table.isAutoRowHeight(row),\n renderDefault,\n scene.table\n );\n }\n}\n\nfunction updateMergeCellContentHeight(\n cellGroup: Group,\n distHeight: number,\n detaY: number,\n autoRowHeight: boolean,\n renderDefault: boolean,\n table: BaseTableAPI\n) {\n if (isMergeCellGroup(cellGroup)) {\n distHeight = 0;\n for (let row = cellGroup.mergeStartRow; row <= cellGroup.mergeEndRow; row++) {\n distHeight += table.getRowHeight(row);\n }\n const { colStart, colEnd, rowStart, rowEnd } = getCellMergeRange(cellGroup, table.scenegraph);\n for (let col = colStart; col <= colEnd; col++) {\n for (let row = rowStart; row <= rowEnd; row++) {\n const singleCellGroup = table.scenegraph.getCell(col, row);\n singleCellGroup.forEachChildren((child: IGraphic) => {\n child.setAttributes({\n dx: 0,\n dy: 0\n });\n });\n\n if (renderDefault) {\n const style = table._getCellStyle(colStart, rowStart);\n updateCellContentHeight(\n singleCellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline\n );\n }\n\n const rangeHeight = table.getRowHeight(row);\n const rangeWidth = table.getColWidth(col);\n\n // const { height: contentHeight } = cellGroup.attribute;\n singleCellGroup.contentHeight = distHeight;\n\n const { widthChange } = resizeCellGroup(\n singleCellGroup,\n rangeWidth,\n rangeHeight,\n {\n start: {\n col: cellGroup.mergeStartCol,\n row: cellGroup.mergeStartRow\n },\n end: {\n col: cellGroup.mergeEndCol,\n row: cellGroup.mergeEndRow\n }\n },\n table\n );\n\n if (widthChange) {\n singleCellGroup.needUpdateWidth = true;\n }\n }\n }\n } else {\n const style = table._getCellStyle(cellGroup.col, cellGroup.row);\n updateCellContentHeight(\n cellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline\n );\n }\n}\n"]}
|
|
@@ -89,7 +89,7 @@ function updateColunmWidth(columnGroup, detaX, mode, scene) {
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
function updateCellWidth(scene, cell, col, row, oldWidth, distWidth, detaX, isHeader, autoWrapText) {
|
|
92
|
-
var _a, _b, _c, _d, _e
|
|
92
|
+
var _a, _b, _c, _d, _e;
|
|
93
93
|
if (cell.attribute.width === distWidth && !cell.needUpdateWidth) return !1;
|
|
94
94
|
cell.needUpdateWidth = !1, cell.setAttribute("width", distWidth);
|
|
95
95
|
const cellGroup = cell;
|
|
@@ -124,8 +124,7 @@ function updateCellWidth(scene, cell, col, row, oldWidth, distWidth, detaX, isHe
|
|
|
124
124
|
const customContainer = cell.getChildByName(custom_1.CUSTOM_CONTAINER_NAME) || cell.getChildByName(custom_1.CUSTOM_MERGE_CONTAINER_NAME);
|
|
125
125
|
if (customContainer) {
|
|
126
126
|
let customElementsGroup;
|
|
127
|
-
|
|
128
|
-
customContainer.removeAllChild(), cell.removeChild(customContainer);
|
|
127
|
+
cell.removeChild(customContainer);
|
|
129
128
|
const customMergeRange = (0, cell_helper_1.getCustomCellMergeCustom)(col, row, cell, scene.table);
|
|
130
129
|
if (customMergeRange) for (let mergeCol = customMergeRange.start.col; mergeCol <= customMergeRange.end.col; mergeCol++) {
|
|
131
130
|
if (mergeCol === col) continue;
|
|
@@ -149,7 +148,7 @@ function updateCellWidth(scene, cell, col, row, oldWidth, distWidth, detaX, isHe
|
|
|
149
148
|
let width = cellGroup.attribute.width, height = cellGroup.attribute.height;
|
|
150
149
|
(0, is_merge_cell_group_1.isMergeCellGroup)(cellGroup) && (width = scene.table.getColsWidth(cellGroup.mergeStartCol, cellGroup.mergeEndCol),
|
|
151
150
|
height = scene.table.getRowsHeight(cellGroup.mergeStartRow, cellGroup.mergeEndRow));
|
|
152
|
-
const customResult = (0, custom_1.dealWithCustom)(customLayout, customRender,
|
|
151
|
+
const customResult = (0, custom_1.dealWithCustom)(customLayout, customRender, col, row, width, height, !1, scene.table.isAutoRowHeight(row), padding, (0,
|
|
153
152
|
is_merge_cell_group_1.isMergeCellGroup)(cellGroup) ? {
|
|
154
153
|
start: {
|
|
155
154
|
col: cellGroup.mergeStartCol,
|