@visactor/vtable 1.6.3-alpha.2 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/ListTable.js +11 -7
- package/cjs/ListTable.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +1 -1
- package/cjs/core/BaseTable.js +4 -3
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/record-helper.js +1 -1
- package/cjs/core/record-helper.js.map +1 -1
- package/cjs/dataset/dataset-pivot-table.js +1 -0
- package/cjs/dataset/dataset-pivot-table.js.map +1 -1
- package/cjs/dataset/dataset.js +2 -0
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/event/event.js +1 -1
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/container-dom.js +0 -4
- package/cjs/event/listener/container-dom.js.map +1 -1
- package/cjs/event/listener/table-group.js +30 -25
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/event/media-click.js +2 -1
- package/cjs/event/media-click.js.map +1 -1
- package/cjs/event/scroll.d.ts +2 -1
- package/cjs/event/scroll.js +2 -2
- package/cjs/event/scroll.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/pivot-header-layout.js +17 -7
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/simple-header-layout.js +16 -4
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/layout/tree-helper.js +45 -20
- package/cjs/layout/tree-helper.js.map +1 -1
- package/cjs/scenegraph/component/table-component.d.ts +1 -0
- package/cjs/scenegraph/component/table-component.js +24 -22
- package/cjs/scenegraph/component/table-component.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +4 -3
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.d.ts +2 -2
- package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +3 -2
- package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js +2 -2
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +6 -3
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.js +7 -2
- 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/state/cell-move/index.d.ts +1 -1
- package/cjs/state/cell-move/index.js +10 -5
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/state/state.d.ts +5 -5
- package/cjs/state/state.js +8 -4
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/theme.js +12 -0
- package/cjs/themes/theme.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +2 -1
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/events.d.ts +1 -0
- package/cjs/ts-types/events.js.map +1 -1
- package/cjs/ts-types/list-table/define/Composite-define.d.ts +2 -0
- package/cjs/ts-types/list-table/define/Composite-define.js.map +1 -1
- package/cjs/ts-types/list-table/define/link-define.d.ts +4 -0
- package/cjs/ts-types/list-table/define/link-define.js.map +1 -1
- package/cjs/ts-types/pivot-table/dimension/link-dimension.d.ts +2 -0
- package/cjs/ts-types/pivot-table/dimension/link-dimension.js.map +1 -1
- package/cjs/ts-types/pivot-table/indicator/composite-indicator.d.ts +2 -0
- package/cjs/ts-types/pivot-table/indicator/composite-indicator.js.map +1 -1
- package/cjs/ts-types/pivot-table/indicator/link-indicator.d.ts +4 -0
- package/cjs/ts-types/pivot-table/indicator/link-indicator.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +1 -0
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/ts-types/theme.d.ts +3 -0
- package/cjs/ts-types/theme.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +361 -213
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +10 -6
- package/es/ListTable.js.map +1 -1
- package/es/core/BaseTable.d.ts +1 -1
- package/es/core/BaseTable.js +4 -3
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/record-helper.js +1 -1
- package/es/core/record-helper.js.map +1 -1
- package/es/dataset/dataset-pivot-table.js +1 -0
- package/es/dataset/dataset-pivot-table.js.map +1 -1
- package/es/dataset/dataset.js +2 -0
- package/es/dataset/dataset.js.map +1 -1
- package/es/event/event.js +1 -1
- package/es/event/event.js.map +1 -1
- package/es/event/listener/container-dom.js +0 -3
- package/es/event/listener/container-dom.js.map +1 -1
- package/es/event/listener/table-group.js +30 -24
- package/es/event/listener/table-group.js.map +1 -1
- package/es/event/media-click.js +2 -1
- package/es/event/media-click.js.map +1 -1
- package/es/event/scroll.d.ts +2 -1
- package/es/event/scroll.js +2 -2
- package/es/event/scroll.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/pivot-header-layout.js +17 -7
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/simple-header-layout.js +16 -4
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/layout/tree-helper.js +45 -20
- package/es/layout/tree-helper.js.map +1 -1
- package/es/scenegraph/component/table-component.d.ts +1 -0
- package/es/scenegraph/component/table-component.js +24 -22
- package/es/scenegraph/component/table-component.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +4 -3
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/progress-bar-cell.d.ts +2 -2
- package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +3 -2
- package/es/scenegraph/group-creater/cell-type/progress-bar-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/layout/update-height.js +6 -3
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-width.js +7 -2
- 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/state/cell-move/index.d.ts +1 -1
- package/es/state/cell-move/index.js +10 -5
- package/es/state/cell-move/index.js.map +1 -1
- package/es/state/state.d.ts +5 -5
- package/es/state/state.js +8 -4
- package/es/state/state.js.map +1 -1
- package/es/themes/theme.js +12 -0
- package/es/themes/theme.js.map +1 -1
- package/es/ts-types/base-table.d.ts +2 -1
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/events.d.ts +1 -0
- package/es/ts-types/events.js.map +1 -1
- package/es/ts-types/list-table/define/Composite-define.d.ts +2 -0
- package/es/ts-types/list-table/define/Composite-define.js.map +1 -1
- package/es/ts-types/list-table/define/link-define.d.ts +4 -0
- package/es/ts-types/list-table/define/link-define.js.map +1 -1
- package/es/ts-types/pivot-table/dimension/link-dimension.d.ts +2 -0
- package/es/ts-types/pivot-table/dimension/link-dimension.js.map +1 -1
- package/es/ts-types/pivot-table/indicator/composite-indicator.d.ts +2 -0
- package/es/ts-types/pivot-table/indicator/composite-indicator.js.map +1 -1
- package/es/ts-types/pivot-table/indicator/link-indicator.d.ts +4 -0
- package/es/ts-types/pivot-table/indicator/link-indicator.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +1 -0
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/ts-types/theme.d.ts +3 -0
- package/es/ts-types/theme.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/group-creater/cell-type/progress-bar-cell.ts"],"names":[],"mappings":"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","file":"progress-bar-cell.js","sourcesContent":["import { createRect, createLine } from './../../../vrender';\nimport type { ProgressBarStyle } from '../../../body-helper/style/ProgressBarStyle';\nimport { str, getOrApply } from '../../../tools/helper';\nimport { Group } from '../../graphic/group';\nimport { getProp } from '../../utils/get-prop';\nimport { getQuadProps } from '../../utils/padding';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\nimport { isNumber } from '@visactor/vutils';\nimport type { StylePropertyFunctionArg } from '../../../ts-types';\n\nexport function createProgressBarCell(\n progressBarDefine: {\n min?: number | ((args: StylePropertyFunctionArg) => number);\n max?: number | ((args: StylePropertyFunctionArg) => number);\n barType?: 'default' | 'negative' | 'negative_no_axis'; // 进度图类型\n dependField?: string; // 指定其他列数据(风神使用),\n },\n style: ProgressBarStyle,\n width: number,\n // height: number,\n value: string,\n dataValue: string,\n col: number,\n row: number,\n padding: [number, number, number, number],\n table: BaseTableAPI\n) {\n if (progressBarDefine.dependField) {\n dataValue = (table.getCellOriginRecord(col, row) as any)?.[progressBarDefine.dependField] ?? dataValue;\n }\n\n progressBarDefine.barType = progressBarDefine.barType ?? 'default';\n progressBarDefine.min =\n getOrApply(progressBarDefine.min, {\n col,\n row,\n table,\n value,\n dataValue,\n cellHeaderPaths: undefined\n }) ?? 0;\n progressBarDefine.max =\n getOrApply(progressBarDefine.max, {\n col,\n row,\n table,\n value,\n dataValue,\n cellHeaderPaths: undefined\n }) ?? progressBarDefine.min + 100;\n const height = table.getRowHeight(row);\n let contentWidth = width;\n let contentHeight = height;\n let _contentOffset = 0;\n if (isNumber(table.theme._contentOffset)) {\n _contentOffset = table.theme._contentOffset;\n }\n const percentCompleteBarGroup = new Group({\n x: -_contentOffset,\n y: -_contentOffset,\n width: contentWidth,\n height: contentHeight\n });\n percentCompleteBarGroup.name = 'progress-bar';\n\n const {\n showBar,\n barColor,\n barBgColor,\n // bgColor,\n barPositiveColor,\n barNegativeColor,\n barAxisColor,\n barRightToLeft,\n showBarMark,\n barMarkPositiveColor,\n barMarkNegativeColor,\n barMarkWidth,\n barMarkPosition\n } = style;\n let { barHeight, barBottom, barPadding } = style;\n // const { col, row, dataValue: originalValue } = context;\n\n // 完善四元组\n if (barPadding.length === 1) {\n barPadding = [barPadding[0], barPadding[0], barPadding[0], barPadding[0]];\n } else if (barPadding.length === 2) {\n barPadding = [barPadding[0], barPadding[1], barPadding[0], barPadding[1]];\n } else if (barPadding.length === 3) {\n barPadding = [barPadding[0], barPadding[1], barPadding[2], barPadding[1]];\n }\n\n // 将百分比值转换为数值\n barPadding = barPadding.map((v, i) => {\n if (typeof v === 'string' && str.endsWith(v, '%')) {\n const num = Number(v.substr(0, v.length - 1));\n if (i === 0 || i === 2) {\n return (height * num) / 100;\n }\n return (width * num) / 100;\n }\n return Number(v);\n });\n\n const borderWidth = getQuadProps(getProp('borderLineWidth', style, col, row, table));\n const barPaddingTop = Math.max((barPadding as number[])[0], Math.ceil(borderWidth[0] / 2));\n const barPaddingRight = Math.max((barPadding as number[])[1], Math.floor(borderWidth[1] / 2));\n const barPaddingBottom = Math.max((barPadding as number[])[2], Math.floor(borderWidth[2] / 2));\n const barPaddingLeft = Math.max((barPadding as number[])[3], Math.ceil(borderWidth[3] / 2));\n\n contentWidth -= barPaddingRight + barPaddingLeft;\n contentHeight -= barPaddingBottom + barPaddingTop;\n if (row === table.rowCount - 1 && [0, '0'].includes(barBottom)) {\n // 单元格边框在表格边界会向内缩进1px,为了避免进度图矩形覆盖边框,这里在最后一行向内缩进1px\n // 详见 packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw()\n contentHeight -= 1;\n }\n\n // if (barPaddingTop & 1) {\n // // barPaddingTop += 0.5;\n // contentWidth += borderWidth[0];\n // }\n // if (barPaddingLeft & 1) {\n // // barPaddingLeft += 0.5;\n // contentHeight += borderWidth[0];\n // }\n\n const top = barPaddingTop;\n const left = barPaddingLeft;\n const right = contentWidth;\n const bottom = contentHeight;\n\n if (typeof barHeight === 'string' && str.endsWith(barHeight, '%')) {\n barHeight = Number(barHeight.substr(0, barHeight.length - 1));\n barHeight = (contentHeight * barHeight) / 100;\n } else {\n barHeight = Number(barHeight);\n }\n if (typeof barBottom === 'string' && str.endsWith(barBottom, '%')) {\n barBottom = Number(barBottom.substr(0, barBottom.length - 1));\n barBottom = (contentHeight * barBottom) / 100;\n } else {\n barBottom = Number(barBottom);\n }\n\n const show = getOrApply(showBar as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue\n });\n\n if (show) {\n let svalue = `${dataValue}`;\n if (str.endsWith(svalue, '%')) {\n svalue = svalue.substr(0, svalue.length - 1);\n }\n const num = Number(svalue);\n if (isNaN(num)) {\n return percentCompleteBarGroup;\n }\n\n if ((progressBarDefine.barType ?? 'default') === 'default') {\n const percentile =\n num < progressBarDefine.min\n ? 0\n : num > progressBarDefine.max\n ? 1\n : (num - progressBarDefine.min) / (progressBarDefine.max - progressBarDefine.min);\n\n const barMaxWidth = contentWidth;\n const barTop = top + contentHeight - (barHeight as number) - (barBottom as number);\n // const barLeft = 0 + barPaddingLeft;\n let barSize = Math.min(barMaxWidth * percentile, barMaxWidth);\n const barLeft = barRightToLeft ? left + right - barSize : left;\n if (col === table.colCount - 1 && percentile === 1 && !barRightToLeft) {\n // 单元格边框在表格边界会向内缩进1px,为了避免进度图矩形覆盖边框,这里在最后一行向内缩进1px\n // 详见 packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw()\n barSize -= 1;\n }\n const bgFillColor = getOrApply(barBgColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n });\n\n if (bgFillColor) {\n const barBack = createRect({\n x: barLeft,\n y: barTop,\n width: barMaxWidth,\n height: barHeight,\n fill: bgFillColor\n });\n percentCompleteBarGroup.addChild(barBack);\n }\n\n const fillColor =\n getOrApply(barColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n }) || '#20a8d8';\n const barMain = createRect({\n x: barLeft,\n y: barTop,\n width: barSize,\n height: barHeight,\n fill: fillColor\n });\n percentCompleteBarGroup.addChild(barMain);\n } else if (progressBarDefine.barType === 'negative') {\n // negative模式参考风神现有数据条样式,显示坐标轴和正负数据条\n // 计算坐标轴位置\n const negativeRange = progressBarDefine.min < 0 ? -progressBarDefine.min : 0;\n const positiveRange = progressBarDefine.max > 0 ? progressBarDefine.max : 0;\n\n const negativeFactor = negativeRange / (negativeRange + positiveRange);\n const positiveFactor = 1 - negativeFactor;\n\n // 计算rate\n const positiveRate = num > 0 ? num / positiveRange : 0;\n const negativeRate = num < 0 ? -num / negativeRange : 0;\n\n // 绘制\n // 绘制背景\n const barMaxWidth = contentWidth;\n const barTop = top + contentHeight - (barHeight as number) - (barBottom as number);\n const barLeft = left;\n const bgFillColor = getOrApply(barBgColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: positiveRate\n });\n if (bgFillColor) {\n const barBack = createRect({\n x: barLeft,\n y: barTop,\n width: barMaxWidth,\n height: barHeight,\n fill: bgFillColor\n });\n percentCompleteBarGroup.addChild(barBack);\n }\n\n // 坐标轴距离左侧边界距离\n const positiveLeft = barRightToLeft ? positiveFactor * barMaxWidth : negativeFactor * barMaxWidth;\n\n // 绘制负值区域\n const barSizeNega = Math.min(barMaxWidth * negativeFactor * negativeRate, barMaxWidth);\n const barRectNega = barRightToLeft\n ? {\n left: barLeft + positiveLeft,\n top: barTop,\n width: barSizeNega,\n height: barHeight as number\n }\n : {\n left: barLeft + positiveLeft - barSizeNega,\n top: barTop,\n width: barSizeNega,\n height: barHeight as number\n };\n const barNagiFillColor =\n getOrApply(barNegativeColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: negativeRate\n }) || '#20a8d8';\n const barNega = createRect({\n x: barRectNega.left,\n y: barRectNega.top,\n width: barRectNega.width,\n height: barRectNega.height,\n fill: barNagiFillColor\n });\n percentCompleteBarGroup.addChild(barNega);\n\n // 绘制正值区域\n let barSizePosi = Math.min(barMaxWidth * positiveFactor * positiveRate, barMaxWidth);\n if (col === table.colCount - 1 && positiveRate === 1 && !barRightToLeft) {\n // 单元格边框在表格边界会向内缩进1px,为了避免进度图矩形覆盖边框,这里在最后一行向内缩进1px\n // 详见 packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw()\n barSizePosi -= 1;\n }\n const barRectPosi = barRightToLeft\n ? {\n left: barLeft + positiveLeft - barSizePosi,\n top: barTop,\n width: barSizePosi,\n height: barHeight as number\n }\n : {\n left: barLeft + positiveLeft,\n top: barTop,\n width: barSizePosi,\n height: barHeight as number\n };\n const barPosiFillColor =\n getOrApply(barPositiveColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: positiveRate\n }) || '#20a8d8';\n const barPosi = createRect({\n x: barRectPosi.left,\n y: barRectPosi.top,\n width: barRectPosi.width,\n height: barRectPosi.height,\n fill: barPosiFillColor\n });\n percentCompleteBarGroup.addChild(barPosi);\n\n // 绘制坐标轴\n const lineLeft = barRightToLeft ? barRectNega.left : barRectPosi.left;\n const lineStrokeColor = getOrApply(barAxisColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: positiveRate\n });\n const line = createLine({\n x: 0,\n y: 0,\n stroke: lineStrokeColor,\n lineWidth: 1,\n lineDash: [2, 2],\n points: [\n { x: lineLeft, y: 0 },\n { x: lineLeft, y: height }\n ]\n });\n percentCompleteBarGroup.addChild(line);\n\n // 绘制mark\n if (showBarMark && (positiveRate || negativeRate)) {\n const lineWidth = barMarkWidth;\n const points = [];\n let barMarkStrokeColor;\n if (positiveRate > 0) {\n barMarkStrokeColor =\n getOrApply(barMarkPositiveColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: positiveRate\n }) || '#20a8d8';\n if (barMarkPosition === 'right') {\n const markLeft = barRightToLeft\n ? barRectPosi.left + barMarkWidth / 2\n : barRectPosi.left + barRectPosi.width - barMarkWidth / 2;\n points.push({ x: markLeft, y: barRectPosi.top });\n points.push({ x: markLeft, y: barRectPosi.top + barRectPosi.height });\n } else if (barMarkPosition === 'bottom') {\n points.push({\n x: barRectPosi.left,\n y: barRectPosi.top + barRectPosi.height - barMarkWidth / 2\n });\n points.push({\n x: barRectPosi.left + barRectPosi.width,\n y: barRectPosi.top + barRectPosi.height - barMarkWidth / 2\n });\n }\n } else if (negativeRate > 0) {\n barMarkStrokeColor =\n getOrApply(barMarkNegativeColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: negativeRate\n }) || '#20a8d8';\n if (barMarkPosition === 'right') {\n const markLeft = barRightToLeft\n ? barRectNega.left + barRectNega.width - barMarkWidth / 2\n : barRectNega.left + barMarkWidth / 2;\n points.push({ x: markLeft, y: barRectNega.top });\n points.push({ x: markLeft, y: barRectNega.top + barRectNega.height });\n } else if (barMarkPosition === 'bottom') {\n points.push({\n x: barRectNega.left,\n y: barRectNega.top + barRectNega.height - barMarkWidth / 2\n });\n points.push({\n x: barRectNega.left + barRectNega.width,\n y: barRectNega.top + barRectNega.height - barMarkWidth / 2\n });\n }\n }\n const barMark = createLine({\n x: 0,\n y: 0,\n stroke: barMarkStrokeColor,\n lineWidth,\n points\n });\n percentCompleteBarGroup.addChild(barMark);\n }\n } else if (progressBarDefine.barType === 'negative_no_axis') {\n // negative_no_axis模式不显示坐标轴,正负数据条同向,区分颜色\n // 计算range\n const _negativeRange = progressBarDefine.min < 0 ? -progressBarDefine.min : 0;\n const _positiveRange = progressBarDefine.max > 0 ? progressBarDefine.max : 0;\n const range = Math.max(_negativeRange, _positiveRange);\n\n // 计算rate\n const percentile = range === 0 ? 0 : Math.abs(num) / range;\n\n // 绘制\n // 绘制背景\n // const barMaxWidth = width - barPaddingLeft - barPaddingRight - 1; /*罫線*/\n const barMaxWidth = contentWidth;\n let barSize = Math.min(barMaxWidth * percentile, barMaxWidth);\n if (col === table.colCount - 1 && percentile === 1 && !barRightToLeft) {\n // 单元格边框在表格边界会向内缩进1px,为了避免进度图矩形覆盖边框,这里在最后一行向内缩进1px\n // 详见 packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw()\n barSize -= 1;\n }\n // const barTop = bottom - barPaddingBottom - (barHeight as number) - (barBottom as number) - 1; /*罫線*/\n const barTop = top + contentHeight - (barHeight as number) - (barBottom as number);\n // const barLeft = barRightToLeft ? right - barPaddingRight - barSize : left + barPaddingLeft;\n const barLeft = barRightToLeft ? left + right - barSize : left;\n\n const bgFillColor = getOrApply(barBgColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n });\n if (bgFillColor) {\n const barBack = createRect({\n x: barLeft,\n y: barTop,\n width: barMaxWidth,\n height: barHeight,\n fill: bgFillColor\n });\n percentCompleteBarGroup.addChild(barBack);\n }\n\n // 绘制bar\n const barRect = {\n left: barLeft,\n top: barTop,\n width: barSize,\n height: barHeight as number\n };\n let barRectFillColor;\n if (num >= 0) {\n barRectFillColor =\n getOrApply(barPositiveColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n percentile,\n dataValue\n }) || '#20a8d8';\n } else {\n barRectFillColor =\n getOrApply(barNegativeColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n }) || '#20a8d8';\n }\n const bar = createRect({\n x: barRect.left,\n y: barRect.top,\n width: barRect.width,\n height: barRect.height,\n fill: barRectFillColor\n });\n percentCompleteBarGroup.addChild(bar);\n\n // 绘制mark\n if (showBarMark && num) {\n const lineWidth = barMarkWidth;\n const points = [];\n let barMarkStrokeColor;\n if (num >= 0) {\n barMarkStrokeColor =\n getOrApply(barMarkPositiveColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n }) || '#20a8d8';\n } else {\n barMarkStrokeColor =\n getOrApply(barMarkNegativeColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n }) || '#20a8d8';\n }\n if (barMarkPosition === 'right') {\n const markLeft = barRightToLeft\n ? barRect.left + barMarkWidth / 2\n : barRect.left + barRect.width - barMarkWidth / 2;\n points.push({ x: markLeft, y: barRect.top });\n points.push({ x: markLeft, y: barRect.top + barRect.height });\n } else if (barMarkPosition === 'bottom') {\n points.push({\n x: barRect.left,\n y: barRect.top + barRect.height - barMarkWidth / 2\n });\n points.push({\n x: barRect.left + barRect.width,\n y: barRect.top + barRect.height - barMarkWidth / 2\n });\n }\n const barMark = createLine({\n x: 0,\n y: 0,\n stroke: barMarkStrokeColor,\n lineWidth,\n points\n });\n percentCompleteBarGroup.addChild(barMark);\n }\n }\n }\n return percentCompleteBarGroup;\n}\n\nexport type CreateProgressBarCell = typeof createProgressBarCell;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/group-creater/cell-type/progress-bar-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,MAAM,UAAU,qBAAqB,CACnC,iBAKC,EACD,KAAuB,EACvB,KAAa,EAEb,KAAa,EACb,SAAiB,EACjB,GAAW,EACX,GAAW,EACX,OAAyC,EACzC,KAAmB,EACnB,KAAiB;;IAEjB,IAAI,iBAAiB,CAAC,WAAW,EAAE;QACjC,SAAS,GAAG,MAAA,MAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAS,0CAAG,iBAAiB,CAAC,WAAW,CAAC,mCAAI,SAAS,CAAC;KACxG;IAED,iBAAiB,CAAC,OAAO,GAAG,MAAA,iBAAiB,CAAC,OAAO,mCAAI,SAAS,CAAC;IACnE,iBAAiB,CAAC,GAAG;QACnB,MAAA,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE;YAChC,GAAG;YACH,GAAG;YACH,KAAK;YACL,KAAK;YACL,SAAS;YACT,eAAe,EAAE,SAAS;SAC3B,CAAC,mCAAI,CAAC,CAAC;IACV,iBAAiB,CAAC,GAAG;QACnB,MAAA,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE;YAChC,GAAG;YACH,GAAG;YACH,KAAK;YACL,KAAK;YACL,SAAS;YACT,eAAe,EAAE,SAAS;SAC3B,CAAC,mCAAI,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;IACpC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,EAAE;QACT,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC9D;SAAM;QACL,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;KAClC;IACD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,aAAa,GAAG,MAAM,CAAC;IAC3B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QACxC,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;KAC7C;IACD,MAAM,uBAAuB,GAAG,IAAI,KAAK,CAAC;QACxC,CAAC,EAAE,CAAC,cAAc;QAClB,CAAC,EAAE,CAAC,cAAc;QAClB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;IACH,uBAAuB,CAAC,IAAI,GAAG,cAAc,CAAC;IAE9C,MAAM,EACJ,OAAO,EACP,QAAQ,EACR,UAAU,EAEV,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EAChB,GAAG,KAAK,CAAC;IACV,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAIjD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3E;SAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAClC,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3E;SAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAClC,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3E;IAGD,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACjD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACtB,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;aAC7B;YACD,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;SAC5B;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAE,UAAuB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAE,UAAuB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAE,UAAuB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAE,UAAuB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE5F,YAAY,IAAI,eAAe,GAAG,cAAc,CAAC;IACjD,aAAa,IAAI,gBAAgB,GAAG,aAAa,CAAC;IAClD,IAAI,GAAG,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAG9D,aAAa,IAAI,CAAC,CAAC;KACpB;IAWD,MAAM,GAAG,GAAG,aAAa,CAAC;IAC1B,MAAM,IAAI,GAAG,cAAc,CAAC;IAC5B,MAAM,KAAK,GAAG,YAAY,CAAC;IAC3B,MAAM,MAAM,GAAG,aAAa,CAAC;IAE7B,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;QACjE,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9D,SAAS,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;KAC/C;SAAM;QACL,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;KAC/B;IACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;QACjE,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9D,SAAS,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;KAC/C;SAAM;QACL,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;KAC/B;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,OAAc,EAAE;QACtC,GAAG;QACH,GAAG;QACH,KAAK;QACL,OAAO,EAAE,IAAI;QACb,KAAK;QACL,SAAS;KACV,CAAC,CAAC;IAEH,IAAI,IAAI,EAAE;QACR,IAAI,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;YAC7B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC9C;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;YACd,OAAO,uBAAuB,CAAC;SAChC;QAED,IAAI,CAAC,MAAA,iBAAiB,CAAC,OAAO,mCAAI,SAAS,CAAC,KAAK,SAAS,EAAE;YAC1D,MAAM,UAAU,GACd,GAAG,GAAG,iBAAiB,CAAC,GAAG;gBACzB,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG;oBAC7B,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAEtF,MAAM,WAAW,GAAG,YAAY,CAAC;YACjC,MAAM,MAAM,GAAG,GAAG,GAAG,aAAa,GAAI,SAAoB,GAAI,SAAoB,CAAC;YAEnF,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,UAAU,EAAE,WAAW,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,IAAI,GAAG,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE;gBAGrE,OAAO,IAAI,CAAC,CAAC;aACd;YACD,MAAM,WAAW,GAAG,UAAU,CAAC,UAAiB,EAAE;gBAChD,GAAG;gBACH,GAAG;gBACH,KAAK;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,SAAS;gBACT,UAAU;aACX,CAAC,CAAC;YAEH,IAAI,WAAW,EAAE;gBACf,MAAM,OAAO,GAAG,UAAU,CAAC;oBACzB,CAAC,EAAE,OAAO;oBACV,CAAC,EAAE,MAAM;oBACT,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,WAAW;iBAClB,CAAC,CAAC;gBACH,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAC3C;YAED,MAAM,SAAS,GACb,UAAU,CAAC,QAAe,EAAE;gBAC1B,GAAG;gBACH,GAAG;gBACH,KAAK;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,SAAS;gBACT,UAAU;aACX,CAAC,IAAI,SAAS,CAAC;YAClB,MAAM,OAAO,GAAG,UAAU,CAAC;gBACzB,CAAC,EAAE,OAAO;gBACV,CAAC,EAAE,MAAM;gBACT,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YACH,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC3C;aAAM,IAAI,iBAAiB,CAAC,OAAO,KAAK,UAAU,EAAE;YAGnD,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5E,MAAM,cAAc,GAAG,aAAa,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC;YACvE,MAAM,cAAc,GAAG,CAAC,GAAG,cAAc,CAAC;YAG1C,MAAM,YAAY,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAIxD,MAAM,WAAW,GAAG,YAAY,CAAC;YACjC,MAAM,MAAM,GAAG,GAAG,GAAG,aAAa,GAAI,SAAoB,GAAI,SAAoB,CAAC;YACnF,MAAM,OAAO,GAAG,IAAI,CAAC;YACrB,MAAM,WAAW,GAAG,UAAU,CAAC,UAAiB,EAAE;gBAChD,GAAG;gBACH,GAAG;gBACH,KAAK;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,SAAS;gBACT,UAAU,EAAE,YAAY;aACzB,CAAC,CAAC;YACH,IAAI,WAAW,EAAE;gBACf,MAAM,OAAO,GAAG,UAAU,CAAC;oBACzB,CAAC,EAAE,OAAO;oBACV,CAAC,EAAE,MAAM;oBACT,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,WAAW;iBAClB,CAAC,CAAC;gBACH,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAC3C;YAGD,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,GAAG,WAAW,CAAC;YAGlG,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,cAAc,GAAG,YAAY,EAAE,WAAW,CAAC,CAAC;YACvF,MAAM,WAAW,GAAG,cAAc;gBAChC,CAAC,CAAC;oBACE,IAAI,EAAE,OAAO,GAAG,YAAY;oBAC5B,GAAG,EAAE,MAAM;oBACX,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,SAAmB;iBAC5B;gBACH,CAAC,CAAC;oBACE,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,WAAW;oBAC1C,GAAG,EAAE,MAAM;oBACX,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,SAAmB;iBAC5B,CAAC;YACN,MAAM,gBAAgB,GACpB,UAAU,CAAC,gBAAuB,EAAE;gBAClC,GAAG;gBACH,GAAG;gBACH,KAAK;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,SAAS;gBACT,UAAU,EAAE,YAAY;aACzB,CAAC,IAAI,SAAS,CAAC;YAClB,MAAM,OAAO,GAAG,UAAU,CAAC;gBACzB,CAAC,EAAE,WAAW,CAAC,IAAI;gBACnB,CAAC,EAAE,WAAW,CAAC,GAAG;gBAClB,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,IAAI,EAAE,gBAAgB;aACvB,CAAC,CAAC;YACH,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAG1C,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,cAAc,GAAG,YAAY,EAAE,WAAW,CAAC,CAAC;YACrF,IAAI,GAAG,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE;gBAGvE,WAAW,IAAI,CAAC,CAAC;aAClB;YACD,MAAM,WAAW,GAAG,cAAc;gBAChC,CAAC,CAAC;oBACE,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,WAAW;oBAC1C,GAAG,EAAE,MAAM;oBACX,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,SAAmB;iBAC5B;gBACH,CAAC,CAAC;oBACE,IAAI,EAAE,OAAO,GAAG,YAAY;oBAC5B,GAAG,EAAE,MAAM;oBACX,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,SAAmB;iBAC5B,CAAC;YACN,MAAM,gBAAgB,GACpB,UAAU,CAAC,gBAAuB,EAAE;gBAClC,GAAG;gBACH,GAAG;gBACH,KAAK;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,SAAS;gBACT,UAAU,EAAE,YAAY;aACzB,CAAC,IAAI,SAAS,CAAC;YAClB,MAAM,OAAO,GAAG,UAAU,CAAC;gBACzB,CAAC,EAAE,WAAW,CAAC,IAAI;gBACnB,CAAC,EAAE,WAAW,CAAC,GAAG;gBAClB,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,IAAI,EAAE,gBAAgB;aACvB,CAAC,CAAC;YACH,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAG1C,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;YACtE,MAAM,eAAe,GAAG,UAAU,CAAC,YAAmB,EAAE;gBACtD,GAAG;gBACH,GAAG;gBACH,KAAK;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,SAAS;gBACT,UAAU,EAAE,YAAY;aACzB,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,UAAU,CAAC;gBACtB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,MAAM,EAAE,eAAe;gBACvB,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChB,MAAM,EAAE;oBACN,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE;oBACrB,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE;iBAC3B;aACF,CAAC,CAAC;YACH,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAGvC,IAAI,WAAW,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,EAAE;gBACjD,MAAM,SAAS,GAAG,YAAY,CAAC;gBAC/B,MAAM,MAAM,GAAG,EAAE,CAAC;gBAClB,IAAI,kBAAkB,CAAC;gBACvB,IAAI,YAAY,GAAG,CAAC,EAAE;oBACpB,kBAAkB;wBAChB,UAAU,CAAC,oBAA2B,EAAE;4BACtC,GAAG;4BACH,GAAG;4BACH,KAAK;4BACL,OAAO,EAAE,IAAI;4BACb,KAAK;4BACL,SAAS;4BACT,UAAU,EAAE,YAAY;yBACzB,CAAC,IAAI,SAAS,CAAC;oBAClB,IAAI,eAAe,KAAK,OAAO,EAAE;wBAC/B,MAAM,QAAQ,GAAG,cAAc;4BAC7B,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,GAAG,CAAC;4BACrC,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,YAAY,GAAG,CAAC,CAAC;wBAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;wBACjD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;qBACvE;yBAAM,IAAI,eAAe,KAAK,QAAQ,EAAE;wBACvC,MAAM,CAAC,IAAI,CAAC;4BACV,CAAC,EAAE,WAAW,CAAC,IAAI;4BACnB,CAAC,EAAE,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC;yBAC3D,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC;4BACV,CAAC,EAAE,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK;4BACvC,CAAC,EAAE,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC;yBAC3D,CAAC,CAAC;qBACJ;iBACF;qBAAM,IAAI,YAAY,GAAG,CAAC,EAAE;oBAC3B,kBAAkB;wBAChB,UAAU,CAAC,oBAA2B,EAAE;4BACtC,GAAG;4BACH,GAAG;4BACH,KAAK;4BACL,OAAO,EAAE,IAAI;4BACb,KAAK;4BACL,SAAS;4BACT,UAAU,EAAE,YAAY;yBACzB,CAAC,IAAI,SAAS,CAAC;oBAClB,IAAI,eAAe,KAAK,OAAO,EAAE;wBAC/B,MAAM,QAAQ,GAAG,cAAc;4BAC7B,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,YAAY,GAAG,CAAC;4BACzD,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,GAAG,CAAC,CAAC;wBACxC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;wBACjD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;qBACvE;yBAAM,IAAI,eAAe,KAAK,QAAQ,EAAE;wBACvC,MAAM,CAAC,IAAI,CAAC;4BACV,CAAC,EAAE,WAAW,CAAC,IAAI;4BACnB,CAAC,EAAE,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC;yBAC3D,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC;4BACV,CAAC,EAAE,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK;4BACvC,CAAC,EAAE,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC;yBAC3D,CAAC,CAAC;qBACJ;iBACF;gBACD,MAAM,OAAO,GAAG,UAAU,CAAC;oBACzB,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,MAAM,EAAE,kBAAkB;oBAC1B,SAAS;oBACT,MAAM;iBACP,CAAC,CAAC;gBACH,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAC3C;SACF;aAAM,IAAI,iBAAiB,CAAC,OAAO,KAAK,kBAAkB,EAAE;YAG3D,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAGvD,MAAM,UAAU,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAK3D,MAAM,WAAW,GAAG,YAAY,CAAC;YACjC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,UAAU,EAAE,WAAW,CAAC,CAAC;YAC9D,IAAI,GAAG,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE;gBAGrE,OAAO,IAAI,CAAC,CAAC;aACd;YAED,MAAM,MAAM,GAAG,GAAG,GAAG,aAAa,GAAI,SAAoB,GAAI,SAAoB,CAAC;YAEnF,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YAE/D,MAAM,WAAW,GAAG,UAAU,CAAC,UAAiB,EAAE;gBAChD,GAAG;gBACH,GAAG;gBACH,KAAK;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,SAAS;gBACT,UAAU;aACX,CAAC,CAAC;YACH,IAAI,WAAW,EAAE;gBACf,MAAM,OAAO,GAAG,UAAU,CAAC;oBACzB,CAAC,EAAE,OAAO;oBACV,CAAC,EAAE,MAAM;oBACT,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,WAAW;iBAClB,CAAC,CAAC;gBACH,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAC3C;YAGD,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,MAAM;gBACX,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,SAAmB;aAC5B,CAAC;YACF,IAAI,gBAAgB,CAAC;YACrB,IAAI,GAAG,IAAI,CAAC,EAAE;gBACZ,gBAAgB;oBACd,UAAU,CAAC,gBAAuB,EAAE;wBAClC,GAAG;wBACH,GAAG;wBACH,KAAK;wBACL,OAAO,EAAE,IAAI;wBACb,KAAK;wBACL,UAAU;wBACV,SAAS;qBACV,CAAC,IAAI,SAAS,CAAC;aACnB;iBAAM;gBACL,gBAAgB;oBACd,UAAU,CAAC,gBAAuB,EAAE;wBAClC,GAAG;wBACH,GAAG;wBACH,KAAK;wBACL,OAAO,EAAE,IAAI;wBACb,KAAK;wBACL,SAAS;wBACT,UAAU;qBACX,CAAC,IAAI,SAAS,CAAC;aACnB;YACD,MAAM,GAAG,GAAG,UAAU,CAAC;gBACrB,CAAC,EAAE,OAAO,CAAC,IAAI;gBACf,CAAC,EAAE,OAAO,CAAC,GAAG;gBACd,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,gBAAgB;aACvB,CAAC,CAAC;YACH,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAGtC,IAAI,WAAW,IAAI,GAAG,EAAE;gBACtB,MAAM,SAAS,GAAG,YAAY,CAAC;gBAC/B,MAAM,MAAM,GAAG,EAAE,CAAC;gBAClB,IAAI,kBAAkB,CAAC;gBACvB,IAAI,GAAG,IAAI,CAAC,EAAE;oBACZ,kBAAkB;wBAChB,UAAU,CAAC,oBAA2B,EAAE;4BACtC,GAAG;4BACH,GAAG;4BACH,KAAK;4BACL,OAAO,EAAE,IAAI;4BACb,KAAK;4BACL,SAAS;4BACT,UAAU;yBACX,CAAC,IAAI,SAAS,CAAC;iBACnB;qBAAM;oBACL,kBAAkB;wBAChB,UAAU,CAAC,oBAA2B,EAAE;4BACtC,GAAG;4BACH,GAAG;4BACH,KAAK;4BACL,OAAO,EAAE,IAAI;4BACb,KAAK;4BACL,SAAS;4BACT,UAAU;yBACX,CAAC,IAAI,SAAS,CAAC;iBACnB;gBACD,IAAI,eAAe,KAAK,OAAO,EAAE;oBAC/B,MAAM,QAAQ,GAAG,cAAc;wBAC7B,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,YAAY,GAAG,CAAC;wBACjC,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,YAAY,GAAG,CAAC,CAAC;oBACpD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;iBAC/D;qBAAM,IAAI,eAAe,KAAK,QAAQ,EAAE;oBACvC,MAAM,CAAC,IAAI,CAAC;wBACV,CAAC,EAAE,OAAO,CAAC,IAAI;wBACf,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC;qBACnD,CAAC,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC;wBACV,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK;wBAC/B,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC;qBACnD,CAAC,CAAC;iBACJ;gBACD,MAAM,OAAO,GAAG,UAAU,CAAC;oBACzB,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,MAAM,EAAE,kBAAkB;oBAC1B,SAAS;oBACT,MAAM;iBACP,CAAC,CAAC;gBACH,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAC3C;SACF;KACF;IACD,OAAO,uBAAuB,CAAC;AACjC,CAAC","file":"progress-bar-cell.js","sourcesContent":["import { createRect, createLine } from './../../../vrender';\nimport type { ProgressBarStyle } from '../../../body-helper/style/ProgressBarStyle';\nimport { str, getOrApply } from '../../../tools/helper';\nimport { Group } from '../../graphic/group';\nimport { getProp } from '../../utils/get-prop';\nimport { getQuadProps } from '../../utils/padding';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\nimport { isNumber } from '@visactor/vutils';\nimport type { CellRange, StylePropertyFunctionArg } from '../../../ts-types';\n\nexport function createProgressBarCell(\n progressBarDefine: {\n min?: number | ((args: StylePropertyFunctionArg) => number);\n max?: number | ((args: StylePropertyFunctionArg) => number);\n barType?: 'default' | 'negative' | 'negative_no_axis'; // 进度图类型\n dependField?: string; // 指定其他列数据(风神使用),\n },\n style: ProgressBarStyle,\n width: number,\n // height: number,\n value: string,\n dataValue: string,\n col: number,\n row: number,\n padding: [number, number, number, number],\n table: BaseTableAPI,\n range?: CellRange\n) {\n if (progressBarDefine.dependField) {\n dataValue = (table.getCellOriginRecord(col, row) as any)?.[progressBarDefine.dependField] ?? dataValue;\n }\n\n progressBarDefine.barType = progressBarDefine.barType ?? 'default';\n progressBarDefine.min =\n getOrApply(progressBarDefine.min, {\n col,\n row,\n table,\n value,\n dataValue,\n cellHeaderPaths: undefined\n }) ?? 0;\n progressBarDefine.max =\n getOrApply(progressBarDefine.max, {\n col,\n row,\n table,\n value,\n dataValue,\n cellHeaderPaths: undefined\n }) ?? progressBarDefine.min + 100;\n let height = 0;\n if (range) {\n height = table.getRowsHeight(range.start.row, range.end.row);\n } else {\n height = table.getRowHeight(row);\n }\n let contentWidth = width;\n let contentHeight = height;\n let _contentOffset = 0;\n if (isNumber(table.theme._contentOffset)) {\n _contentOffset = table.theme._contentOffset;\n }\n const percentCompleteBarGroup = new Group({\n x: -_contentOffset,\n y: -_contentOffset,\n width: contentWidth,\n height: contentHeight\n });\n percentCompleteBarGroup.name = 'progress-bar';\n\n const {\n showBar,\n barColor,\n barBgColor,\n // bgColor,\n barPositiveColor,\n barNegativeColor,\n barAxisColor,\n barRightToLeft,\n showBarMark,\n barMarkPositiveColor,\n barMarkNegativeColor,\n barMarkWidth,\n barMarkPosition\n } = style;\n let { barHeight, barBottom, barPadding } = style;\n // const { col, row, dataValue: originalValue } = context;\n\n // 完善四元组\n if (barPadding.length === 1) {\n barPadding = [barPadding[0], barPadding[0], barPadding[0], barPadding[0]];\n } else if (barPadding.length === 2) {\n barPadding = [barPadding[0], barPadding[1], barPadding[0], barPadding[1]];\n } else if (barPadding.length === 3) {\n barPadding = [barPadding[0], barPadding[1], barPadding[2], barPadding[1]];\n }\n\n // 将百分比值转换为数值\n barPadding = barPadding.map((v, i) => {\n if (typeof v === 'string' && str.endsWith(v, '%')) {\n const num = Number(v.substr(0, v.length - 1));\n if (i === 0 || i === 2) {\n return (height * num) / 100;\n }\n return (width * num) / 100;\n }\n return Number(v);\n });\n\n const borderWidth = getQuadProps(getProp('borderLineWidth', style, col, row, table));\n const barPaddingTop = Math.max((barPadding as number[])[0], Math.ceil(borderWidth[0] / 2));\n const barPaddingRight = Math.max((barPadding as number[])[1], Math.floor(borderWidth[1] / 2));\n const barPaddingBottom = Math.max((barPadding as number[])[2], Math.floor(borderWidth[2] / 2));\n const barPaddingLeft = Math.max((barPadding as number[])[3], Math.ceil(borderWidth[3] / 2));\n\n contentWidth -= barPaddingRight + barPaddingLeft;\n contentHeight -= barPaddingBottom + barPaddingTop;\n if (row === table.rowCount - 1 && [0, '0'].includes(barBottom)) {\n // 单元格边框在表格边界会向内缩进1px,为了避免进度图矩形覆盖边框,这里在最后一行向内缩进1px\n // 详见 packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw()\n contentHeight -= 1;\n }\n\n // if (barPaddingTop & 1) {\n // // barPaddingTop += 0.5;\n // contentWidth += borderWidth[0];\n // }\n // if (barPaddingLeft & 1) {\n // // barPaddingLeft += 0.5;\n // contentHeight += borderWidth[0];\n // }\n\n const top = barPaddingTop;\n const left = barPaddingLeft;\n const right = contentWidth;\n const bottom = contentHeight;\n\n if (typeof barHeight === 'string' && str.endsWith(barHeight, '%')) {\n barHeight = Number(barHeight.substr(0, barHeight.length - 1));\n barHeight = (contentHeight * barHeight) / 100;\n } else {\n barHeight = Number(barHeight);\n }\n if (typeof barBottom === 'string' && str.endsWith(barBottom, '%')) {\n barBottom = Number(barBottom.substr(0, barBottom.length - 1));\n barBottom = (contentHeight * barBottom) / 100;\n } else {\n barBottom = Number(barBottom);\n }\n\n const show = getOrApply(showBar as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue\n });\n\n if (show) {\n let svalue = `${dataValue}`;\n if (str.endsWith(svalue, '%')) {\n svalue = svalue.substr(0, svalue.length - 1);\n }\n const num = Number(svalue);\n if (isNaN(num)) {\n return percentCompleteBarGroup;\n }\n\n if ((progressBarDefine.barType ?? 'default') === 'default') {\n const percentile =\n num < progressBarDefine.min\n ? 0\n : num > progressBarDefine.max\n ? 1\n : (num - progressBarDefine.min) / (progressBarDefine.max - progressBarDefine.min);\n\n const barMaxWidth = contentWidth;\n const barTop = top + contentHeight - (barHeight as number) - (barBottom as number);\n // const barLeft = 0 + barPaddingLeft;\n let barSize = Math.min(barMaxWidth * percentile, barMaxWidth);\n const barLeft = barRightToLeft ? left + right - barSize : left;\n if (col === table.colCount - 1 && percentile === 1 && !barRightToLeft) {\n // 单元格边框在表格边界会向内缩进1px,为了避免进度图矩形覆盖边框,这里在最后一行向内缩进1px\n // 详见 packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw()\n barSize -= 1;\n }\n const bgFillColor = getOrApply(barBgColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n });\n\n if (bgFillColor) {\n const barBack = createRect({\n x: barLeft,\n y: barTop,\n width: barMaxWidth,\n height: barHeight,\n fill: bgFillColor\n });\n percentCompleteBarGroup.addChild(barBack);\n }\n\n const fillColor =\n getOrApply(barColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n }) || '#20a8d8';\n const barMain = createRect({\n x: barLeft,\n y: barTop,\n width: barSize,\n height: barHeight,\n fill: fillColor\n });\n percentCompleteBarGroup.addChild(barMain);\n } else if (progressBarDefine.barType === 'negative') {\n // negative模式参考风神现有数据条样式,显示坐标轴和正负数据条\n // 计算坐标轴位置\n const negativeRange = progressBarDefine.min < 0 ? -progressBarDefine.min : 0;\n const positiveRange = progressBarDefine.max > 0 ? progressBarDefine.max : 0;\n\n const negativeFactor = negativeRange / (negativeRange + positiveRange);\n const positiveFactor = 1 - negativeFactor;\n\n // 计算rate\n const positiveRate = num > 0 ? num / positiveRange : 0;\n const negativeRate = num < 0 ? -num / negativeRange : 0;\n\n // 绘制\n // 绘制背景\n const barMaxWidth = contentWidth;\n const barTop = top + contentHeight - (barHeight as number) - (barBottom as number);\n const barLeft = left;\n const bgFillColor = getOrApply(barBgColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: positiveRate\n });\n if (bgFillColor) {\n const barBack = createRect({\n x: barLeft,\n y: barTop,\n width: barMaxWidth,\n height: barHeight,\n fill: bgFillColor\n });\n percentCompleteBarGroup.addChild(barBack);\n }\n\n // 坐标轴距离左侧边界距离\n const positiveLeft = barRightToLeft ? positiveFactor * barMaxWidth : negativeFactor * barMaxWidth;\n\n // 绘制负值区域\n const barSizeNega = Math.min(barMaxWidth * negativeFactor * negativeRate, barMaxWidth);\n const barRectNega = barRightToLeft\n ? {\n left: barLeft + positiveLeft,\n top: barTop,\n width: barSizeNega,\n height: barHeight as number\n }\n : {\n left: barLeft + positiveLeft - barSizeNega,\n top: barTop,\n width: barSizeNega,\n height: barHeight as number\n };\n const barNagiFillColor =\n getOrApply(barNegativeColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: negativeRate\n }) || '#20a8d8';\n const barNega = createRect({\n x: barRectNega.left,\n y: barRectNega.top,\n width: barRectNega.width,\n height: barRectNega.height,\n fill: barNagiFillColor\n });\n percentCompleteBarGroup.addChild(barNega);\n\n // 绘制正值区域\n let barSizePosi = Math.min(barMaxWidth * positiveFactor * positiveRate, barMaxWidth);\n if (col === table.colCount - 1 && positiveRate === 1 && !barRightToLeft) {\n // 单元格边框在表格边界会向内缩进1px,为了避免进度图矩形覆盖边框,这里在最后一行向内缩进1px\n // 详见 packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw()\n barSizePosi -= 1;\n }\n const barRectPosi = barRightToLeft\n ? {\n left: barLeft + positiveLeft - barSizePosi,\n top: barTop,\n width: barSizePosi,\n height: barHeight as number\n }\n : {\n left: barLeft + positiveLeft,\n top: barTop,\n width: barSizePosi,\n height: barHeight as number\n };\n const barPosiFillColor =\n getOrApply(barPositiveColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: positiveRate\n }) || '#20a8d8';\n const barPosi = createRect({\n x: barRectPosi.left,\n y: barRectPosi.top,\n width: barRectPosi.width,\n height: barRectPosi.height,\n fill: barPosiFillColor\n });\n percentCompleteBarGroup.addChild(barPosi);\n\n // 绘制坐标轴\n const lineLeft = barRightToLeft ? barRectNega.left : barRectPosi.left;\n const lineStrokeColor = getOrApply(barAxisColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: positiveRate\n });\n const line = createLine({\n x: 0,\n y: 0,\n stroke: lineStrokeColor,\n lineWidth: 1,\n lineDash: [2, 2],\n points: [\n { x: lineLeft, y: 0 },\n { x: lineLeft, y: height }\n ]\n });\n percentCompleteBarGroup.addChild(line);\n\n // 绘制mark\n if (showBarMark && (positiveRate || negativeRate)) {\n const lineWidth = barMarkWidth;\n const points = [];\n let barMarkStrokeColor;\n if (positiveRate > 0) {\n barMarkStrokeColor =\n getOrApply(barMarkPositiveColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: positiveRate\n }) || '#20a8d8';\n if (barMarkPosition === 'right') {\n const markLeft = barRightToLeft\n ? barRectPosi.left + barMarkWidth / 2\n : barRectPosi.left + barRectPosi.width - barMarkWidth / 2;\n points.push({ x: markLeft, y: barRectPosi.top });\n points.push({ x: markLeft, y: barRectPosi.top + barRectPosi.height });\n } else if (barMarkPosition === 'bottom') {\n points.push({\n x: barRectPosi.left,\n y: barRectPosi.top + barRectPosi.height - barMarkWidth / 2\n });\n points.push({\n x: barRectPosi.left + barRectPosi.width,\n y: barRectPosi.top + barRectPosi.height - barMarkWidth / 2\n });\n }\n } else if (negativeRate > 0) {\n barMarkStrokeColor =\n getOrApply(barMarkNegativeColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile: negativeRate\n }) || '#20a8d8';\n if (barMarkPosition === 'right') {\n const markLeft = barRightToLeft\n ? barRectNega.left + barRectNega.width - barMarkWidth / 2\n : barRectNega.left + barMarkWidth / 2;\n points.push({ x: markLeft, y: barRectNega.top });\n points.push({ x: markLeft, y: barRectNega.top + barRectNega.height });\n } else if (barMarkPosition === 'bottom') {\n points.push({\n x: barRectNega.left,\n y: barRectNega.top + barRectNega.height - barMarkWidth / 2\n });\n points.push({\n x: barRectNega.left + barRectNega.width,\n y: barRectNega.top + barRectNega.height - barMarkWidth / 2\n });\n }\n }\n const barMark = createLine({\n x: 0,\n y: 0,\n stroke: barMarkStrokeColor,\n lineWidth,\n points\n });\n percentCompleteBarGroup.addChild(barMark);\n }\n } else if (progressBarDefine.barType === 'negative_no_axis') {\n // negative_no_axis模式不显示坐标轴,正负数据条同向,区分颜色\n // 计算range\n const _negativeRange = progressBarDefine.min < 0 ? -progressBarDefine.min : 0;\n const _positiveRange = progressBarDefine.max > 0 ? progressBarDefine.max : 0;\n const range = Math.max(_negativeRange, _positiveRange);\n\n // 计算rate\n const percentile = range === 0 ? 0 : Math.abs(num) / range;\n\n // 绘制\n // 绘制背景\n // const barMaxWidth = width - barPaddingLeft - barPaddingRight - 1; /*罫線*/\n const barMaxWidth = contentWidth;\n let barSize = Math.min(barMaxWidth * percentile, barMaxWidth);\n if (col === table.colCount - 1 && percentile === 1 && !barRightToLeft) {\n // 单元格边框在表格边界会向内缩进1px,为了避免进度图矩形覆盖边框,这里在最后一行向内缩进1px\n // 详见 packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw()\n barSize -= 1;\n }\n // const barTop = bottom - barPaddingBottom - (barHeight as number) - (barBottom as number) - 1; /*罫線*/\n const barTop = top + contentHeight - (barHeight as number) - (barBottom as number);\n // const barLeft = barRightToLeft ? right - barPaddingRight - barSize : left + barPaddingLeft;\n const barLeft = barRightToLeft ? left + right - barSize : left;\n\n const bgFillColor = getOrApply(barBgColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n });\n if (bgFillColor) {\n const barBack = createRect({\n x: barLeft,\n y: barTop,\n width: barMaxWidth,\n height: barHeight,\n fill: bgFillColor\n });\n percentCompleteBarGroup.addChild(barBack);\n }\n\n // 绘制bar\n const barRect = {\n left: barLeft,\n top: barTop,\n width: barSize,\n height: barHeight as number\n };\n let barRectFillColor;\n if (num >= 0) {\n barRectFillColor =\n getOrApply(barPositiveColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n percentile,\n dataValue\n }) || '#20a8d8';\n } else {\n barRectFillColor =\n getOrApply(barNegativeColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n }) || '#20a8d8';\n }\n const bar = createRect({\n x: barRect.left,\n y: barRect.top,\n width: barRect.width,\n height: barRect.height,\n fill: barRectFillColor\n });\n percentCompleteBarGroup.addChild(bar);\n\n // 绘制mark\n if (showBarMark && num) {\n const lineWidth = barMarkWidth;\n const points = [];\n let barMarkStrokeColor;\n if (num >= 0) {\n barMarkStrokeColor =\n getOrApply(barMarkPositiveColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n }) || '#20a8d8';\n } else {\n barMarkStrokeColor =\n getOrApply(barMarkNegativeColor as any, {\n col,\n row,\n table,\n context: null,\n value,\n dataValue,\n percentile\n }) || '#20a8d8';\n }\n if (barMarkPosition === 'right') {\n const markLeft = barRightToLeft\n ? barRect.left + barMarkWidth / 2\n : barRect.left + barRect.width - barMarkWidth / 2;\n points.push({ x: markLeft, y: barRect.top });\n points.push({ x: markLeft, y: barRect.top + barRect.height });\n } else if (barMarkPosition === 'bottom') {\n points.push({\n x: barRect.left,\n y: barRect.top + barRect.height - barMarkWidth / 2\n });\n points.push({\n x: barRect.left + barRect.width,\n y: barRect.top + barRect.height - barMarkWidth / 2\n });\n }\n const barMark = createLine({\n x: 0,\n y: 0,\n stroke: barMarkStrokeColor,\n lineWidth,\n points\n });\n percentCompleteBarGroup.addChild(barMark);\n }\n }\n }\n return percentCompleteBarGroup;\n}\n\nexport type CreateProgressBarCell = typeof createProgressBarCell;\n"]}
|
|
@@ -31,7 +31,7 @@ export function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
let colForDefine = col, rowForDefine = row;
|
|
34
|
-
range && (colForDefine = range.start.col, rowForDefine = range.start.row);
|
|
34
|
+
range && (colForDefine = range.start.col, rowForDefine = range.start.row), ("columnHeader" === cellLocation || "cornerHeader" === cellLocation) && row >= table.columnHeaderLevelCount && (cellLocation = "body");
|
|
35
35
|
const define = "body" !== cellLocation ? table.getHeaderDefine(colForDefine, rowForDefine) : table.getBodyColumnDefine(colForDefine, rowForDefine);
|
|
36
36
|
let mayHaveIcon = "body" !== cellLocation || ((null == define ? void 0 : define.dragOrder) || !!(null == define ? void 0 : define.icon) || !!(null == define ? void 0 : define.tree));
|
|
37
37
|
if (!range && (table.internalProps.enableTreeNodeMerge || "body" !== cellLocation || (null == define ? void 0 : define.mergeCell)) && (range = table.getCellRange(col, row),
|
|
@@ -45,7 +45,7 @@ export function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd
|
|
|
45
45
|
vTableMerge && (mayHaveIcon = !0, table.options.groupTitleCustomLayout && (customResult = dealWithCustom(table.options.groupTitleCustomLayout, void 0, range.start.col, range.start.row, table.getColsWidth(range.start.col, range.end.col), table.getRowsHeight(range.start.row, range.end.row), !1, table.isAutoRowHeight(row), [ 0, 0, 0, 0 ], range, table))),
|
|
46
46
|
vtableMergeName && (value = vtableMergeName);
|
|
47
47
|
}
|
|
48
|
-
const cellStyle = customStyle || table._getCellStyle(col, row), cellTheme = getStyleTheme(cellStyle, table, range ? range.start.col : col, range ? range.start.row : row, getProp).theme;
|
|
48
|
+
const cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row), cellTheme = getStyleTheme(cellStyle, table, range ? range.start.col : col, range ? range.start.row : row, getProp).theme;
|
|
49
49
|
cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table), cellTheme.group.width = colWidth,
|
|
50
50
|
cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight,
|
|
51
51
|
cellTheme._vtable.padding && (padding = cellTheme._vtable.padding), cellTheme.text.textAlign && (textAlign = cellTheme.text.textAlign),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/group-creater/column-helper.ts"],"names":[],"mappings":"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","file":"column-helper.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IThemeSpec } from './../../vrender';\nimport type {\n CellLocation,\n CellRange,\n ColumnDefine,\n IRowSeriesNumber,\n ListTableConstructorOptions,\n TextColumnDefine\n} from '../../ts-types';\nimport { Group } from '../graphic/group';\nimport { getProp, getRawProp } from '../utils/get-prop';\nimport type { MergeMap } from '../scenegraph';\nimport { createCell, dealWithMergeCellSize, resizeCellGroup } from './cell-helper';\nimport type { BaseTableAPI, HeaderData } from '../../ts-types/base-table';\nimport { getCellCornerRadius, getStyleTheme } from '../../core/tableHelper';\nimport { isPromise } from '../../tools/helper';\nimport { dealPromiseData } from '../utils/deal-promise-data';\nimport { dealWithCustom } from '../component/custom';\n/**\n * 创建复合列 同一列支持创建不同类型单元格\n * @param columnGroup 列Group\n * @param col\n * @param colWidth 配置列宽\n * @param rowStart\n * @param rowEnd\n * @param mergeMap merge单元格信息\n * @param defaultRowHeight\n * @param table\n * @param cellLocation\n * @param rowLimit\n * @param customRender\n * @param customLayout\n * @returns\n */\nexport function createComplexColumn(\n columnGroup: Group,\n col: number,\n colWidth: number,\n rowStart: number,\n rowEnd: number,\n mergeMap: MergeMap,\n defaultRowHeight: number | number[],\n table: BaseTableAPI,\n cellLocation: CellLocation,\n rowLimit?: number\n) {\n let padding;\n let textAlign;\n let textBaseline;\n /** useColumnTheme 判断是否可以使用columnTheme */\n // insert cell into column group top\n let y = 0;\n // if (columnGroup.colHeight) {\n // // insert cell into column group bottom\n // y = columnGroup.colHeight;\n // }\n if (columnGroup.lastChild && (columnGroup.lastChild as Group).row === rowStart - 1) {\n y = (columnGroup.lastChild as Group).attribute.y + (columnGroup.lastChild as Group).attribute.height;\n } else if (columnGroup.colHeight) {\n y = columnGroup.colHeight;\n }\n\n for (let j = rowStart; j <= rowEnd; j++) {\n const row = j;\n let value = table.getCellValue(col, row);\n\n // 处理单元格合并\n let cellWidth = colWidth;\n // let cellHeight = table.internalProps.autoRowHeight ? 0 : table.getRowHeight(row);\n let cellHeight = table.getRowHeight(row);\n let range;\n let isMerge;\n let customStyle;\n let customResult;\n if (table.internalProps.customMergeCell) {\n const customMerge = table.getCustomMerge(col, row);\n if (customMerge) {\n const {\n range: customMergeRange,\n text: customMergeText,\n style: customMergeStyle,\n customLayout,\n customRender\n } = customMerge;\n range = customMergeRange;\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n if (isMerge) {\n const needUpdateRange = rowStart > range.start.row;\n const mergeSize = dealMerge(range, mergeMap, table, needUpdateRange);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n value = customMergeText;\n customStyle = customMergeStyle;\n\n if (customLayout || customRender) {\n customResult = dealWithCustom(\n customLayout,\n customRender,\n customMergeRange.start.col,\n customMergeRange.start.row,\n table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col),\n table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row),\n false,\n // table.heightMode === 'autoHeight',\n table.isAutoRowHeight(row),\n [0, 0, 0, 0],\n range,\n table\n );\n }\n }\n }\n\n let colForDefine = col;\n let rowForDefine = row;\n if (range) {\n colForDefine = range.start.col;\n rowForDefine = range.start.row;\n }\n const define =\n cellLocation !== 'body'\n ? table.getHeaderDefine(colForDefine, rowForDefine)\n : table.getBodyColumnDefine(colForDefine, rowForDefine);\n let mayHaveIcon =\n cellLocation !== 'body'\n ? true\n : (define as IRowSeriesNumber)?.dragOrder || !!define?.icon || !!(define as ColumnDefine)?.tree;\n\n if (\n !range &&\n (table.internalProps.enableTreeNodeMerge || cellLocation !== 'body' || (define as TextColumnDefine)?.mergeCell)\n ) {\n // 只有表头或者column配置合并单元格后再进行信息获取\n range = table.getCellRange(col, row);\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n // 所有Merge单元格,只保留左上角一个真实的单元格,其他使用空Group占位\n if (isMerge) {\n const needUpdateRange = rowStart > range.start.row;\n const mergeSize = dealMerge(range, mergeMap, table, needUpdateRange);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n }\n\n if (table.internalProps.enableTreeNodeMerge && isMerge) {\n const { vtableMergeName, vTableMerge } = table.getCellRawRecord(range.start.col, range.start.row);\n if (vTableMerge) {\n mayHaveIcon = true;\n if ((table.options as ListTableConstructorOptions).groupTitleCustomLayout) {\n customResult = dealWithCustom(\n (table.options as ListTableConstructorOptions).groupTitleCustomLayout,\n undefined,\n range.start.col,\n range.start.row,\n table.getColsWidth(range.start.col, range.end.col),\n table.getRowsHeight(range.start.row, range.end.row),\n false,\n table.isAutoRowHeight(row),\n [0, 0, 0, 0],\n range,\n table\n );\n }\n }\n if (vtableMergeName) {\n value = vtableMergeName;\n }\n }\n\n const cellStyle = customStyle || table._getCellStyle(col, row);\n const cellTheme = getStyleTheme(\n cellStyle,\n table,\n range ? range.start.col : col,\n range ? range.start.row : row,\n getProp\n ).theme;\n cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table);\n cellTheme.group.width = colWidth;\n cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight;\n if (cellTheme._vtable.padding) {\n padding = cellTheme._vtable.padding;\n }\n if (cellTheme.text.textAlign) {\n textAlign = cellTheme.text.textAlign;\n }\n if (cellTheme.text.textBaseline) {\n textBaseline = cellTheme.text.textBaseline;\n }\n\n // enable clip body\n if (cellLocation !== 'body' && !cellTheme.group.fill) {\n cellTheme.group.fill = '#fff';\n }\n // margin = getProp('margin', headerStyle, col, 0, table)\n\n const type =\n (table.isHeader(col, row)\n ? (table._getHeaderLayoutMap(col, row) as HeaderData).headerType\n : table.getBodyColumnType(col, row)) || 'text';\n\n // deal with promise data\n if (isPromise(value)) {\n createEmptyCellGroup(col, row, 0, y, cellWidth, cellHeight, columnGroup);\n dealPromiseData(\n value,\n table,\n createCell.bind(\n null,\n type,\n value,\n define,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n )\n );\n columnGroup.updateColumnRowNumber(row);\n const height = table.getRowHeight(row);\n columnGroup.updateColumnHeight(height);\n y += height;\n } else {\n const cellGroup = createCell(\n type,\n value,\n define as ColumnDefine,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n );\n columnGroup.updateColumnRowNumber(row);\n if (isMerge) {\n const rangeHeight = table.getRowHeight(row);\n const rangeWidth = table.getColWidth(col);\n\n const { width: contentWidth } = cellGroup.attribute;\n const { height: contentHeight } = cellGroup.attribute;\n cellGroup.contentWidth = contentWidth;\n cellGroup.contentHeight = contentHeight;\n\n // resizeCellGroup(cellGroup, rangeWidth, rangeHeight, range, table);\n dealWithMergeCellSize(range, contentWidth, contentHeight, padding, textAlign, textBaseline, table);\n columnGroup.updateColumnHeight(rangeHeight);\n y += rangeHeight;\n } else {\n // columnGroup.updateColumnHeight(cellGroup.attribute.height);\n // y += cellGroup.attribute.height;\n columnGroup.updateColumnHeight(cellHeight);\n y += cellHeight;\n }\n }\n if (rowLimit && row > rowLimit) {\n break;\n }\n }\n\n columnGroup.setAttribute('width', colWidth);\n return {\n width: colWidth,\n height: y\n };\n}\n\n/**\n * 获取列分组主题\n * @param col 列索引\n * @param colWidth 列宽\n * @param table 表格实例\n * @returns 列分组主题\n */\nexport function getColumnGroupTheme(\n col: number,\n colWidth: number,\n table: BaseTableAPI\n): { theme: IThemeSpec & { _vtable: any }; hasFunctionPros: boolean } {\n const style = table._getCellStyle(col, table.columnHeaderLevelCount); // to be fixed\n const { theme: columnTheme, hasFunctionPros } = getStyleTheme(\n style,\n table,\n col,\n table.columnHeaderLevelCount,\n getRawProp\n );\n\n // get column header style\n columnTheme.group.width = colWidth;\n columnTheme.group.height = 0;\n return { theme: columnTheme, hasFunctionPros };\n}\n\nfunction dealMerge(range: CellRange, mergeMap: MergeMap, table: BaseTableAPI, forceUpdate: boolean) {\n let cellWidth = 0;\n let cellHeight = 0;\n const mergeResult = mergeMap.get(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`);\n if (!mergeResult || forceUpdate) {\n for (let col = range.start.col; col <= range.end.col; col++) {\n cellWidth += table.getColWidth(col);\n }\n\n // let cellHeight = 0;\n for (let i = range.start.row; i <= range.end.row; i++) {\n cellHeight += table.getRowHeight(i);\n }\n\n mergeMap.set(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`, {\n cellWidth,\n cellHeight\n });\n } else {\n cellWidth = mergeResult.cellWidth;\n cellHeight = mergeResult.cellHeight;\n }\n return {\n cellWidth,\n cellHeight\n };\n}\n\nfunction createEmptyCellGroup(\n col: number,\n row: number,\n x: number,\n y: number,\n width: number,\n height: number,\n columnGroup: Group\n) {\n const cellGroup = new Group({\n x,\n y,\n width,\n height\n });\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup.addChild(cellGroup);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/group-creater/column-helper.ts"],"names":[],"mappings":"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","file":"column-helper.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IThemeSpec } from './../../vrender';\nimport type {\n CellLocation,\n CellRange,\n ColumnDefine,\n IRowSeriesNumber,\n ListTableConstructorOptions,\n TextColumnDefine\n} from '../../ts-types';\nimport { Group } from '../graphic/group';\nimport { getProp, getRawProp } from '../utils/get-prop';\nimport type { MergeMap } from '../scenegraph';\nimport { createCell, dealWithMergeCellSize, resizeCellGroup } from './cell-helper';\nimport type { BaseTableAPI, HeaderData } from '../../ts-types/base-table';\nimport { getCellCornerRadius, getStyleTheme } from '../../core/tableHelper';\nimport { isPromise } from '../../tools/helper';\nimport { dealPromiseData } from '../utils/deal-promise-data';\nimport { dealWithCustom } from '../component/custom';\n/**\n * 创建复合列 同一列支持创建不同类型单元格\n * @param columnGroup 列Group\n * @param col\n * @param colWidth 配置列宽\n * @param rowStart\n * @param rowEnd\n * @param mergeMap merge单元格信息\n * @param defaultRowHeight\n * @param table\n * @param cellLocation\n * @param rowLimit\n * @param customRender\n * @param customLayout\n * @returns\n */\nexport function createComplexColumn(\n columnGroup: Group,\n col: number,\n colWidth: number,\n rowStart: number,\n rowEnd: number,\n mergeMap: MergeMap,\n defaultRowHeight: number | number[],\n table: BaseTableAPI,\n cellLocation: CellLocation,\n rowLimit?: number\n) {\n let padding;\n let textAlign;\n let textBaseline;\n /** useColumnTheme 判断是否可以使用columnTheme */\n // insert cell into column group top\n let y = 0;\n // if (columnGroup.colHeight) {\n // // insert cell into column group bottom\n // y = columnGroup.colHeight;\n // }\n if (columnGroup.lastChild && (columnGroup.lastChild as Group).row === rowStart - 1) {\n y = (columnGroup.lastChild as Group).attribute.y + (columnGroup.lastChild as Group).attribute.height;\n } else if (columnGroup.colHeight) {\n y = columnGroup.colHeight;\n }\n\n for (let j = rowStart; j <= rowEnd; j++) {\n const row = j;\n let value = table.getCellValue(col, row);\n\n // 处理单元格合并\n let cellWidth = colWidth;\n // let cellHeight = table.internalProps.autoRowHeight ? 0 : table.getRowHeight(row);\n let cellHeight = table.getRowHeight(row);\n let range;\n let isMerge;\n let customStyle;\n let customResult;\n if (table.internalProps.customMergeCell) {\n const customMerge = table.getCustomMerge(col, row);\n if (customMerge) {\n const {\n range: customMergeRange,\n text: customMergeText,\n style: customMergeStyle,\n customLayout,\n customRender\n } = customMerge;\n range = customMergeRange;\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n if (isMerge) {\n const needUpdateRange = rowStart > range.start.row;\n const mergeSize = dealMerge(range, mergeMap, table, needUpdateRange);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n value = customMergeText;\n customStyle = customMergeStyle;\n\n if (customLayout || customRender) {\n customResult = dealWithCustom(\n customLayout,\n customRender,\n customMergeRange.start.col,\n customMergeRange.start.row,\n table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col),\n table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row),\n false,\n // table.heightMode === 'autoHeight',\n table.isAutoRowHeight(row),\n [0, 0, 0, 0],\n range,\n table\n );\n }\n }\n }\n\n let colForDefine = col;\n let rowForDefine = row;\n if (range) {\n colForDefine = range.start.col;\n rowForDefine = range.start.row;\n }\n\n // adjust cellLocation for top frozen row\n if ((cellLocation === 'columnHeader' || cellLocation === 'cornerHeader') && row >= table.columnHeaderLevelCount) {\n cellLocation = 'body';\n }\n const define =\n cellLocation !== 'body'\n ? table.getHeaderDefine(colForDefine, rowForDefine)\n : table.getBodyColumnDefine(colForDefine, rowForDefine);\n let mayHaveIcon =\n cellLocation !== 'body'\n ? true\n : (define as IRowSeriesNumber)?.dragOrder || !!define?.icon || !!(define as ColumnDefine)?.tree;\n\n if (\n !range &&\n (table.internalProps.enableTreeNodeMerge || cellLocation !== 'body' || (define as TextColumnDefine)?.mergeCell)\n ) {\n // 只有表头或者column配置合并单元格后再进行信息获取\n range = table.getCellRange(col, row);\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n // 所有Merge单元格,只保留左上角一个真实的单元格,其他使用空Group占位\n if (isMerge) {\n const needUpdateRange = rowStart > range.start.row;\n const mergeSize = dealMerge(range, mergeMap, table, needUpdateRange);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n }\n\n if (table.internalProps.enableTreeNodeMerge && isMerge) {\n const { vtableMergeName, vTableMerge } = table.getCellRawRecord(range.start.col, range.start.row);\n if (vTableMerge) {\n mayHaveIcon = true;\n if ((table.options as ListTableConstructorOptions).groupTitleCustomLayout) {\n customResult = dealWithCustom(\n (table.options as ListTableConstructorOptions).groupTitleCustomLayout,\n undefined,\n range.start.col,\n range.start.row,\n table.getColsWidth(range.start.col, range.end.col),\n table.getRowsHeight(range.start.row, range.end.row),\n false,\n table.isAutoRowHeight(row),\n [0, 0, 0, 0],\n range,\n table\n );\n }\n }\n if (vtableMergeName) {\n value = vtableMergeName;\n }\n }\n\n const cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row);\n const cellTheme = getStyleTheme(\n cellStyle,\n table,\n range ? range.start.col : col,\n range ? range.start.row : row,\n getProp\n ).theme;\n cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table);\n cellTheme.group.width = colWidth;\n cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight;\n if (cellTheme._vtable.padding) {\n padding = cellTheme._vtable.padding;\n }\n if (cellTheme.text.textAlign) {\n textAlign = cellTheme.text.textAlign;\n }\n if (cellTheme.text.textBaseline) {\n textBaseline = cellTheme.text.textBaseline;\n }\n\n // enable clip body\n if (cellLocation !== 'body' && !cellTheme.group.fill) {\n cellTheme.group.fill = '#fff';\n }\n // margin = getProp('margin', headerStyle, col, 0, table)\n\n const type =\n (table.isHeader(col, row)\n ? (table._getHeaderLayoutMap(col, row) as HeaderData).headerType\n : table.getBodyColumnType(col, row)) || 'text';\n\n // deal with promise data\n if (isPromise(value)) {\n createEmptyCellGroup(col, row, 0, y, cellWidth, cellHeight, columnGroup);\n dealPromiseData(\n value,\n table,\n createCell.bind(\n null,\n type,\n value,\n define,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n )\n );\n columnGroup.updateColumnRowNumber(row);\n const height = table.getRowHeight(row);\n columnGroup.updateColumnHeight(height);\n y += height;\n } else {\n const cellGroup = createCell(\n type,\n value,\n define as ColumnDefine,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n );\n columnGroup.updateColumnRowNumber(row);\n if (isMerge) {\n const rangeHeight = table.getRowHeight(row);\n const rangeWidth = table.getColWidth(col);\n\n const { width: contentWidth } = cellGroup.attribute;\n const { height: contentHeight } = cellGroup.attribute;\n cellGroup.contentWidth = contentWidth;\n cellGroup.contentHeight = contentHeight;\n\n // resizeCellGroup(cellGroup, rangeWidth, rangeHeight, range, table);\n dealWithMergeCellSize(range, contentWidth, contentHeight, padding, textAlign, textBaseline, table);\n columnGroup.updateColumnHeight(rangeHeight);\n y += rangeHeight;\n } else {\n // columnGroup.updateColumnHeight(cellGroup.attribute.height);\n // y += cellGroup.attribute.height;\n columnGroup.updateColumnHeight(cellHeight);\n y += cellHeight;\n }\n }\n if (rowLimit && row > rowLimit) {\n break;\n }\n }\n\n columnGroup.setAttribute('width', colWidth);\n return {\n width: colWidth,\n height: y\n };\n}\n\n/**\n * 获取列分组主题\n * @param col 列索引\n * @param colWidth 列宽\n * @param table 表格实例\n * @returns 列分组主题\n */\nexport function getColumnGroupTheme(\n col: number,\n colWidth: number,\n table: BaseTableAPI\n): { theme: IThemeSpec & { _vtable: any }; hasFunctionPros: boolean } {\n const style = table._getCellStyle(col, table.columnHeaderLevelCount); // to be fixed\n const { theme: columnTheme, hasFunctionPros } = getStyleTheme(\n style,\n table,\n col,\n table.columnHeaderLevelCount,\n getRawProp\n );\n\n // get column header style\n columnTheme.group.width = colWidth;\n columnTheme.group.height = 0;\n return { theme: columnTheme, hasFunctionPros };\n}\n\nfunction dealMerge(range: CellRange, mergeMap: MergeMap, table: BaseTableAPI, forceUpdate: boolean) {\n let cellWidth = 0;\n let cellHeight = 0;\n const mergeResult = mergeMap.get(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`);\n if (!mergeResult || forceUpdate) {\n for (let col = range.start.col; col <= range.end.col; col++) {\n cellWidth += table.getColWidth(col);\n }\n\n // let cellHeight = 0;\n for (let i = range.start.row; i <= range.end.row; i++) {\n cellHeight += table.getRowHeight(i);\n }\n\n mergeMap.set(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`, {\n cellWidth,\n cellHeight\n });\n } else {\n cellWidth = mergeResult.cellWidth;\n cellHeight = mergeResult.cellHeight;\n }\n return {\n cellWidth,\n cellHeight\n };\n}\n\nfunction createEmptyCellGroup(\n col: number,\n row: number,\n x: number,\n y: number,\n width: number,\n height: number,\n columnGroup: Group\n) {\n const cellGroup = new Group({\n x,\n y,\n width,\n height\n });\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup.addChild(cellGroup);\n}\n"]}
|
|
@@ -53,9 +53,12 @@ export function updateCellHeight(scene, cell, col, row, distHeight, detaY, isHea
|
|
|
53
53
|
cell.needUpdateHeight = !1, cell.setAttribute("height", distHeight);
|
|
54
54
|
const type = scene.table.isHeader(col, row) ? scene.table._getHeaderLayoutMap(col, row).headerType : scene.table.getBodyColumnType(col, row);
|
|
55
55
|
if ("progressbar" === type) {
|
|
56
|
-
const columnDefine = scene.table.getBodyColumnDefine(col, row), style = scene.table._getCellStyle(col, row), value = scene.table.getCellValue(col, row), dataValue = scene.table.getCellOriginValue(col, row), padding = getQuadProps(getProp("padding", style, col, row, scene.table))
|
|
56
|
+
const columnDefine = scene.table.getBodyColumnDefine(col, row), style = scene.table._getCellStyle(col, row), value = scene.table.getCellValue(col, row), dataValue = scene.table.getCellOriginValue(col, row), padding = getQuadProps(getProp("padding", style, col, row, scene.table));
|
|
57
|
+
let range;
|
|
58
|
+
(null == columnDefine ? void 0 : columnDefine.mergeCell) && (range = scene.table.getCellRange(col, row));
|
|
59
|
+
const newBarCell = Factory.getFunction("createProgressBarCell")(columnDefine, style, cell.attribute.width, value, dataValue, col, row, padding, scene.table, range), oldBarCell = cell.getChildByName("progress-bar");
|
|
57
60
|
cell.insertBefore(newBarCell, oldBarCell), cell.removeChild(oldBarCell), oldBarCell.removeAllChild(),
|
|
58
|
-
oldBarCell.release();
|
|
61
|
+
oldBarCell.release(), updateMergeCellContentHeight(cell, distHeight, detaY, scene.table.isAutoRowHeight(row), !0, scene.table);
|
|
59
62
|
} else if ("sparkline" === type) {
|
|
60
63
|
cell.removeAllChild();
|
|
61
64
|
const headerStyle = scene.table._getCellStyle(col, row), padding = getQuadProps(getProp("padding", headerStyle, col, row, scene.table));
|
|
@@ -121,7 +124,7 @@ function updateMergeCellContentHeight(cellGroup, distHeight, detaY, autoRowHeigh
|
|
|
121
124
|
dy: 0
|
|
122
125
|
});
|
|
123
126
|
})), renderDefault) {
|
|
124
|
-
const style = table._getCellStyle(
|
|
127
|
+
const style = table._getCellStyle(colStart, rowStart);
|
|
125
128
|
updateCellContentHeight(singleCellGroup, distHeight, detaY, autoRowHeight, getQuadProps(style.padding), style.textAlign, style.textBaseline);
|
|
126
129
|
}
|
|
127
130
|
const rangeHeight = table.getRowHeight(row), rangeWidth = table.getColWidth(col);
|
|
@@ -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\n // 更新单元格布局\n const type = scene.table.isHeader(col, row)\n ? (scene.table._getHeaderLayoutMap(col, row) as HeaderData).headerType\n : scene.table.getBodyColumnType(col, row);\n if (type === 'progressbar') {\n // 目前先采用重新生成节点的方案\n const columnDefine = scene.table.getBodyColumnDefine(col, row) as IProgressbarColumnBodyDefine;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const value = scene.table.getCellValue(col, row);\n const dataValue = scene.table.getCellOriginValue(col, row);\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n\n 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 );\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 } else if (type === 'sparkline') {\n // 目前先采用重新生成节点的方案\n cell.removeAllChild();\n const headerStyle = scene.table._getCellStyle(col, row);\n const padding = getQuadProps(getProp('padding', headerStyle, col, row, scene.table));\n const createSparkLineCellGroup = Factory.getFunction('createSparkLineCellGroup') as CreateSparkLineCellGroup;\n createSparkLineCellGroup(\n cell,\n cell.parent,\n cell.attribute.x,\n cell.attribute.y,\n col,\n row,\n cell.attribute.width,\n cell.attribute.height,\n padding,\n scene.table,\n getStyleTheme(headerStyle, scene.table, col, row, getProp).theme,\n false\n );\n } else if (type === 'image' || type === 'video') {\n updateImageCellContentWhileResize(cell, col, row, 0, detaY, scene.table);\n } else if (cell.firstChild?.name === 'axis') {\n (cell.firstChild as any)?.originAxis.resize(cell.attribute.width, cell.attribute.height);\n } else {\n let renderDefault = true;\n const customContainer =\n (cell.getChildByName(CUSTOM_CONTAINER_NAME) as Group) ||\n (cell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME) as Group);\n if (customContainer) {\n if (scene.table.reactCustomLayout) {\n scene.table.reactCustomLayout.removeCustomCell(col, row);\n }\n\n let customElementsGroup;\n customContainer.removeAllChild();\n cell.removeChild(customContainer);\n\n const customMergeRange = getCustomCellMergeCustom(col, row, cell, scene.table);\n if (customMergeRange) {\n for (let mergeRow = customMergeRange.start.row; mergeRow <= customMergeRange.end.row; mergeRow++) {\n if (mergeRow === row) {\n continue;\n }\n const mergedCell = scene.getCell(col, mergeRow);\n const customContainer =\n (mergedCell.getChildByName(CUSTOM_CONTAINER_NAME) as Group) ||\n (mergedCell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME) as Group);\n customContainer.removeAllChild();\n mergedCell.removeChild(customContainer);\n getCustomCellMergeCustom(col, mergeRow, mergedCell, scene.table);\n }\n } else {\n let customRender;\n let customLayout;\n const cellLocation = scene.table.getCellLocation(col, row);\n const { vTableMerge } = scene.table.getCellRawRecord(col, row);\n\n if (vTableMerge && (scene.table.options as ListTableConstructorOptions).groupTitleCustomLayout) {\n customLayout = (scene.table.options as ListTableConstructorOptions).groupTitleCustomLayout;\n } else if (cellLocation !== 'body') {\n const define = scene.table.getHeaderDefine(col, row);\n customRender = (define as ColumnDefine)?.headerCustomRender;\n customLayout = (define as ColumnDefine)?.headerCustomLayout;\n } else {\n const define = scene.table.getBodyColumnDefine(col, row);\n customRender = (define as ColumnDefine)?.customRender || scene.table.customRender;\n customLayout = (define as ColumnDefine)?.customLayout;\n }\n\n if ((customRender || customLayout) && isMergeCellGroup(cell)) {\n for (let mergeCol = cell.mergeStartCol; mergeCol <= cell.mergeEndCol; mergeCol++) {\n for (let mergeRow = cell.mergeStartRow; mergeRow <= cell.mergeEndRow; mergeRow++) {\n if (mergeRow !== row) {\n scene.updateCellContent(mergeCol, mergeRow);\n }\n }\n }\n }\n\n if (customLayout || customRender) {\n // const { autoRowHeight } = table.internalProps;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n let width = cell.attribute.width;\n let height = cell.attribute.height;\n if (isMergeCellGroup(cell)) {\n width = scene.table.getColsWidth(cell.mergeStartCol, cell.mergeEndCol);\n height = scene.table.getRowsHeight(cell.mergeStartRow, cell.mergeEndRow);\n }\n const customResult = dealWithCustom(\n customLayout,\n customRender,\n col,\n row,\n width,\n height,\n false,\n // scene.table.heightMode === 'autoHeight',\n scene.table.isAutoRowHeight(row),\n padding,\n isMergeCellGroup(cell)\n ? {\n start: { col: cell.mergeStartCol, row: cell.mergeStartRow },\n end: { col: cell.mergeEndCol, row: cell.mergeEndRow }\n }\n : undefined,\n scene.table\n );\n customElementsGroup = customResult.elementsGroup;\n renderDefault = customResult.renderDefault;\n }\n\n if (cell.childrenCount > 0 && customElementsGroup) {\n cell.insertBefore(customElementsGroup, cell.firstChild);\n } else if (customElementsGroup) {\n cell.appendChild(customElementsGroup);\n }\n }\n }\n // if (renderDefault) {\n // // 处理文字\n // const style = scene.table._getCellStyle(col, row);\n // updateMergeCellContentHeight(\n // cell,\n // distHeight,\n // detaY,\n // // scene.table.internalProps.autoRowHeight,\n // scene.table.heightMode === 'autoHeight',\n // getQuadProps(style.padding as number),\n // style.textAlign,\n // style.textBaseline,\n // scene.table\n // );\n // }\n updateMergeCellContentHeight(\n cell,\n distHeight,\n detaY,\n // scene.table.heightMode === 'autoHeight',\n scene.table.isAutoRowHeight(row),\n renderDefault,\n scene.table\n );\n }\n}\n\nfunction updateMergeCellContentHeight(\n cellGroup: Group,\n distHeight: number,\n detaY: number,\n autoRowHeight: boolean,\n renderDefault: boolean,\n table: BaseTableAPI\n) {\n if (isMergeCellGroup(cellGroup)) {\n distHeight = 0;\n for (let row = cellGroup.mergeStartRow; row <= cellGroup.mergeEndRow; row++) {\n distHeight += table.getRowHeight(row);\n }\n const { colStart, colEnd, rowStart, rowEnd } = getCellMergeRange(cellGroup, table.scenegraph);\n for (let col = colStart; col <= colEnd; col++) {\n for (let row = rowStart; row <= rowEnd; row++) {\n const singleCellGroup = table.scenegraph.getCell(col, row);\n singleCellGroup.forEachChildren((child: IGraphic) => {\n child.setAttributes({\n dx: 0,\n dy: 0\n });\n });\n\n if (renderDefault) {\n const style = table._getCellStyle(col, row);\n updateCellContentHeight(\n singleCellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline\n );\n }\n\n const rangeHeight = table.getRowHeight(row);\n const rangeWidth = table.getColWidth(col);\n\n // const { height: contentHeight } = cellGroup.attribute;\n singleCellGroup.contentHeight = distHeight;\n\n const { widthChange } = resizeCellGroup(\n singleCellGroup,\n rangeWidth,\n rangeHeight,\n {\n start: {\n col: cellGroup.mergeStartCol,\n row: cellGroup.mergeStartRow\n },\n end: {\n col: cellGroup.mergeEndCol,\n row: cellGroup.mergeEndRow\n }\n },\n table\n );\n\n if (widthChange) {\n singleCellGroup.needUpdateWidth = true;\n }\n }\n }\n } else {\n const style = table._getCellStyle(cellGroup.col, cellGroup.row);\n updateCellContentHeight(\n cellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/layout/update-height.ts"],"names":[],"mappings":"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","file":"update-height.js","sourcesContent":["import type { ProgressBarStyle } from '../../body-helper/style/ProgressBarStyle';\nimport type { Group } from '../graphic/group';\nimport type { CreateProgressBarCell } from '../group-creater/cell-type/progress-bar-cell';\nimport type { CreateSparkLineCellGroup } from '../group-creater/cell-type/spark-line-cell';\nimport type { Scenegraph } from '../scenegraph';\nimport { getCellMergeInfo } from '../utils/get-cell-merge';\nimport { getProp } from '../utils/get-prop';\nimport { getQuadProps } from '../utils/padding';\nimport { updateCellContentHeight } from '../utils/text-icon-layout';\nimport type { IProgressbarColumnBodyDefine } from '../../ts-types/list-table/define/progressbar-define';\nimport { CUSTOM_CONTAINER_NAME, CUSTOM_MERGE_CONTAINER_NAME, dealWithCustom } from '../component/custom';\nimport { updateImageCellContentWhileResize } from '../group-creater/cell-type/image-cell';\nimport { getStyleTheme } from '../../core/tableHelper';\nimport { isMergeCellGroup } from '../utils/is-merge-cell-group';\nimport type { BaseTableAPI, HeaderData } from '../../ts-types/base-table';\nimport { resizeCellGroup, getCustomCellMergeCustom } from '../group-creater/cell-helper';\nimport type { IGraphic } from './../../vrender';\nimport { getCellMergeRange } from '../../tools/merge-range';\nimport type { ColumnDefine, ListTableConstructorOptions } from '../../ts-types';\nimport { Factory } from '../../core/factory';\n\nexport function updateRowHeight(scene: Scenegraph, row: number, detaY: number, skipTableHeightMap?: boolean) {\n // 更新table行高存储\n if (!skipTableHeightMap) {\n scene.table._setRowHeight(row, scene.table.getRowHeight(row) + detaY, true);\n }\n\n for (let col = 0; col < scene.table.colCount; col++) {\n const cell = scene.getCell(col, row);\n if (cell.role === 'empty') {\n continue;\n }\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n if (mergeInfo && mergeInfo.start.col !== col) {\n continue;\n }\n const height = cell.attribute.height;\n // cell.setAttribute('height', height);\n // (cell.firstChild as Rect).setAttribute('height', cell.attribute.height);\n updateCellHeightForRow(scene, cell, col, row, height + detaY, detaY, scene.table.isHeader(col, row));\n\n scene.updateCellContentWhileResize(col, row);\n }\n\n let rowStart = 0;\n let rowEnd = 0;\n // 更新header 高度\n if (row < scene.table.frozenRowCount) {\n // scene.colHeaderGroup.setAttribute('height', scene.colHeaderGroup.attribute.height + detaY);\n // scene.rowHeaderGroup.setAttribute('y', scene.rowHeaderGroup.attribute.y + detaY);\n // scene.bodyGroup.setAttribute('y', scene.bodyGroup.attribute.y + detaY);\n\n rowStart = row + 1;\n rowEnd = scene.table.frozenRowCount - 1;\n } else if (row >= scene.table.rowCount - scene.table.bottomFrozenRowCount) {\n rowStart = row + 1;\n rowEnd = scene.table.rowCount - 1;\n } else {\n rowStart = row + 1;\n // rowEnd = scene.table.rowCount - 1;\n rowEnd = Math.min(scene.proxy.rowEnd, scene.table.rowCount - scene.table.bottomFrozenRowCount - 1); //- scene.table.bottomFrozenRowCount;\n }\n\n // 更新以下行位置\n for (let colIndex = 0; colIndex < scene.table.colCount; colIndex++) {\n for (let rowIndex = rowStart; rowIndex <= rowEnd; rowIndex++) {\n const cellGroup = scene.highPerformanceGetCell(colIndex, rowIndex);\n if (cellGroup.role === 'cell') {\n cellGroup.setAttribute('y', cellGroup.attribute.y + detaY);\n }\n }\n }\n}\n\n/**\n * @description: 更新单个单元格高度\n * @return {*}\n */\nexport function updateCellHeightForRow(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n height: number,\n detaY: number,\n isHeader: boolean\n // autoRowHeight: boolean\n) {\n // cell.setAttribute('height', height);\n const cellGroup = cell;\n const distHeight = height;\n\n if (!cellGroup) {\n // 合并单元格非主单元格,不处理\n return;\n }\n\n updateCellHeight(scene, cellGroup, col, row, distHeight, detaY, isHeader);\n}\n\nexport function updateCellHeightForColumn(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n height: number,\n detaY: number,\n isHeader: boolean\n) {\n // cell.setAttribute('height', height);\n const cellGroup = cell;\n updateCellHeight(scene, cellGroup, col, row, height, 0, isHeader);\n}\n\nexport function updateCellHeight(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n distHeight: number,\n detaY: number,\n isHeader: boolean\n) {\n if (cell.attribute.height === distHeight && !cell.needUpdateHeight) {\n return;\n }\n cell.needUpdateHeight = false;\n\n cell.setAttribute('height', distHeight);\n\n // 更新单元格布局\n const type = scene.table.isHeader(col, row)\n ? (scene.table._getHeaderLayoutMap(col, row) as HeaderData).headerType\n : scene.table.getBodyColumnType(col, row);\n if (type === 'progressbar') {\n // 目前先采用重新生成节点的方案\n const columnDefine = scene.table.getBodyColumnDefine(col, row) as IProgressbarColumnBodyDefine;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const value = scene.table.getCellValue(col, row);\n const dataValue = scene.table.getCellOriginValue(col, row);\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n\n // deal with bar\n let range;\n if (columnDefine?.mergeCell) {\n range = scene.table.getCellRange(col, row);\n }\n\n const createProgressBarCell = Factory.getFunction('createProgressBarCell') as CreateProgressBarCell;\n const newBarCell = createProgressBarCell(\n columnDefine,\n style,\n cell.attribute.width,\n // cell.attribute.height,\n value,\n dataValue,\n col,\n row,\n padding,\n scene.table,\n range\n );\n\n const oldBarCell = cell.getChildByName('progress-bar') as Group;\n // cell.replaceChild(newBarCell, oldBarCell);\n cell.insertBefore(newBarCell, oldBarCell);\n cell.removeChild(oldBarCell);\n oldBarCell.removeAllChild();\n oldBarCell.release();\n\n // deal with text\n updateMergeCellContentHeight(\n cell,\n distHeight,\n detaY,\n // scene.table.heightMode === 'autoHeight',\n scene.table.isAutoRowHeight(row),\n true,\n scene.table\n );\n } else if (type === 'sparkline') {\n // 目前先采用重新生成节点的方案\n cell.removeAllChild();\n const headerStyle = scene.table._getCellStyle(col, row);\n const padding = getQuadProps(getProp('padding', headerStyle, col, row, scene.table));\n const createSparkLineCellGroup = Factory.getFunction('createSparkLineCellGroup') as CreateSparkLineCellGroup;\n createSparkLineCellGroup(\n cell,\n cell.parent,\n cell.attribute.x,\n cell.attribute.y,\n col,\n row,\n cell.attribute.width,\n cell.attribute.height,\n padding,\n scene.table,\n getStyleTheme(headerStyle, scene.table, col, row, getProp).theme,\n false\n );\n } else if (type === 'image' || type === 'video') {\n updateImageCellContentWhileResize(cell, col, row, 0, detaY, scene.table);\n } else if (cell.firstChild?.name === 'axis') {\n (cell.firstChild as any)?.originAxis.resize(cell.attribute.width, cell.attribute.height);\n } else {\n let renderDefault = true;\n const customContainer =\n (cell.getChildByName(CUSTOM_CONTAINER_NAME) as Group) ||\n (cell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME) as Group);\n if (customContainer) {\n if (scene.table.reactCustomLayout) {\n scene.table.reactCustomLayout.removeCustomCell(col, row);\n }\n\n let customElementsGroup;\n customContainer.removeAllChild();\n cell.removeChild(customContainer);\n\n const customMergeRange = getCustomCellMergeCustom(col, row, cell, scene.table);\n if (customMergeRange) {\n for (let mergeRow = customMergeRange.start.row; mergeRow <= customMergeRange.end.row; mergeRow++) {\n if (mergeRow === row) {\n continue;\n }\n const mergedCell = scene.getCell(col, mergeRow);\n const customContainer =\n (mergedCell.getChildByName(CUSTOM_CONTAINER_NAME) as Group) ||\n (mergedCell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME) as Group);\n customContainer.removeAllChild();\n mergedCell.removeChild(customContainer);\n getCustomCellMergeCustom(col, mergeRow, mergedCell, scene.table);\n }\n } else {\n let customRender;\n let customLayout;\n const cellLocation = scene.table.getCellLocation(col, row);\n const { vTableMerge } = scene.table.getCellRawRecord(col, row);\n\n if (vTableMerge && (scene.table.options as ListTableConstructorOptions).groupTitleCustomLayout) {\n customLayout = (scene.table.options as ListTableConstructorOptions).groupTitleCustomLayout;\n } else if (cellLocation !== 'body') {\n const define = scene.table.getHeaderDefine(col, row);\n customRender = (define as ColumnDefine)?.headerCustomRender;\n customLayout = (define as ColumnDefine)?.headerCustomLayout;\n } else {\n const define = scene.table.getBodyColumnDefine(col, row);\n customRender = (define as ColumnDefine)?.customRender || scene.table.customRender;\n customLayout = (define as ColumnDefine)?.customLayout;\n }\n\n if ((customRender || customLayout) && isMergeCellGroup(cell)) {\n for (let mergeCol = cell.mergeStartCol; mergeCol <= cell.mergeEndCol; mergeCol++) {\n for (let mergeRow = cell.mergeStartRow; mergeRow <= cell.mergeEndRow; mergeRow++) {\n if (mergeRow !== row) {\n scene.updateCellContent(mergeCol, mergeRow);\n }\n }\n }\n }\n\n if (customLayout || customRender) {\n // const { autoRowHeight } = table.internalProps;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n let width = cell.attribute.width;\n let height = cell.attribute.height;\n if (isMergeCellGroup(cell)) {\n width = scene.table.getColsWidth(cell.mergeStartCol, cell.mergeEndCol);\n height = scene.table.getRowsHeight(cell.mergeStartRow, cell.mergeEndRow);\n }\n const customResult = dealWithCustom(\n customLayout,\n customRender,\n col,\n row,\n width,\n height,\n false,\n // scene.table.heightMode === 'autoHeight',\n scene.table.isAutoRowHeight(row),\n padding,\n isMergeCellGroup(cell)\n ? {\n start: { col: cell.mergeStartCol, row: cell.mergeStartRow },\n end: { col: cell.mergeEndCol, row: cell.mergeEndRow }\n }\n : undefined,\n scene.table\n );\n customElementsGroup = customResult.elementsGroup;\n renderDefault = customResult.renderDefault;\n }\n\n if (cell.childrenCount > 0 && customElementsGroup) {\n cell.insertBefore(customElementsGroup, cell.firstChild);\n } else if (customElementsGroup) {\n cell.appendChild(customElementsGroup);\n }\n }\n }\n // if (renderDefault) {\n // // 处理文字\n // const style = scene.table._getCellStyle(col, row);\n // updateMergeCellContentHeight(\n // cell,\n // distHeight,\n // detaY,\n // // scene.table.internalProps.autoRowHeight,\n // scene.table.heightMode === 'autoHeight',\n // getQuadProps(style.padding as number),\n // style.textAlign,\n // style.textBaseline,\n // scene.table\n // );\n // }\n updateMergeCellContentHeight(\n cell,\n distHeight,\n detaY,\n // scene.table.heightMode === 'autoHeight',\n scene.table.isAutoRowHeight(row),\n renderDefault,\n scene.table\n );\n }\n}\n\nfunction updateMergeCellContentHeight(\n cellGroup: Group,\n distHeight: number,\n detaY: number,\n autoRowHeight: boolean,\n renderDefault: boolean,\n table: BaseTableAPI\n) {\n if (isMergeCellGroup(cellGroup)) {\n distHeight = 0;\n for (let row = cellGroup.mergeStartRow; row <= cellGroup.mergeEndRow; row++) {\n distHeight += table.getRowHeight(row);\n }\n const { colStart, colEnd, rowStart, rowEnd } = getCellMergeRange(cellGroup, table.scenegraph);\n for (let col = colStart; col <= colEnd; col++) {\n for (let row = rowStart; row <= rowEnd; row++) {\n const singleCellGroup = table.scenegraph.getCell(col, row);\n singleCellGroup.forEachChildren((child: IGraphic) => {\n child.setAttributes({\n dx: 0,\n dy: 0\n });\n });\n\n if (renderDefault) {\n const style = table._getCellStyle(colStart, rowStart);\n updateCellContentHeight(\n singleCellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline\n );\n }\n\n const rangeHeight = table.getRowHeight(row);\n const rangeWidth = table.getColWidth(col);\n\n // const { height: contentHeight } = cellGroup.attribute;\n singleCellGroup.contentHeight = distHeight;\n\n const { widthChange } = resizeCellGroup(\n singleCellGroup,\n rangeWidth,\n rangeHeight,\n {\n start: {\n col: cellGroup.mergeStartCol,\n row: cellGroup.mergeStartRow\n },\n end: {\n col: cellGroup.mergeEndCol,\n row: cellGroup.mergeEndRow\n }\n },\n table\n );\n\n if (widthChange) {\n singleCellGroup.needUpdateWidth = true;\n }\n }\n }\n } else {\n const style = table._getCellStyle(cellGroup.col, cellGroup.row);\n updateCellContentHeight(\n cellGroup,\n distHeight,\n detaY,\n autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline\n );\n }\n}\n"]}
|
|
@@ -117,9 +117,14 @@ function updateCellWidth(scene, cell, col, row, oldWidth, distWidth, detaX, isHe
|
|
|
117
117
|
const autoRowHeight = scene.table.isAutoRowHeight(row), type = scene.table.isHeader(col, row) ? scene.table._getHeaderLayoutMap(col, row).headerType : scene.table.getBodyColumnType(col, row);
|
|
118
118
|
let isHeightChange = !1;
|
|
119
119
|
if ("progressbar" === type) {
|
|
120
|
-
const columnDefine = scene.table.getBodyColumnDefine(col, row), style = scene.table._getCellStyle(col, row), value = scene.table.getCellValue(col, row), dataValue = scene.table.getCellOriginValue(col, row), padding = getQuadProps(getProp("padding", style, col, row, scene.table))
|
|
120
|
+
const columnDefine = scene.table.getBodyColumnDefine(col, row), style = scene.table._getCellStyle(col, row), value = scene.table.getCellValue(col, row), dataValue = scene.table.getCellOriginValue(col, row), padding = getQuadProps(getProp("padding", style, col, row, scene.table));
|
|
121
|
+
let range;
|
|
122
|
+
(null == columnDefine ? void 0 : columnDefine.mergeCell) && (range = scene.table.getCellRange(col, row));
|
|
123
|
+
const newBarCell = Factory.getFunction("createProgressBarCell")(columnDefine, style, cellGroup.attribute.width, value, dataValue, col, row, padding, scene.table, range), oldBarCell = cellGroup.getChildByName("progress-bar");
|
|
121
124
|
cellGroup.insertBefore(newBarCell, oldBarCell), cellGroup.removeChild(oldBarCell),
|
|
122
125
|
oldBarCell.removeAllChild(), oldBarCell.release();
|
|
126
|
+
const cellChange = updateMergeCellContentWidth(cellGroup, distWidth, detaX, autoRowHeight, !0, scene.table);
|
|
127
|
+
isHeightChange = isHeightChange || cellChange;
|
|
123
128
|
} else if ("sparkline" === type) {
|
|
124
129
|
cellGroup.removeAllChild();
|
|
125
130
|
const headerStyle = scene.table._getCellStyle(col, row), padding = getQuadProps(getProp("padding", headerStyle, col, row, scene.table));
|
|
@@ -203,7 +208,7 @@ function updateMergeCellContentWidth(cellGroup, distWidth, detaX, autoRowHeight,
|
|
|
203
208
|
}));
|
|
204
209
|
let changed = !1;
|
|
205
210
|
if (renderDefault) {
|
|
206
|
-
const style = table._getCellStyle(
|
|
211
|
+
const style = table._getCellStyle(colStart, rowStart), padding = getQuadProps(style.padding), textAlign = style.textAlign, textBaseline = style.textBaseline;
|
|
207
212
|
changed = updateCellContentWidth(singleCellGroup, distWidth, cellHeight, detaX, autoRowHeight, padding, textAlign, textBaseline, table.scenegraph);
|
|
208
213
|
const hierarchyOffset = getHierarchyOffset(singleCellGroup.col, singleCellGroup.row, table);
|
|
209
214
|
if (hierarchyOffset) {
|