k-vtable 1.0.11 → 1.0.13
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 +15 -11
- package/cjs/ListTable.js.map +1 -1
- package/cjs/core/BaseTable.js +47 -33
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/group-helper.d.ts +3 -1
- package/cjs/core/group-helper.js +5 -3
- package/cjs/core/group-helper.js.map +1 -1
- package/cjs/core/record-helper.js +121 -17
- package/cjs/core/record-helper.js.map +1 -1
- package/cjs/core/tableHelper.js +1 -1
- package/cjs/core/tableHelper.js.map +1 -1
- package/cjs/data/CachedDataSource.d.ts +1 -1
- package/cjs/data/CachedDataSource.js +7 -6
- package/cjs/data/CachedDataSource.js.map +1 -1
- package/cjs/event/event.js +2 -2
- package/cjs/event/event.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/event/self-event-listener/base-table/dropdown-menu.d.ts +1 -1
- package/cjs/event/self-event-listener/base-table/dropdown-menu.js +5 -3
- package/cjs/event/self-event-listener/base-table/dropdown-menu.js.map +1 -1
- package/cjs/event/self-event-listener/list-table/checkbox.js +5 -5
- package/cjs/event/self-event-listener/list-table/checkbox.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/cell-range/simple-cell-range.js +2 -2
- package/cjs/layout/cell-range/simple-cell-range.js.map +1 -1
- package/cjs/layout/layout-helper.js +1 -1
- package/cjs/layout/layout-helper.js.map +1 -1
- package/cjs/layout/simple-header-layout.js +3 -3
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/scenegraph/graphic/chart.js +7 -4
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +3 -3
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +5 -5
- package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js +3 -3
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/init-scenegraph.js +1 -1
- package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +2 -2
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.js +1 -1
- package/cjs/scenegraph/layout/update-width.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +1 -1
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/select/update-select-border.js +27 -11
- package/cjs/scenegraph/select/update-select-border.js.map +1 -1
- package/cjs/scenegraph/utils/get-hierarchy-offset.js +1 -1
- package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
- package/cjs/state/checkbox/checkbox.js +7 -6
- package/cjs/state/checkbox/checkbox.js.map +1 -1
- package/cjs/tools/diff-cell.d.ts +1 -1
- package/cjs/tools/diff-cell.js +4 -1
- package/cjs/tools/diff-cell.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +10 -1
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/list-table/define/checkbox-define.d.ts +0 -1
- package/cjs/ts-types/list-table/define/checkbox-define.js.map +1 -1
- package/cjs/ts-types/new-data-set.d.ts +1 -0
- package/cjs/ts-types/new-data-set.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +12 -1
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +341 -85
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +13 -9
- package/es/ListTable.js.map +1 -1
- package/es/core/BaseTable.js +47 -33
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/group-helper.d.ts +3 -1
- package/es/core/group-helper.js +5 -3
- package/es/core/group-helper.js.map +1 -1
- package/es/core/record-helper.js +120 -14
- package/es/core/record-helper.js.map +1 -1
- package/es/core/tableHelper.js +1 -1
- package/es/core/tableHelper.js.map +1 -1
- package/es/data/CachedDataSource.d.ts +1 -1
- package/es/data/CachedDataSource.js +7 -6
- package/es/data/CachedDataSource.js.map +1 -1
- package/es/event/event.js +3 -3
- package/es/event/event.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/event/self-event-listener/base-table/dropdown-menu.d.ts +1 -1
- package/es/event/self-event-listener/base-table/dropdown-menu.js +3 -1
- package/es/event/self-event-listener/base-table/dropdown-menu.js.map +1 -1
- package/es/event/self-event-listener/list-table/checkbox.js +5 -5
- package/es/event/self-event-listener/list-table/checkbox.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/cell-range/simple-cell-range.js +2 -2
- package/es/layout/cell-range/simple-cell-range.js.map +1 -1
- package/es/layout/layout-helper.js +1 -1
- package/es/layout/layout-helper.js.map +1 -1
- package/es/layout/simple-header-layout.js +3 -3
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/scenegraph/graphic/chart.js +7 -4
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +2 -2
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +5 -5
- package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
- package/es/scenegraph/group-creater/column-helper.js +2 -2
- package/es/scenegraph/group-creater/column-helper.js.map +1 -1
- package/es/scenegraph/group-creater/init-scenegraph.js +1 -1
- package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -1
- package/es/scenegraph/layout/update-height.js +2 -2
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-width.js +1 -1
- package/es/scenegraph/layout/update-width.js.map +1 -1
- package/es/scenegraph/scenegraph.js +1 -1
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/select/update-select-border.js +23 -9
- package/es/scenegraph/select/update-select-border.js.map +1 -1
- package/es/scenegraph/utils/get-hierarchy-offset.js +1 -1
- package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
- package/es/state/checkbox/checkbox.js +7 -6
- package/es/state/checkbox/checkbox.js.map +1 -1
- package/es/tools/diff-cell.d.ts +1 -1
- package/es/tools/diff-cell.js +4 -1
- package/es/tools/diff-cell.js.map +1 -1
- package/es/ts-types/base-table.d.ts +10 -1
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/list-table/define/checkbox-define.d.ts +0 -1
- package/es/ts-types/list-table/define/checkbox-define.js.map +1 -1
- package/es/ts-types/new-data-set.d.ts +1 -0
- package/es/ts-types/new-data-set.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +12 -1
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +6 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/group-creater/cell-type/checkbox-cell.ts"],"names":[],"mappings":"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","file":"checkbox-cell.js","sourcesContent":["import type { IThemeSpec } from './../../../vrender';\nimport { Group } from '../../graphic/group';\nimport {\n InternalIconName,\n type CellInfo,\n type CellRange,\n type CheckboxColumnDefine,\n type CheckboxStyleOption,\n type ColumnIconOption,\n type SparklineSpec\n} from '../../../ts-types';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\nimport { isObject } from '@visactor/vutils';\nimport type { CheckboxAttributes } from './../../../vrender';\nimport { CheckBox } from './../../../vrender';\nimport { getHierarchyOffset } from '../../utils/get-hierarchy-offset';\nimport { getOrApply } from '../../../tools/helper';\nimport type { CheckboxStyle } from '../../../body-helper/style/CheckboxStyle';\nimport { getProp } from '../../utils/get-prop';\nimport { getCellBorderStrokeWidth } from '../../utils/cell-border-stroke-width';\nimport { dealWithIcon, dealWithIconLayout } from '../../utils/text-icon-layout';\nimport { CheckboxContent } from '../../component/checkbox-content';\nimport { CUSTOM_CONTAINER_NAME } from '../../component/custom';\nimport type { ListTable } from '../../..';\n\nexport function createCheckboxCellGroup(\n cellGroup: Group | null,\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n colWidth: number,\n width: number,\n height: number,\n padding: number[],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n mayHaveIcon: boolean,\n table: BaseTableAPI,\n cellTheme: IThemeSpec,\n define: CheckboxColumnDefine,\n range: CellRange | undefined,\n isAsync: boolean,\n isCheckboxTree: boolean\n) {\n // cell\n if (!cellGroup) {\n const strokeArrayWidth = getCellBorderStrokeWidth(col, row, cellTheme, table);\n\n if (isAsync) {\n cellGroup = table.scenegraph.highPerformanceGetCell(col, row, true);\n if (cellGroup && cellGroup.role === 'cell') {\n cellGroup.setAttributes({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\n // 背景相关,cell背景由cellGroup绘制\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fill: cellTheme?.group?.fill ?? undefined,\n stroke: cellTheme?.group?.stroke ?? undefined,\n strokeArrayWidth: strokeArrayWidth,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n lineDash: cellTheme?.group?.lineDash ?? undefined,\n lineCap: 'butt',\n clip: true,\n cornerRadius: cellTheme.group.cornerRadius\n } as any);\n }\n }\n if (!cellGroup || cellGroup.role !== 'cell') {\n cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\n // 背景相关,cell背景由cellGroup绘制\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fill: cellTheme?.group?.fill ?? undefined,\n stroke: cellTheme?.group?.stroke ?? undefined,\n strokeArrayWidth: strokeArrayWidth,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n lineDash: cellTheme?.group?.lineDash ?? undefined,\n lineCap: 'butt',\n clip: true,\n cornerRadius: cellTheme.group.cornerRadius\n } as any);\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup?.addCellGroup(cellGroup);\n }\n }\n\n let icons;\n if (mayHaveIcon) {\n let iconCol = col;\n let iconRow = row;\n if (range) {\n iconCol = range.start.col;\n iconRow = range.start.row;\n }\n icons = table.getCellIcons(iconCol, iconRow);\n }\n\n let iconWidth = 0;\n let cellLeftIconWidth = 0;\n let cellRightIconWidth = 0;\n let cellabsoluteRightIconWidth = 0;\n let cellContentLeftIcons: ColumnIconOption[] = [];\n let cellContentRightIcons: ColumnIconOption[] = [];\n if (Array.isArray(icons) && icons.length !== 0) {\n const {\n leftIconWidth,\n rightIconWidth,\n contentLeftIcons,\n contentRightIcons,\n absoluteLeftIconWidth,\n absoluteRightIconWidth\n } = dealWithIconLayout(icons, cellGroup, range, table);\n\n iconWidth = leftIconWidth + rightIconWidth;\n cellLeftIconWidth = leftIconWidth;\n cellRightIconWidth = rightIconWidth;\n cellContentLeftIcons = contentLeftIcons;\n cellContentRightIcons = contentRightIcons;\n cellabsoluteRightIconWidth = absoluteRightIconWidth;\n\n // 更新各个部分横向位置\n cellGroup.forEachChildren((child: any) => {\n if (child.role === 'icon-left') {\n child.setAttribute('x', child.attribute.x + padding[3]);\n } else if (child.role === 'icon-right') {\n child.setAttribute('x', child.attribute.x + width - rightIconWidth - padding[1]);\n } else if (child.role === 'icon-absolute-right') {\n child.setAttribute('x', child.attribute.x + width - absoluteRightIconWidth - padding[1]);\n }\n });\n\n // 更新各个部分纵向位置\n cellGroup.forEachChildren((child: any) => {\n if (textBaseline === 'middle') {\n child.setAttribute('y', (height - child.AABBBounds.height()) / 2);\n } else if (textBaseline === 'bottom') {\n child.setAttribute('y', height - child.AABBBounds.height() - padding[2]);\n } else {\n child.setAttribute('y', padding[0]);\n }\n });\n }\n\n // checkbox\n const checkboxComponent = createCheckbox(\n col,\n row,\n colWidth - iconWidth,\n width,\n height,\n padding,\n cellTheme,\n define,\n table,\n isCheckboxTree\n );\n\n // 目前只支持展示折叠或者展开icons\n if (\n cellContentLeftIcons.length === 1 &&\n (cellContentLeftIcons[0].name === InternalIconName.expandIconName ||\n cellContentLeftIcons[0].name === InternalIconName.collapseIconName)\n ) {\n const checkContent = new CheckboxContent({\n x: 0,\n y: 0,\n fill: false,\n stroke: false,\n pickable: false\n });\n checkContent.name = 'checkbox-content';\n\n checkContent.setCheckboxContentOption({\n autoWidth: false,\n autoHeight: false,\n cellWidth: width - (padding[1] + padding[3]),\n cellHeight: height - padding[0] - padding[2],\n align: textAlign,\n baseline: textBaseline\n });\n\n const dealWithIconComputeVar = {\n addedHierarchyOffset: 0\n }; //为了只增加一次indent的缩进值,如果有两个icon都dealWithIcon的话\n\n cellContentLeftIcons.forEach(icon => {\n const iconMark = dealWithIcon(\n icon,\n undefined,\n cellGroup.col,\n cellGroup.row,\n range,\n table,\n dealWithIconComputeVar\n );\n iconMark.role = 'icon-content-left';\n iconMark.name = icon.name;\n checkContent.addLeftOccupyingIcon(iconMark);\n });\n\n if (checkboxComponent) {\n checkContent.addCheckbox(checkboxComponent);\n }\n cellGroup.appendChild(checkContent);\n checkContent.layout();\n\n const contentWidth = checkContent.AABBBounds.width();\n const contentHeight = checkContent.AABBBounds.height();\n\n // 内容添加后单元格的宽高\n const Awidth = false\n ? cellLeftIconWidth + contentWidth + cellRightIconWidth // + padding[1] + padding[3]\n : width - (padding[1] + padding[3]);\n const Aheight = height - (padding[0] + padding[2]);\n\n // 更新各个部分横向位置\n cellGroup.forEachChildren((child: any) => {\n if (child.role === 'icon-left') {\n child.setAttribute('x', child.attribute.x + padding[3]);\n } else if (child.role === 'icon-right') {\n child.setAttribute('x', child.attribute.x + Awidth - cellRightIconWidth + padding[3]);\n } else if (child.role === 'icon-absolute-right') {\n child.setAttribute('x', child.attribute.x + Awidth - cellabsoluteRightIconWidth + padding[3] + padding[1]);\n } else if (child.name === 'content' || child.name === 'checkbox-content') {\n if (textAlign === 'center' && child.type !== 'richtext') {\n child.setAttribute(\n 'x',\n padding[3] + cellLeftIconWidth + (Awidth - cellLeftIconWidth - cellRightIconWidth) / 2\n );\n } else if (textAlign === 'right' && child.type !== 'richtext') {\n child.setAttribute('x', padding[3] + Awidth - cellRightIconWidth);\n } else {\n child.setAttribute('x', padding[3] + cellLeftIconWidth);\n }\n }\n });\n\n // 更新各个部分纵向位置\n cellGroup.forEachChildren((child: any) => {\n if (child.name === CUSTOM_CONTAINER_NAME) {\n return;\n }\n if (textBaseline === 'middle') {\n // child.setAttribute('y', padding[0] + (Aheight - child.AABBBounds.height()) / 2);\n if (child?._checkboxGroup as Group) {\n child._leftGroup.setAttribute('y', padding[0] + (Aheight - child._checkboxGroup.AABBBounds.height()) / 2);\n }\n } else if (textBaseline === 'bottom') {\n child.setAttribute('y', padding[0] + Aheight - child.AABBBounds.height());\n } else {\n child.setAttribute('y', padding[0]);\n }\n });\n } else {\n if (checkboxComponent) {\n cellGroup.appendChild(checkboxComponent);\n }\n\n checkboxComponent.render();\n }\n\n width -= padding[1] + padding[3] + iconWidth;\n height -= padding[0] + padding[2];\n if (textAlign === 'center') {\n checkboxComponent.setAttribute(\n 'x',\n padding[3] + cellLeftIconWidth + (width - checkboxComponent.AABBBounds.width()) / 2\n );\n } else if (textAlign === 'right') {\n checkboxComponent.setAttribute('x', padding[3] + cellLeftIconWidth + width - checkboxComponent.AABBBounds.width());\n } else {\n checkboxComponent.setAttribute('x', padding[3] + cellLeftIconWidth);\n }\n\n if (textBaseline === 'middle') {\n checkboxComponent.setAttribute('y', padding[0] + (height - checkboxComponent.AABBBounds.height()) / 2);\n } else if (textBaseline === 'bottom') {\n checkboxComponent.setAttribute('y', padding[0] + height - checkboxComponent.AABBBounds.height());\n } else {\n checkboxComponent.setAttribute('y', padding[0]);\n }\n\n return cellGroup;\n}\n\nfunction createCheckbox(\n col: number,\n row: number,\n colWidth: number | 'auto',\n cellWidth: number,\n cellHeight: number,\n padding: number[],\n cellTheme: IThemeSpec,\n define: CheckboxColumnDefine,\n table: BaseTableAPI,\n isCheckboxTree: boolean\n) {\n const style = table._getCellStyle(col, row) as CheckboxStyle;\n const size = getProp('size', style, col, row, table);\n const spaceBetweenTextAndIcon = getProp('spaceBetweenTextAndIcon', style, col, row, table);\n const defaultFill = getProp('defaultFill', style, col, row, table);\n const defaultStroke = getProp('defaultStroke', style, col, row, table);\n const disableFill = getProp('disableFill', style, col, row, table);\n const checkedFill = getProp('checkedFill', style, col, row, table);\n const checkedStroke = getProp('checkedStroke', style, col, row, table);\n const disableCheckedFill = getProp('disableCheckedFill', style, col, row, table);\n const disableCheckedStroke = getProp('disableCheckedStroke', style, col, row, table);\n const checkIconImage = getProp('checkIconImage', style, col, row, table);\n const indeterminateIconImage = getProp('indeterminateIconImage', style, col, row, table);\n\n const value = table.getCellValue(col, row) as string | { text: string; checked: boolean; disable: boolean } | boolean;\n const dataValue = table.getCellOriginValue(col, row);\n let isChecked;\n let isDisabled;\n let text = (value as string) ?? '';\n if (isObject(value)) {\n isChecked = value.checked;\n isDisabled = value.disable;\n text = value.text ?? '';\n } else if (typeof value === 'boolean') {\n isChecked = value;\n text = '';\n }\n // 处理 rowSeriesNumbe 在record设置checkbox是否勾选与是否禁用的场景\n if (table.internalProps.layoutMap.isSeriesNumber(col, row)) {\n const checkboxSeriesNumberStyle = (table as ListTable).getFieldData(define.field, col, row);\n if (checkboxSeriesNumberStyle) {\n isChecked = checkboxSeriesNumberStyle.checked;\n isDisabled = checkboxSeriesNumberStyle.disable;\n text = checkboxSeriesNumberStyle.text ?? '';\n }\n }\n isChecked = table.stateManager.syncCheckedState(col, row, define.field as string | number, isChecked);\n const hierarchyOffset = getHierarchyOffset(col, row, table);\n const cellStyle = table._getCellStyle(col, row) as CheckboxStyleOption; // to be fixed\n const autoWrapText = cellStyle.autoWrapText ?? table.internalProps.autoWrapText;\n const { lineClamp } = cellStyle;\n const { checked, disable } = define;\n if (isChecked === undefined || isChecked === null || typeof isChecked === 'function') {\n //isChecked无效值 取全局设置的值\n const globalChecked = getOrApply(checked as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue\n });\n isChecked = table.stateManager.syncCheckedState(col, row, define.field as string | number, globalChecked);\n }\n const globalDisable = getOrApply(disable as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue\n });\n\n const autoColWidth = colWidth === 'auto';\n const autoRowHeight = table.isAutoRowHeight(row);\n\n const attribute = {\n text: text.length === 1 ? text[0] : text,\n maxLineWidth: autoColWidth\n ? Infinity\n : cellWidth - (padding[1] + padding[3] + hierarchyOffset) - size - spaceBetweenTextAndIcon,\n // fill: true,\n textAlign: 'left',\n textBaseline: 'top',\n autoWrapText,\n lineClamp,\n wordBreak: 'break-word',\n // widthLimit: autoColWidth ? -1 : colWidth - (padding[1] + padding[3]),\n heightLimit: autoRowHeight ? -1 : cellHeight - Math.floor(padding[0] + padding[2]),\n pickable: false,\n dx: isCheckboxTree ? 0 : hierarchyOffset,\n whiteSpace: text.length === 1 && !autoWrapText ? 'no-wrap' : 'normal'\n };\n const testAttribute = cellTheme.text ? (Object.assign({}, cellTheme.text, attribute) as any) : attribute;\n const checkboxAttributes: CheckboxAttributes = {\n x: 0,\n y: 0,\n text: testAttribute,\n icon: {\n width: Math.floor(size / 1.4), // icon : box => 10 : 14\n height: Math.floor(size / 1.4)\n },\n box: {\n width: size,\n height: size\n },\n dx: isCheckboxTree ? hierarchyOffset : 0,\n spaceBetweenTextAndIcon,\n disabled: isDisabled ?? globalDisable ?? false\n };\n\n if (isChecked === 'indeterminate') {\n checkboxAttributes.checked = undefined;\n checkboxAttributes.indeterminate = true;\n } else {\n checkboxAttributes.checked = isChecked;\n checkboxAttributes.indeterminate = undefined;\n }\n defaultFill && (checkboxAttributes.box.fill = defaultFill);\n defaultStroke && (checkboxAttributes.box.stroke = defaultStroke);\n disableFill && (checkboxAttributes.box.disableFill = disableFill);\n checkedFill && (checkboxAttributes.box.checkedFill = checkedFill);\n checkedStroke && (checkboxAttributes.box.checkedStroke = checkedStroke);\n disableCheckedFill && (checkboxAttributes.box.disableCheckedFill = disableCheckedFill);\n disableCheckedStroke && (checkboxAttributes.box.disableCheckedStroke = disableCheckedStroke);\n checkIconImage && (checkboxAttributes.icon.checkIconImage = checkIconImage);\n indeterminateIconImage && (checkboxAttributes.icon.indeterminateIconImage = indeterminateIconImage);\n\n const checkbox = new CheckBox(checkboxAttributes);\n checkbox.name = 'checkbox';\n\n return checkbox;\n}\n\nexport type CreateCheckboxCellGroup = typeof createCheckboxCellGroup;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/group-creater/cell-type/checkbox-cell.ts"],"names":[],"mappings":"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","file":"checkbox-cell.js","sourcesContent":["import type { IThemeSpec } from './../../../vrender';\nimport { Group } from '../../graphic/group';\nimport {\n InternalIconName,\n type CellInfo,\n type CellRange,\n type CheckboxColumnDefine,\n type CheckboxStyleOption,\n type ColumnIconOption,\n type SparklineSpec\n} from '../../../ts-types';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\nimport { isObject } from '@visactor/vutils';\nimport type { CheckboxAttributes } from './../../../vrender';\nimport { CheckBox } from './../../../vrender';\nimport { getHierarchyOffset } from '../../utils/get-hierarchy-offset';\nimport { getOrApply } from '../../../tools/helper';\nimport type { CheckboxStyle } from '../../../body-helper/style/CheckboxStyle';\nimport { getProp } from '../../utils/get-prop';\nimport { getCellBorderStrokeWidth } from '../../utils/cell-border-stroke-width';\nimport { dealWithIcon, dealWithIconLayout } from '../../utils/text-icon-layout';\nimport { CheckboxContent } from '../../component/checkbox-content';\nimport { CUSTOM_CONTAINER_NAME } from '../../component/custom';\nimport type { ListTable } from '../../..';\n\nexport function createCheckboxCellGroup(\n cellGroup: Group | null,\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n colWidth: number,\n width: number,\n height: number,\n padding: number[],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n mayHaveIcon: boolean,\n table: BaseTableAPI,\n cellTheme: IThemeSpec,\n define: CheckboxColumnDefine,\n range: CellRange | undefined,\n isAsync: boolean,\n isCheckboxTree: boolean\n) {\n // cell\n if (!cellGroup) {\n const strokeArrayWidth = getCellBorderStrokeWidth(col, row, cellTheme, table);\n\n if (isAsync) {\n cellGroup = table.scenegraph.highPerformanceGetCell(col, row, true);\n if (cellGroup && cellGroup.role === 'cell') {\n cellGroup.setAttributes({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\n // 背景相关,cell背景由cellGroup绘制\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fill: cellTheme?.group?.fill ?? undefined,\n stroke: cellTheme?.group?.stroke ?? undefined,\n strokeArrayWidth: strokeArrayWidth,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n lineDash: cellTheme?.group?.lineDash ?? undefined,\n lineCap: 'butt',\n clip: true,\n cornerRadius: cellTheme.group.cornerRadius\n } as any);\n }\n }\n if (!cellGroup || cellGroup.role !== 'cell') {\n cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\n // 背景相关,cell背景由cellGroup绘制\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fill: cellTheme?.group?.fill ?? undefined,\n stroke: cellTheme?.group?.stroke ?? undefined,\n strokeArrayWidth: strokeArrayWidth,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n lineDash: cellTheme?.group?.lineDash ?? undefined,\n lineCap: 'butt',\n clip: true,\n cornerRadius: cellTheme.group.cornerRadius\n } as any);\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup?.addCellGroup(cellGroup);\n }\n }\n\n let icons;\n if (mayHaveIcon) {\n let iconCol = col;\n let iconRow = row;\n if (range) {\n iconCol = range.start.col;\n iconRow = range.start.row;\n }\n icons = table.getCellIcons(iconCol, iconRow);\n }\n\n let iconWidth = 0;\n let cellLeftIconWidth = 0;\n let cellRightIconWidth = 0;\n let cellabsoluteRightIconWidth = 0;\n let cellContentLeftIcons: ColumnIconOption[] = [];\n let cellContentRightIcons: ColumnIconOption[] = [];\n if (Array.isArray(icons) && icons.length !== 0) {\n const {\n leftIconWidth,\n rightIconWidth,\n contentLeftIcons,\n contentRightIcons,\n absoluteLeftIconWidth,\n absoluteRightIconWidth\n } = dealWithIconLayout(icons, cellGroup, range, table);\n\n iconWidth = leftIconWidth + rightIconWidth;\n cellLeftIconWidth = leftIconWidth;\n cellRightIconWidth = rightIconWidth;\n cellContentLeftIcons = contentLeftIcons;\n cellContentRightIcons = contentRightIcons;\n cellabsoluteRightIconWidth = absoluteRightIconWidth;\n\n // 更新各个部分横向位置\n cellGroup.forEachChildren((child: any) => {\n if (child.role === 'icon-left') {\n child.setAttribute('x', child.attribute.x + padding[3]);\n } else if (child.role === 'icon-right') {\n child.setAttribute('x', child.attribute.x + width - rightIconWidth - padding[1]);\n } else if (child.role === 'icon-absolute-right') {\n child.setAttribute('x', child.attribute.x + width - absoluteRightIconWidth - padding[1]);\n }\n });\n\n // 更新各个部分纵向位置\n cellGroup.forEachChildren((child: any) => {\n if (textBaseline === 'middle') {\n child.setAttribute('y', (height - child.AABBBounds.height()) / 2);\n } else if (textBaseline === 'bottom') {\n child.setAttribute('y', height - child.AABBBounds.height() - padding[2]);\n } else {\n child.setAttribute('y', padding[0]);\n }\n });\n }\n\n // checkbox\n const checkboxComponent = createCheckbox(\n col,\n row,\n colWidth - iconWidth,\n width,\n height,\n padding,\n cellTheme,\n define,\n table,\n isCheckboxTree\n );\n\n // 目前只支持展示折叠或者展开icons\n if (\n cellContentLeftIcons.length === 1 &&\n (cellContentLeftIcons[0].name === InternalIconName.expandIconName ||\n cellContentLeftIcons[0].name === InternalIconName.collapseIconName)\n ) {\n const checkContent = new CheckboxContent({\n x: 0,\n y: 0,\n fill: false,\n stroke: false,\n pickable: false\n });\n checkContent.name = 'checkbox-content';\n\n checkContent.setCheckboxContentOption({\n autoWidth: false,\n autoHeight: false,\n cellWidth: width - (padding[1] + padding[3]),\n cellHeight: height - padding[0] - padding[2],\n align: textAlign,\n baseline: textBaseline\n });\n\n const dealWithIconComputeVar = {\n addedHierarchyOffset: 0\n }; //为了只增加一次indent的缩进值,如果有两个icon都dealWithIcon的话\n\n cellContentLeftIcons.forEach(icon => {\n const iconMark = dealWithIcon(\n icon,\n undefined,\n cellGroup.col,\n cellGroup.row,\n range,\n table,\n dealWithIconComputeVar\n );\n iconMark.role = 'icon-content-left';\n iconMark.name = icon.name;\n checkContent.addLeftOccupyingIcon(iconMark);\n });\n\n if (checkboxComponent) {\n checkContent.addCheckbox(checkboxComponent);\n }\n cellGroup.appendChild(checkContent);\n checkContent.layout();\n\n const contentWidth = checkContent.AABBBounds.width();\n const contentHeight = checkContent.AABBBounds.height();\n\n // 内容添加后单元格的宽高\n const Awidth = false\n ? cellLeftIconWidth + contentWidth + cellRightIconWidth // + padding[1] + padding[3]\n : width - (padding[1] + padding[3]);\n const Aheight = height - (padding[0] + padding[2]);\n\n // 更新各个部分横向位置\n cellGroup.forEachChildren((child: any) => {\n if (child.role === 'icon-left') {\n child.setAttribute('x', child.attribute.x + padding[3]);\n } else if (child.role === 'icon-right') {\n child.setAttribute('x', child.attribute.x + Awidth - cellRightIconWidth + padding[3]);\n } else if (child.role === 'icon-absolute-right') {\n child.setAttribute('x', child.attribute.x + Awidth - cellabsoluteRightIconWidth + padding[3] + padding[1]);\n } else if (child.name === 'content' || child.name === 'checkbox-content') {\n if (textAlign === 'center' && child.type !== 'richtext') {\n child.setAttribute(\n 'x',\n padding[3] + cellLeftIconWidth + (Awidth - cellLeftIconWidth - cellRightIconWidth) / 2\n );\n } else if (textAlign === 'right' && child.type !== 'richtext') {\n child.setAttribute('x', padding[3] + Awidth - cellRightIconWidth);\n } else {\n child.setAttribute('x', padding[3] + cellLeftIconWidth);\n }\n }\n });\n\n // 更新各个部分纵向位置\n cellGroup.forEachChildren((child: any) => {\n if (child.name === CUSTOM_CONTAINER_NAME) {\n return;\n }\n if (textBaseline === 'middle') {\n // child.setAttribute('y', padding[0] + (Aheight - child.AABBBounds.height()) / 2);\n if (child?._checkboxGroup as Group) {\n child._leftGroup.setAttribute('y', padding[0] + (Aheight - child._checkboxGroup.AABBBounds.height()) / 2);\n }\n } else if (textBaseline === 'bottom') {\n child.setAttribute('y', padding[0] + Aheight - child.AABBBounds.height());\n } else {\n child.setAttribute('y', padding[0]);\n }\n });\n } else {\n if (checkboxComponent) {\n cellGroup.appendChild(checkboxComponent);\n }\n\n checkboxComponent.render();\n }\n\n width -= padding[1] + padding[3] + iconWidth;\n height -= padding[0] + padding[2];\n if (textAlign === 'center') {\n checkboxComponent.setAttribute(\n 'x',\n padding[3] + cellLeftIconWidth + (width - checkboxComponent.AABBBounds.width()) / 2\n );\n } else if (textAlign === 'right') {\n checkboxComponent.setAttribute('x', padding[3] + cellLeftIconWidth + width - checkboxComponent.AABBBounds.width());\n } else {\n checkboxComponent.setAttribute('x', padding[3] + cellLeftIconWidth);\n }\n\n if (textBaseline === 'middle') {\n checkboxComponent.setAttribute('y', padding[0] + (height - checkboxComponent.AABBBounds.height()) / 2);\n } else if (textBaseline === 'bottom') {\n checkboxComponent.setAttribute('y', padding[0] + height - checkboxComponent.AABBBounds.height());\n } else {\n checkboxComponent.setAttribute('y', padding[0]);\n }\n\n return cellGroup;\n}\n\nfunction createCheckbox(\n col: number,\n row: number,\n colWidth: number | 'auto',\n cellWidth: number,\n cellHeight: number,\n padding: number[],\n cellTheme: IThemeSpec,\n define: CheckboxColumnDefine,\n table: BaseTableAPI,\n isCheckboxTree: boolean\n) {\n const style = table._getCellStyle(col, row) as CheckboxStyle;\n const size = getProp('size', style, col, row, table);\n const spaceBetweenTextAndIcon = getProp('spaceBetweenTextAndIcon', style, col, row, table);\n const defaultFill = getProp('defaultFill', style, col, row, table);\n const defaultStroke = getProp('defaultStroke', style, col, row, table);\n const disableFill = getProp('disableFill', style, col, row, table);\n const checkedFill = getProp('checkedFill', style, col, row, table);\n const checkedStroke = getProp('checkedStroke', style, col, row, table);\n const disableCheckedFill = getProp('disableCheckedFill', style, col, row, table);\n const disableCheckedStroke = getProp('disableCheckedStroke', style, col, row, table);\n const checkIconImage = getProp('checkIconImage', style, col, row, table);\n const indeterminateIconImage = getProp('indeterminateIconImage', style, col, row, table);\n\n const value = table.getCellValue(col, row) as string | { text: string; checked: boolean; disable: boolean } | boolean;\n const dataValue = table.getCellOriginValue(col, row);\n let isChecked;\n let isDisabled;\n let text = (value as string) ?? '';\n if (isObject(value)) {\n isChecked = value.checked;\n isDisabled = value.disable;\n text = value.text ?? '';\n } else if (typeof value === 'boolean') {\n isChecked = value;\n text = '';\n }\n // 处理 rowSeriesNumbe 在record设置checkbox是否勾选与是否禁用的场景\n if (table.internalProps.layoutMap.isSeriesNumber(col, row)) {\n const checkboxSeriesNumberStyle = (table as ListTable).getFieldData(define.field, col, row);\n if (checkboxSeriesNumberStyle) {\n if (typeof checkboxSeriesNumberStyle === 'string') {\n } else if (typeof checkboxSeriesNumberStyle === 'object') {\n isChecked = checkboxSeriesNumberStyle.checked;\n isDisabled = checkboxSeriesNumberStyle.disable;\n } else if (typeof checkboxSeriesNumberStyle === 'boolean') {\n isChecked = checkboxSeriesNumberStyle;\n }\n }\n }\n isChecked = table.stateManager.syncCheckedState(col, row, define.field as string | number, isChecked);\n const hierarchyOffset = getHierarchyOffset(col, row, table);\n const cellStyle = table._getCellStyle(col, row) as CheckboxStyleOption; // to be fixed\n const autoWrapText = cellStyle.autoWrapText ?? table.internalProps.autoWrapText;\n const { lineClamp } = cellStyle;\n const { checked, disable } = define;\n if (isChecked === undefined || isChecked === null || typeof isChecked === 'function') {\n //isChecked无效值 取全局设置的值\n const globalChecked = getOrApply(checked as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue\n });\n isChecked = table.stateManager.syncCheckedState(col, row, define.field as string | number, globalChecked);\n }\n const globalDisable = getOrApply(disable as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue\n });\n\n const autoColWidth = colWidth === 'auto';\n const autoRowHeight = table.isAutoRowHeight(row);\n\n const attribute = {\n text: text.length === 1 ? text[0] : text,\n maxLineWidth: autoColWidth\n ? Infinity\n : cellWidth - (padding[1] + padding[3] + hierarchyOffset) - size - spaceBetweenTextAndIcon,\n // fill: true,\n textAlign: 'left',\n textBaseline: 'top',\n autoWrapText,\n lineClamp,\n wordBreak: 'break-word',\n // widthLimit: autoColWidth ? -1 : colWidth - (padding[1] + padding[3]),\n heightLimit: autoRowHeight ? -1 : cellHeight - Math.floor(padding[0] + padding[2]),\n pickable: false,\n dx: isCheckboxTree ? 0 : hierarchyOffset,\n whiteSpace: text.length === 1 && !autoWrapText ? 'no-wrap' : 'normal'\n };\n const testAttribute = cellTheme.text ? (Object.assign({}, cellTheme.text, attribute) as any) : attribute;\n const checkboxAttributes: CheckboxAttributes = {\n x: 0,\n y: 0,\n text: testAttribute,\n icon: {\n width: Math.floor(size / 1.4), // icon : box => 10 : 14\n height: Math.floor(size / 1.4)\n },\n box: {\n width: size,\n height: size\n },\n dx: isCheckboxTree ? hierarchyOffset : 0,\n spaceBetweenTextAndIcon,\n disabled: isDisabled ?? globalDisable ?? false\n };\n\n if (isChecked === 'indeterminate') {\n checkboxAttributes.checked = undefined;\n checkboxAttributes.indeterminate = true;\n } else {\n checkboxAttributes.checked = isChecked;\n checkboxAttributes.indeterminate = undefined;\n }\n defaultFill && (checkboxAttributes.box.fill = defaultFill);\n defaultStroke && (checkboxAttributes.box.stroke = defaultStroke);\n disableFill && (checkboxAttributes.box.disableFill = disableFill);\n checkedFill && (checkboxAttributes.box.checkedFill = checkedFill);\n checkedStroke && (checkboxAttributes.box.checkedStroke = checkedStroke);\n disableCheckedFill && (checkboxAttributes.box.disableCheckedFill = disableCheckedFill);\n disableCheckedStroke && (checkboxAttributes.box.disableCheckedStroke = disableCheckedStroke);\n checkIconImage && (checkboxAttributes.icon.checkIconImage = checkIconImage);\n indeterminateIconImage && (checkboxAttributes.icon.indeterminateIconImage = indeterminateIconImage);\n\n const checkbox = new CheckBox(checkboxAttributes);\n checkbox.name = 'checkbox';\n\n return checkbox;\n}\n\nexport type CreateCheckboxCellGroup = typeof createCheckboxCellGroup;\n"]}
|
|
@@ -46,8 +46,8 @@ export function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd
|
|
|
46
46
|
let isVtableMerge = !1;
|
|
47
47
|
if (table.internalProps.enableTreeNodeMerge && isMerge) {
|
|
48
48
|
const rawRecord = table.getCellRawRecord(range.start.col, range.start.row), {vtableMergeName: vtableMergeName, vtableMerge: vtableMerge} = null != rawRecord ? rawRecord : {};
|
|
49
|
-
isVtableMerge = vtableMerge, vtableMerge && (mayHaveIcon = !0, table.
|
|
50
|
-
table.
|
|
49
|
+
isVtableMerge = vtableMerge, vtableMerge && (mayHaveIcon = !0, table.internalProps.groupTitleCustomLayout && (customResult = dealWithCustom(table.internalProps.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)),
|
|
50
|
+
table.internalProps.groupTitleFieldFormat ? value = table.internalProps.groupTitleFieldFormat(rawRecord, col, row, table) : void 0 !== vtableMergeName && (value = vtableMergeName));
|
|
51
51
|
}
|
|
52
52
|
const type = isVtableMerge || isCustomMerge ? "text" : null !== (_b = table.isHeader(col, row) ? null !== (_a = table._getHeaderLayoutMap(col, row).headerType) && void 0 !== _a ? _a : "text" : table.getBodyColumnType(col, row)) && void 0 !== _b ? _b : "text";
|
|
53
53
|
if (isPromise(value)) {
|
|
@@ -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 cellLocation = table.getCellLocation(col, row);\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.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 let define;\n if (!table.isPivotTable() && table.isSeriesNumberInBody(col, row)) {\n // 序号列 传入的cellLocation是'rowHeader'(不清楚为什么)。这里处理下获取到的define值\n define = table.getBodyColumnDefine(colForDefine, rowForDefine);\n } else {\n define =\n cellLocation !== 'body'\n ? table.getHeaderDefine(colForDefine, rowForDefine)\n : table.getBodyColumnDefine(colForDefine, rowForDefine);\n }\n const isAggregation =\n 'isAggregation' in table.internalProps.layoutMap && table.internalProps.layoutMap.isAggregation(col, row);\n const isSeriesNumber = table.internalProps.layoutMap.isSeriesNumber(col, row);\n\n let mayHaveIcon =\n cellLocation !== 'body'\n ? true\n : ((define as IRowSeriesNumber)?.dragOrder || !!define?.icon || !!(define as ColumnDefine)?.tree) &&\n !(isAggregation && isSeriesNumber);\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 if ((table.options as ListTableConstructorOptions).groupTitleFieldFormat) {\n value = (table.options as ListTableConstructorOptions).groupTitleFieldFormat(rawRecord, col, row, table);\n } else if (vtableMergeName !== undefined) {\n value = vtableMergeName;\n }\n }\n }\n\n const type =\n isVtableMerge || isCustomMerge\n ? 'text'\n : (table.isHeader(col, row)\n ? (table._getHeaderLayoutMap(col, row) as HeaderData).headerType ?? 'text'\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"]}
|
|
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, ListTableProtected } 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 cellLocation = table.getCellLocation(col, row);\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.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 let define;\n if (!table.isPivotTable() && table.isSeriesNumberInBody(col, row)) {\n // 序号列 传入的cellLocation是'rowHeader'(不清楚为什么)。这里处理下获取到的define值\n define = table.getBodyColumnDefine(colForDefine, rowForDefine);\n } else {\n define =\n cellLocation !== 'body'\n ? table.getHeaderDefine(colForDefine, rowForDefine)\n : table.getBodyColumnDefine(colForDefine, rowForDefine);\n }\n const isAggregation =\n 'isAggregation' in table.internalProps.layoutMap && table.internalProps.layoutMap.isAggregation(col, row);\n const isSeriesNumber = table.internalProps.layoutMap.isSeriesNumber(col, row);\n\n let mayHaveIcon =\n cellLocation !== 'body'\n ? true\n : ((define as IRowSeriesNumber)?.dragOrder || !!define?.icon || !!(define as ColumnDefine)?.tree) &&\n !(isAggregation && isSeriesNumber);\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.internalProps as ListTableProtected).groupTitleCustomLayout) {\n customResult = dealWithCustom(\n (table.internalProps as ListTableProtected).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 if ((table.internalProps as ListTableProtected).groupTitleFieldFormat) {\n value = (table.internalProps as ListTableProtected).groupTitleFieldFormat(rawRecord, col, row, table);\n } else if (vtableMergeName !== undefined) {\n value = vtableMergeName;\n }\n }\n }\n\n const type =\n isVtableMerge || isCustomMerge\n ? 'text'\n : (table.isHeader(col, row)\n ? (table._getHeaderLayoutMap(col, row) as HeaderData).headerType ?? 'text'\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"]}
|
|
@@ -10,7 +10,7 @@ export function initSceneGraph(scene) {
|
|
|
10
10
|
clip: !0,
|
|
11
11
|
pickable: !1
|
|
12
12
|
}), scene.tableGroup.role = "table";
|
|
13
|
-
const colHeaderGroup = createContainerGroup(0, 0, !scene.table.
|
|
13
|
+
const colHeaderGroup = createContainerGroup(0, 0, !scene.table.internalProps.enableTreeStickCell);
|
|
14
14
|
colHeaderGroup.role = "col-header", scene.colHeaderGroup = colHeaderGroup;
|
|
15
15
|
const cornerHeaderGroup = createContainerGroup(0, 0, !scene.table.options.enableTreeStickCell);
|
|
16
16
|
cornerHeaderGroup.role = "corner-header", scene.cornerHeaderGroup = cornerHeaderGroup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/group-creater/init-scenegraph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/group-creater/init-scenegraph.ts"],"names":[],"mappings":"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","file":"init-scenegraph.js","sourcesContent":["import type { ListTableConstructorOptions } from '../../ts-types/table-engine';\nimport type { ListTableProtected } from '../../ts-types/base-table';\nimport { Group } from '../graphic/group';\nimport type { Scenegraph } from '../scenegraph';\n\nexport function initSceneGraph(scene: Scenegraph) {\n const width = scene.table.tableNoFrameWidth;\n const height = scene.table.tableNoFrameHeight;\n\n scene.tableGroup = new Group({ x: 0, y: 0, width, height, clip: true, pickable: false });\n scene.tableGroup.role = 'table';\n\n const colHeaderGroup = createContainerGroup(\n 0,\n 0,\n !(scene.table.internalProps as ListTableProtected).enableTreeStickCell\n );\n colHeaderGroup.role = 'col-header';\n scene.colHeaderGroup = colHeaderGroup;\n\n const cornerHeaderGroup = createContainerGroup(\n 0,\n 0,\n !(scene.table.options as ListTableConstructorOptions).enableTreeStickCell\n );\n cornerHeaderGroup.role = 'corner-header';\n scene.cornerHeaderGroup = cornerHeaderGroup;\n\n const rowHeaderGroup = createContainerGroup(0, 0, true);\n rowHeaderGroup.role = 'row-header';\n scene.rowHeaderGroup = rowHeaderGroup;\n\n const bodyGroup = createContainerGroup(width, 0, true);\n bodyGroup.role = 'body';\n scene.bodyGroup = bodyGroup;\n\n const rightFrozenGroup = createContainerGroup(0, 0, true);\n rightFrozenGroup.role = 'right-frozen';\n scene.rightFrozenGroup = rightFrozenGroup;\n\n const bottomFrozenGroup = createContainerGroup(0, 0, true);\n bottomFrozenGroup.role = 'bottom-frozen';\n scene.bottomFrozenGroup = bottomFrozenGroup;\n\n const componentGroup = createContainerGroup(0, 0);\n componentGroup.role = 'component';\n scene.componentGroup = componentGroup;\n\n const rightTopCornerGroup = createContainerGroup(0, 0, true);\n rightTopCornerGroup.role = 'corner-right-top-header';\n scene.rightTopCornerGroup = rightTopCornerGroup;\n\n const rightBottomCornerGroup = createContainerGroup(0, 0, true);\n rightBottomCornerGroup.role = 'corner-right-bottom-header';\n scene.rightBottomCornerGroup = rightBottomCornerGroup;\n\n const leftBottomCornerGroup = createContainerGroup(0, 0, true);\n leftBottomCornerGroup.role = 'corner-left-bottom-header';\n scene.leftBottomCornerGroup = leftBottomCornerGroup;\n\n scene.tableGroup.addChild(bodyGroup);\n //注意这块添加的顺序 会影响select框选效果 有可能引起框选框覆盖其他部分group的问题 具体问题出在update-select-border文件中的updateComponent方法\n scene.tableGroup.addChild(rowHeaderGroup);\n scene.tableGroup.addChild(bottomFrozenGroup);\n\n scene.tableGroup.addChild(colHeaderGroup);\n scene.tableGroup.addChild(rightFrozenGroup);\n\n scene.tableGroup.addChild(rightBottomCornerGroup);\n scene.tableGroup.addChild(rightTopCornerGroup);\n scene.tableGroup.addChild(leftBottomCornerGroup);\n scene.tableGroup.addChild(cornerHeaderGroup);\n scene.tableGroup.addChild(componentGroup);\n}\n\nfunction createContainerGroup(width: number, height: number, clip?: boolean) {\n return new Group({\n x: 0,\n y: 0,\n width,\n height,\n clip: clip ?? false,\n pickable: false\n });\n}\n"]}
|
|
@@ -21,7 +21,7 @@ import { getCellMergeRange } from "../../tools/merge-range";
|
|
|
21
21
|
import { Factory } from "../../core/factory";
|
|
22
22
|
|
|
23
23
|
export function updateRowHeight(scene, row, detaY, skipTableHeightMap) {
|
|
24
|
-
skipTableHeightMap
|
|
24
|
+
!skipTableHeightMap && detaY && scene.table._setRowHeight(row, scene.table.getRowHeight(row) + detaY, !0);
|
|
25
25
|
for (let col = 0; col < scene.table.colCount; col++) {
|
|
26
26
|
const cell = scene.getCell(col, row);
|
|
27
27
|
if ("empty" === cell.role) continue;
|
|
@@ -77,7 +77,7 @@ export function updateCellHeight(scene, cell, col, row, distHeight, detaY, isHea
|
|
|
77
77
|
} else {
|
|
78
78
|
let customRender, customLayout;
|
|
79
79
|
const cellLocation = scene.table.getCellLocation(col, row), {vtableMerge: vtableMerge} = scene.table.getCellRawRecord(col, row) || {};
|
|
80
|
-
if (vtableMerge && scene.table.
|
|
80
|
+
if (vtableMerge && scene.table.internalProps.groupTitleCustomLayout) customLayout = scene.table.internalProps.groupTitleCustomLayout; else if ("body" !== cellLocation) {
|
|
81
81
|
const define = scene.table.getHeaderDefine(col, row);
|
|
82
82
|
customRender = null == define ? void 0 : define.headerCustomRender, customLayout = null == define ? void 0 : define.headerCustomLayout;
|
|
83
83
|
} else {
|
|
@@ -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 ?? 'text'\n : scene.table.getBodyColumnType(col, row) ?? 'text';\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(cell, distHeight, detaY, scene.table.isAutoRowHeight(row), true, scene.table);\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.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 // getQuadProps(style.padding as number),\n // style.textAlign,\n // style.textBaseline,\n // scene.table\n // );\n // }\n updateMergeCellContentHeight(cell, distHeight, detaY, scene.table.isAutoRowHeight(row), renderDefault, scene.table);\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 if (singleCellGroup.role !== 'cell') {\n continue;\n }\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 const padding = getQuadProps(getProp('padding', style, col, row, table));\n updateCellContentHeight(\n singleCellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n padding,\n style.textAlign,\n style.textBaseline,\n table\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 const padding = getQuadProps(getProp('padding', style, cellGroup.col, cellGroup.row, table));\n updateCellContentHeight(\n cellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n padding,\n style.textAlign,\n style.textBaseline,\n table\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/layout/update-height.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,GAAW,EAAE,KAAa,EAAE,kBAA4B;IAEzG,IAAI,CAAC,kBAAkB,IAAI,KAAK,EAAE;QAChC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;KAC7E;IAED,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,SAAS;SACV;QACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;YAC5C,SAAS;SACV;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAGrC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAErG,KAAK,CAAC,4BAA4B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KAC9C;IAED,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE;QAKpC,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;KACzC;SAAM,IAAI,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE;QACzE,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;KACnC;SAAM;QACL,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC;QAEnB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC;KACpG;IAGD,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAClE,KAAK,IAAI,QAAQ,GAAG,QAAQ,EAAE,QAAQ,IAAI,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE;gBAC7B,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;aAC5D;SACF;KACF;AACH,CAAC;AAMD,MAAM,UAAU,sBAAsB,CACpC,KAAiB,EACjB,IAAW,EACX,GAAW,EACX,GAAW,EACX,MAAc,EACd,KAAa,EACb,QAAiB;IAIjB,MAAM,SAAS,GAAG,IAAI,CAAC;IACvB,MAAM,UAAU,GAAG,MAAM,CAAC;IAE1B,IAAI,CAAC,SAAS,EAAE;QAEd,OAAO;KACR;IAED,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAiB,EACjB,IAAW,EACX,GAAW,EACX,GAAW,EACX,MAAc,EACd,KAAa,EACb,QAAiB;IAGjB,MAAM,SAAS,GAAG,IAAI,CAAC;IACvB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAiB,EACjB,IAAW,EACX,GAAW,EACX,GAAW,EACX,UAAkB,EAClB,KAAa,EACb,QAAiB;;IAEjB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;QAClE,OAAO;KACR;IACD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAE9B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,0CAAE,WAAW,CAAC;IAC1E,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7D,MAAM,IAAI,GACR,aAAa,IAAI,aAAa;QAC5B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;YAChC,CAAC,CAAC,MAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAgB,CAAC,UAAU,mCAAI,MAAM;YAChF,CAAC,CAAC,MAAA,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,mCAAI,MAAM,CAAC;IACxD,IAAI,IAAI,KAAK,aAAa,EAAE;QAE1B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAiC,CAAC;QAC/F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAqB,CAAC;QACtE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAG/E,IAAI,KAAK,CAAC;QACV,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,EAAE;YAC3B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SAC5C;QAED,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAA0B,CAAC;QACpG,MAAM,UAAU,GAAG,qBAAqB,CACtC,YAAY,EACZ,KAAK,EACL,IAAI,CAAC,SAAS,CAAC,KAAK,EAEpB,KAAK,EACL,SAAS,EACT,GAAG,EACH,GAAG,EACH,OAAO,EACP,KAAK,CAAC,KAAK,EACX,KAAK,CACN,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAU,CAAC;QAEhE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7B,UAAU,CAAC,cAAc,EAAE,CAAC;QAC5B,UAAU,CAAC,OAAO,EAAE,CAAC;QAGrB,4BAA4B,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;KAC5G;SAAM,IAAI,IAAI,KAAK,WAAW,EAAE;QAE/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACrF,MAAM,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAA6B,CAAC;QAC7G,wBAAwB,CACtB,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CAAC,CAAC,EAChB,IAAI,CAAC,SAAS,CAAC,CAAC,EAChB,GAAG,EACH,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB,IAAI,CAAC,SAAS,CAAC,MAAM,EACrB,OAAO,EACP,KAAK,CAAC,KAAK,EACX,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,KAAK,EAChE,KAAK,CACN,CAAC;KACH;SAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE;QAC/C,iCAAiC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;KAC1E;SAAM,IAAI,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,MAAK,MAAM,EAAE;QAC3C,MAAC,IAAI,CAAC,UAAkB,0CAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KAC1F;SAAM;QACL,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,MAAM,eAAe,GAClB,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAW;YACpD,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAW,CAAC;QAC9D,IAAI,eAAe,EAAE;YAKnB,IAAI,mBAAmB,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAElC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/E,IAAI,gBAAgB,EAAE;gBACpB,KAAK,IAAI,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;oBAChG,IAAI,QAAQ,KAAK,GAAG,EAAE;wBACpB,SAAS;qBACV;oBACD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAChD,MAAM,eAAe,GAClB,UAAU,CAAC,cAAc,CAAC,qBAAqB,CAAW;wBAC1D,UAAU,CAAC,cAAc,CAAC,2BAA2B,CAAW,CAAC;oBACpE,eAAe,CAAC,cAAc,EAAE,CAAC;oBACjC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;oBACxC,wBAAwB,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;iBAClE;aACF;iBAAM;gBACL,IAAI,YAAY,CAAC;gBACjB,IAAI,YAAY,CAAC;gBACjB,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3D,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;gBAErE,IAAI,WAAW,IAAK,KAAK,CAAC,KAAK,CAAC,aAAoC,CAAC,sBAAsB,EAAE;oBAC3F,YAAY,GAAI,KAAK,CAAC,KAAK,CAAC,aAAoC,CAAC,sBAAsB,CAAC;iBACzF;qBAAM,IAAI,YAAY,KAAK,MAAM,EAAE;oBAClC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACrD,YAAY,GAAI,MAAuB,aAAvB,MAAM,uBAAN,MAAM,CAAmB,kBAAkB,CAAC;oBAC5D,YAAY,GAAI,MAAuB,aAAvB,MAAM,uBAAN,MAAM,CAAmB,kBAAkB,CAAC;iBAC7D;qBAAM;oBACL,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACzD,YAAY,GAAG,CAAC,MAAuB,aAAvB,MAAM,uBAAN,MAAM,CAAmB,YAAY,KAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;oBAClF,YAAY,GAAI,MAAuB,aAAvB,MAAM,uBAAN,MAAM,CAAmB,YAAY,CAAC;iBACvD;gBAED,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;oBAC5D,KAAK,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE;wBAChF,KAAK,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE;4BAChF,IAAI,QAAQ,KAAK,GAAG,EAAE;gCACpB,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;6BAC7C;yBACF;qBACF;iBACF;gBAED,IAAI,YAAY,IAAI,YAAY,EAAE;oBAEhC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAqB,CAAC;oBACtE,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC/E,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACjC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBACnC,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;wBAC1B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;wBACvE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;qBAC1E;oBACD,MAAM,YAAY,GAAG,cAAc,CACjC,YAAY,EACZ,YAAY,EACZ,GAAG,EACH,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EAChC,OAAO,EACP,gBAAgB,CAAC,IAAI,CAAC;wBACpB,CAAC,CAAC;4BACE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE;4BAC3D,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE;yBACtD;wBACH,CAAC,CAAC,SAAS,EACb,KAAK,CAAC,KAAK,CACZ,CAAC;oBACF,mBAAmB,GAAG,YAAY,CAAC,aAAa,CAAC;oBACjD,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;iBAC5C;gBAED,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,mBAAmB,EAAE;oBACjD,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;iBACzD;qBAAM,IAAI,mBAAmB,EAAE;oBAC9B,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;iBACvC;aACF;SACF;QAeD,4BAA4B,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;KACrH;AACH,CAAC;AAED,SAAS,4BAA4B,CACnC,SAAgB,EAChB,UAAkB,EAClB,KAAa,EACb,aAAsB,EACtB,aAAsB,EACtB,KAAmB;IAEnB,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;QAC/B,UAAU,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,GAAG,GAAG,SAAS,CAAC,aAAa,EAAE,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;YAC3E,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SACvC;QACD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9F,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;YAC7C,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3D,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM,EAAE;oBACnC,SAAS;iBACV;gBACD,eAAe,CAAC,eAAe,CAAC,CAAC,KAAe,EAAE,EAAE;oBAClD,KAAK,CAAC,aAAa,CAAC;wBAClB,EAAE,EAAE,CAAC;wBACL,EAAE,EAAE,CAAC;qBACN,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,aAAa,EAAE;oBACjB,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACtD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;oBACzE,uBAAuB,CACrB,eAAe,EACf,UAAU,EACV,KAAK,EACL,aAAa,EACb,OAAO,EACP,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,EAClB,KAAK,CACN,CAAC;iBACH;gBAED,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAG1C,eAAe,CAAC,aAAa,GAAG,UAAU,CAAC;gBAE3C,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CACrC,eAAe,EACf,UAAU,EACV,WAAW,EACX;oBACE,KAAK,EAAE;wBACL,GAAG,EAAE,SAAS,CAAC,aAAa;wBAC5B,GAAG,EAAE,SAAS,CAAC,aAAa;qBAC7B;oBACD,GAAG,EAAE;wBACH,GAAG,EAAE,SAAS,CAAC,WAAW;wBAC1B,GAAG,EAAE,SAAS,CAAC,WAAW;qBAC3B;iBACF,EACD,KAAK,CACN,CAAC;gBAEF,IAAI,WAAW,EAAE;oBACf,eAAe,CAAC,eAAe,GAAG,IAAI,CAAC;iBACxC;aACF;SACF;KACF;SAAM;QACL,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7F,uBAAuB,CACrB,SAAS,EACT,UAAU,EACV,KAAK,EACL,aAAa,EACb,OAAO,EACP,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,EAClB,KAAK,CACN,CAAC;KACH;AACH,CAAC","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, ListTableProtected } 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 && detaY) {\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 ?? 'text'\n : scene.table.getBodyColumnType(col, row) ?? 'text';\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(cell, distHeight, detaY, scene.table.isAutoRowHeight(row), true, scene.table);\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.internalProps as ListTableProtected).groupTitleCustomLayout) {\n customLayout = (scene.table.internalProps as ListTableProtected).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.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 // getQuadProps(style.padding as number),\n // style.textAlign,\n // style.textBaseline,\n // scene.table\n // );\n // }\n updateMergeCellContentHeight(cell, distHeight, detaY, scene.table.isAutoRowHeight(row), renderDefault, scene.table);\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 if (singleCellGroup.role !== 'cell') {\n continue;\n }\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 const padding = getQuadProps(getProp('padding', style, col, row, table));\n updateCellContentHeight(\n singleCellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n padding,\n style.textAlign,\n style.textBaseline,\n table\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 const padding = getQuadProps(getProp('padding', style, cellGroup.col, cellGroup.row, table));\n updateCellContentHeight(\n cellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n padding,\n style.textAlign,\n style.textBaseline,\n table\n );\n }\n}\n"]}
|
|
@@ -149,7 +149,7 @@ function updateCellWidth(scene, cell, col, row, oldWidth, distWidth, detaX, isHe
|
|
|
149
149
|
} else {
|
|
150
150
|
let customRender, customLayout;
|
|
151
151
|
const cellType = scene.table.getCellLocation(col, row), {vtableMerge: vtableMerge} = scene.table.getCellRawRecord(col, row) || {};
|
|
152
|
-
if (vtableMerge && scene.table.
|
|
152
|
+
if (vtableMerge && scene.table.internalProps.groupTitleCustomLayout) customLayout = scene.table.internalProps.groupTitleCustomLayout; else if ("body" !== cellType) {
|
|
153
153
|
const define = scene.table.getHeaderDefine(col, row);
|
|
154
154
|
customRender = null == define ? void 0 : define.headerCustomRender, customLayout = null == define ? void 0 : define.headerCustomLayout;
|
|
155
155
|
} else {
|