@visactor/vtable 0.18.4 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/ListTable.d.ts +1 -1
- package/cjs/ListTable.js +7 -5
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotTable.d.ts +2 -2
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +3 -2
- package/cjs/core/BaseTable.js +14 -31
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/edit/edit-manager.d.ts +1 -1
- package/cjs/edit/edit-manager.js +30 -13
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/event.js +2 -2
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/table-group.js +1 -1
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/icons.js +10 -0
- package/cjs/icons.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-layout-helper.d.ts → layout-helper.d.ts} +18 -16
- package/cjs/layout/{pivot-layout-helper.js → layout-helper.js} +33 -16
- package/cjs/layout/layout-helper.js.map +1 -0
- package/cjs/layout/pivot-header-layout.d.ts +4 -4
- package/cjs/layout/pivot-header-layout.js +42 -10
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/row-height-map.d.ts +32 -0
- package/cjs/layout/row-height-map.js +144 -0
- package/cjs/layout/row-height-map.js.map +1 -0
- package/cjs/layout/simple-header-layout.d.ts +2 -0
- package/cjs/layout/simple-header-layout.js +8 -3
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/scenegraph/component/cell-mover.js +3 -5
- package/cjs/scenegraph/component/cell-mover.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/draw-interceptor.d.ts +13 -0
- package/cjs/scenegraph/graphic/contributions/draw-interceptor.js +90 -0
- package/cjs/scenegraph/graphic/contributions/draw-interceptor.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/index.js +4 -2
- package/cjs/scenegraph/graphic/contributions/index.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js +38 -18
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/proxy.js +3 -3
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +3 -3
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js +9 -3
- package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js +14 -4
- package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
- package/cjs/scenegraph/layout/move-cell.js +7 -1
- package/cjs/scenegraph/layout/move-cell.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +2 -2
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-row.js +6 -10
- package/cjs/scenegraph/layout/update-row.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +16 -9
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/stick-text/index.js +5 -5
- package/cjs/scenegraph/stick-text/index.js.map +1 -1
- package/cjs/scenegraph/utils/keep-aspect-ratio.js +5 -4
- package/cjs/scenegraph/utils/keep-aspect-ratio.js.map +1 -1
- package/cjs/state/cell-move/index.js +6 -4
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/state/select/update-position.js +10 -1
- package/cjs/state/select/update-position.js.map +1 -1
- package/cjs/themes/ARCO.js +2 -1
- package/cjs/tools/LimitPromiseQueue.js +1 -1
- package/cjs/tools/util.d.ts +1 -0
- package/cjs/tools/util.js +8 -2
- package/cjs/tools/util.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +5 -3
- package/cjs/ts-types/base-table.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/vrender.js.map +1 -1
- package/dist/vtable.js +1439 -811
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.d.ts +1 -1
- package/es/ListTable.js +5 -4
- package/es/ListTable.js.map +1 -1
- package/es/PivotTable.d.ts +2 -2
- package/es/PivotTable.js.map +1 -1
- package/es/core/BaseTable.d.ts +3 -2
- package/es/core/BaseTable.js +16 -28
- package/es/core/BaseTable.js.map +1 -1
- package/es/edit/edit-manager.d.ts +1 -1
- package/es/edit/edit-manager.js +30 -13
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/event.js +3 -1
- package/es/event/event.js.map +1 -1
- package/es/event/listener/table-group.js +1 -1
- package/es/event/listener/table-group.js.map +1 -1
- package/es/icons.js +10 -0
- package/es/icons.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-layout-helper.d.ts → layout-helper.d.ts} +18 -16
- package/es/layout/{pivot-layout-helper.js → layout-helper.js} +33 -16
- package/es/layout/layout-helper.js.map +1 -0
- package/es/layout/pivot-header-layout.d.ts +4 -4
- package/es/layout/pivot-header-layout.js +34 -2
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/row-height-map.d.ts +32 -0
- package/es/layout/row-height-map.js +136 -0
- package/es/layout/row-height-map.js.map +1 -0
- package/es/layout/simple-header-layout.d.ts +2 -0
- package/es/layout/simple-header-layout.js +9 -2
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/scenegraph/component/cell-mover.js +3 -5
- package/es/scenegraph/component/cell-mover.js.map +1 -1
- package/es/scenegraph/graphic/contributions/draw-interceptor.d.ts +13 -0
- package/es/scenegraph/graphic/contributions/draw-interceptor.js +64 -0
- package/es/scenegraph/graphic/contributions/draw-interceptor.js.map +1 -0
- package/es/scenegraph/graphic/contributions/index.js +5 -2
- package/es/scenegraph/graphic/contributions/index.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/image-cell.js +35 -17
- package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/es/scenegraph/group-creater/progress/proxy.js +3 -3
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +3 -3
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +1 -1
- package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js +9 -3
- package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
- package/es/scenegraph/layout/compute-row-height.js +14 -4
- package/es/scenegraph/layout/compute-row-height.js.map +1 -1
- package/es/scenegraph/layout/move-cell.js +7 -1
- package/es/scenegraph/layout/move-cell.js.map +1 -1
- package/es/scenegraph/layout/update-height.js +2 -2
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-row.js +4 -8
- package/es/scenegraph/layout/update-row.js.map +1 -1
- package/es/scenegraph/scenegraph.js +16 -9
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/stick-text/index.js +5 -5
- package/es/scenegraph/stick-text/index.js.map +1 -1
- package/es/scenegraph/utils/keep-aspect-ratio.js +5 -4
- package/es/scenegraph/utils/keep-aspect-ratio.js.map +1 -1
- package/es/state/cell-move/index.js +6 -4
- package/es/state/cell-move/index.js.map +1 -1
- package/es/state/select/update-position.js +10 -1
- package/es/state/select/update-position.js.map +1 -1
- package/es/themes/ARCO.js +2 -1
- package/es/tools/LimitPromiseQueue.js +1 -1
- package/es/tools/util.d.ts +1 -0
- package/es/tools/util.js +6 -0
- package/es/tools/util.js.map +1 -1
- package/es/ts-types/base-table.d.ts +5 -3
- package/es/ts-types/base-table.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/vrender.js.map +1 -1
- package/package.json +7 -7
- package/cjs/layout/pivot-layout-helper.js.map +0 -1
- package/es/layout/pivot-layout-helper.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/component/cell-mover.ts"],"names":[],"mappings":"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","file":"cell-mover.js","sourcesContent":["import type { ILine, IRect, ISymbol } from './../../vrender';\nimport { createLine, createRect, createSymbol } from './../../vrender';\nimport { getCellMergeInfo } from '../utils/get-cell-merge';\nimport type { Group } from '../graphic/group';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\n\nexport class CellMover {\n columnMoverLabel: ISymbol;\n columnMoverLine: ILine;\n columnMoverBack: IRect;\n table: BaseTableAPI;\n x?: number;\n\n constructor(table: BaseTableAPI) {\n const columnMoverLineWidth = table.theme.dragHeaderSplitLine.lineWidth;\n const columnMoverLineColor = table.theme.dragHeaderSplitLine.lineColor;\n const columnMoverShadowBlockColor = table.theme.dragHeaderSplitLine.shadowBlockColor;\n\n this.columnMoverLabel = createSymbol({\n visible: false,\n pickable: false,\n x: 0,\n y: 0,\n symbolType: 'triangle',\n fill: columnMoverLineColor as string\n });\n this.columnMoverLine = createLine({\n visible: false,\n pickable: false,\n stroke: columnMoverLineColor as string,\n lineWidth: columnMoverLineWidth as number,\n x: 0,\n y: 0,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ]\n });\n\n // 列顺序调整阴影块\n this.columnMoverBack = createRect({\n visible: false,\n pickable: false,\n fill: columnMoverShadowBlockColor,\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n\n this.table = table;\n }\n\n appand(parent: Group) {\n parent.appendChild(this.columnMoverLabel);\n parent.appendChild(this.columnMoverLine);\n parent.appendChild(this.columnMoverBack);\n }\n\n show(col: number, row: number, delta: number) {\n const cellLocation = this.table.getCellLocation(col, row);\n const mergeInfo = getCellMergeInfo(this.table, col, row);\n if (mergeInfo) {\n col = mergeInfo.start.col;\n row = mergeInfo.start.row;\n }\n\n let rectX = 0;\n let rectY = 0;\n let rectWidth = 0;\n let rectHeight = 0;\n let rectDx = 0;\n let rectDy = 0;\n let symbolX = 0;\n let symbolY = 0;\n let symbolRotate = Math.PI;\n const linePoints: { x: number; y: number }[] = [];\n if (cellLocation === 'columnHeader') {\n rectX = this.table.getColsWidth(0, col - 1) - this.table.stateManager.scroll.horizontalBarPos;\n rectY = this.table.getRowsHeight(0, this.table.frozenRowCount - 1);\n rectHeight = this.table.tableNoFrameHeight;\n if (mergeInfo) {\n rectWidth = this.table.getColsWidth(mergeInfo.start.col, mergeInfo.end.col);\n } else {\n rectWidth = this.table.getColWidth(col);\n }\n rectDx = rectX - delta;\n\n symbolX = rectX + rectWidth;\n symbolY = 2;\n\n linePoints.push({ x: 0, y: 0 });\n linePoints.push({ x: 0, y: this.table.tableNoFrameHeight });\n } else if (cellLocation === 'rowHeader') {\n rectY = this.table.getRowsHeight(0, row - 1) - this.table.stateManager.scroll.verticalBarPos;\n rectX = this.table.getColsWidth(0, this.table.frozenColCount - 1);\n rectWidth = this.table.tableNoFrameWidth;\n if (mergeInfo) {\n rectHeight = this.table.getRowsHeight(mergeInfo.start.row, mergeInfo.end.row);\n } else {\n rectHeight = this.table.getRowHeight(row);\n }\n rectDy = rectY - delta;\n\n symbolX = 2;\n symbolY = rectY + rectHeight;\n symbolRotate = Math.PI / 2;\n\n linePoints.push({ x: 0, y: 0 });\n linePoints.push({ x: this.table.tableNoFrameWidth, y: 0 });\n }\n\n this.columnMoverBack.setAttributes({\n visible: true,\n x: rectX - rectDx,\n y: rectY - rectDy,\n width: rectWidth,\n height: rectHeight,\n dx: rectDx,\n dy: rectDy\n });\n this.columnMoverLine.setAttributes({\n x: symbolX,\n y: symbolY,\n visible: true,\n points: linePoints\n });\n this.columnMoverLabel.setAttributes({\n visible: true,\n x: symbolX,\n y: symbolY,\n angle: symbolRotate\n });\n }\n\n hide() {\n this.columnMoverLabel.setAttribute('visible', false);\n this.columnMoverLine.setAttribute('visible', false);\n this.columnMoverBack.setAttribute('visible', false);\n }\n\n update(backX: number | undefined, lineX: number | undefined, backY: number | undefined, lineY: number | undefined) {\n if (typeof backX === 'number' && typeof lineX === 'number') {\n this.columnMoverLabel.setAttribute('x', lineX - this.table.stateManager.scroll.horizontalBarPos);\n this.columnMoverLine.setAttribute('x', lineX - this.table.stateManager.scroll.horizontalBarPos);\n this.columnMoverBack.setAttribute('x', backX);\n } else if (typeof backY === 'number' && typeof lineY === 'number') {\n this.columnMoverLabel.setAttribute('y', lineY - this.table.stateManager.scroll.verticalBarPos);\n this.columnMoverLine.setAttribute('y', lineY - this.table.stateManager.scroll.verticalBarPos);\n this.columnMoverBack.setAttribute('y', backY);\n }\n }\n\n updateStyle() {\n const columnMoverLineWidth = this.table.theme.dragHeaderSplitLine.lineWidth;\n const columnMoverLineColor = this.table.theme.dragHeaderSplitLine.lineColor;\n const columnMoverShadowBlockColor = this.table.theme.dragHeaderSplitLine.shadowBlockColor;\n\n this.columnMoverLabel.setAttributes({\n fill: columnMoverLineColor as string\n });\n this.columnMoverLine.setAttributes({\n stroke: columnMoverLineColor as string,\n lineWidth: columnMoverLineWidth as number\n });\n\n // 列顺序调整阴影块\n this.columnMoverBack.setAttributes({\n fill: columnMoverShadowBlockColor\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/component/cell-mover.ts"],"names":[],"mappings":"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","file":"cell-mover.js","sourcesContent":["import type { ILine, IRect, ISymbol } from './../../vrender';\nimport { createLine, createRect, createSymbol } from './../../vrender';\nimport { getCellMergeInfo } from '../utils/get-cell-merge';\nimport type { Group } from '../graphic/group';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\n\nexport class CellMover {\n columnMoverLabel: ISymbol;\n columnMoverLine: ILine;\n columnMoverBack: IRect;\n table: BaseTableAPI;\n x?: number;\n\n constructor(table: BaseTableAPI) {\n const columnMoverLineWidth = table.theme.dragHeaderSplitLine.lineWidth;\n const columnMoverLineColor = table.theme.dragHeaderSplitLine.lineColor;\n const columnMoverShadowBlockColor = table.theme.dragHeaderSplitLine.shadowBlockColor;\n\n this.columnMoverLabel = createSymbol({\n visible: false,\n pickable: false,\n x: 0,\n y: 0,\n symbolType: 'triangle',\n fill: columnMoverLineColor as string\n });\n this.columnMoverLine = createLine({\n visible: false,\n pickable: false,\n stroke: columnMoverLineColor as string,\n lineWidth: columnMoverLineWidth as number,\n x: 0,\n y: 0,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ]\n });\n\n // 列顺序调整阴影块\n this.columnMoverBack = createRect({\n visible: false,\n pickable: false,\n fill: columnMoverShadowBlockColor,\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n\n this.table = table;\n }\n\n appand(parent: Group) {\n parent.appendChild(this.columnMoverLabel);\n parent.appendChild(this.columnMoverLine);\n parent.appendChild(this.columnMoverBack);\n }\n\n show(col: number, row: number, delta: number) {\n const cellLocation = this.table.getCellLocation(col, row);\n const mergeInfo = getCellMergeInfo(this.table, col, row);\n if (mergeInfo) {\n col = mergeInfo.start.col;\n row = mergeInfo.start.row;\n }\n\n let rectX = 0;\n let rectY = 0;\n let rectWidth = 0;\n let rectHeight = 0;\n let rectDx = 0;\n let rectDy = 0;\n let symbolX = 0;\n let symbolY = 0;\n let symbolRotate = Math.PI;\n const linePoints: { x: number; y: number }[] = [];\n if (cellLocation === 'columnHeader') {\n rectX = this.table.getColsWidth(0, col - 1) - this.table.stateManager.scroll.horizontalBarPos;\n rectY = this.table.getRowsHeight(0, this.table.frozenRowCount - 1);\n rectHeight = this.table.tableNoFrameHeight;\n if (mergeInfo) {\n rectWidth = this.table.getColsWidth(mergeInfo.start.col, mergeInfo.end.col);\n } else {\n rectWidth = this.table.getColWidth(col);\n }\n rectDx = rectX - delta;\n\n symbolX = rectX + rectWidth;\n symbolY = 2;\n\n linePoints.push({ x: 0, y: 0 });\n linePoints.push({ x: 0, y: this.table.tableNoFrameHeight });\n } else if (cellLocation === 'rowHeader') {\n rectY = this.table.getRowsHeight(0, row - 1) - this.table.stateManager.scroll.verticalBarPos;\n rectX = this.table.getColsWidth(0, this.table.frozenColCount - 1);\n rectWidth = this.table.tableNoFrameWidth;\n if (mergeInfo) {\n rectHeight = this.table.getRowsHeight(mergeInfo.start.row, mergeInfo.end.row);\n } else {\n rectHeight = this.table.getRowHeight(row);\n }\n rectDy = rectY - delta;\n\n symbolX = 2;\n symbolY = rectY + rectHeight;\n symbolRotate = Math.PI / 2;\n\n linePoints.push({ x: 0, y: 0 });\n linePoints.push({ x: this.table.tableNoFrameWidth, y: 0 });\n }\n\n this.columnMoverBack.setAttributes({\n visible: true,\n x: rectX - rectDx,\n y: rectY - rectDy,\n width: rectWidth,\n height: rectHeight,\n dx: rectDx,\n dy: rectDy\n });\n this.columnMoverLine.setAttributes({\n x: symbolX,\n y: symbolY,\n visible: true,\n points: linePoints\n });\n this.columnMoverLabel.setAttributes({\n visible: true,\n x: symbolX,\n y: symbolY,\n angle: symbolRotate\n });\n }\n\n hide() {\n this.columnMoverLabel.setAttribute('visible', false);\n this.columnMoverLine.setAttribute('visible', false);\n this.columnMoverBack.setAttribute('visible', false);\n }\n\n update(backX: number | undefined, lineX: number | undefined, backY: number | undefined, lineY: number | undefined) {\n if (typeof backX === 'number' && typeof lineX === 'number') {\n this.columnMoverLabel.setAttribute('x', lineX);\n this.columnMoverLine.setAttribute('x', lineX);\n this.columnMoverBack.setAttribute('x', backX);\n } else if (typeof backY === 'number' && typeof lineY === 'number') {\n this.columnMoverLabel.setAttribute('y', lineY);\n this.columnMoverLine.setAttribute('y', lineY);\n this.columnMoverBack.setAttribute('y', backY);\n }\n }\n\n updateStyle() {\n const columnMoverLineWidth = this.table.theme.dragHeaderSplitLine.lineWidth;\n const columnMoverLineColor = this.table.theme.dragHeaderSplitLine.lineColor;\n const columnMoverShadowBlockColor = this.table.theme.dragHeaderSplitLine.shadowBlockColor;\n\n this.columnMoverLabel.setAttributes({\n fill: columnMoverLineColor as string\n });\n this.columnMoverLine.setAttributes({\n stroke: columnMoverLineColor as string,\n lineWidth: columnMoverLineWidth as number\n });\n\n // 列顺序调整阴影块\n this.columnMoverBack.setAttributes({\n fill: columnMoverShadowBlockColor\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IDrawItemInterceptorContribution, IGraphic, IRenderService, IDrawContext, IDrawContribution, IGraphicRenderDrawParams, IImage } from './../../../vrender';
|
|
2
|
+
export declare class VTableDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {
|
|
3
|
+
order: number;
|
|
4
|
+
interceptors: IDrawItemInterceptorContribution[];
|
|
5
|
+
constructor();
|
|
6
|
+
afterDrawItem(graphic: IGraphic, renderService: IRenderService, drawContext: IDrawContext, drawContribution: IDrawContribution, params?: IGraphicRenderDrawParams): boolean;
|
|
7
|
+
beforeDrawItem(graphic: IGraphic, renderService: IRenderService, drawContext: IDrawContext, drawContribution: IDrawContribution, params?: IGraphicRenderDrawParams): boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class ImageDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {
|
|
10
|
+
order: number;
|
|
11
|
+
afterDrawItem(graphic: IGraphic, renderService: IRenderService, drawContext: IDrawContext, drawContribution: IDrawContribution, params?: IGraphicRenderDrawParams): boolean;
|
|
12
|
+
protected drawItem(graphic: IImage, renderService: IRenderService, drawContext: IDrawContext, drawContribution: IDrawContribution, params?: IGraphicRenderDrawParams): boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
4
|
+
void 0 === k2 && (k2 = k);
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
7
|
+
enumerable: !0,
|
|
8
|
+
get: function() {
|
|
9
|
+
return m[k];
|
|
10
|
+
}
|
|
11
|
+
}), Object.defineProperty(o, k2, desc);
|
|
12
|
+
} : function(o, m, k, k2) {
|
|
13
|
+
void 0 === k2 && (k2 = k), o[k2] = m[k];
|
|
14
|
+
}), __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", {
|
|
16
|
+
enumerable: !0,
|
|
17
|
+
value: v
|
|
18
|
+
});
|
|
19
|
+
} : function(o, v) {
|
|
20
|
+
o.default = v;
|
|
21
|
+
}), __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
22
|
+
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
23
|
+
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
24
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
25
|
+
}, __importStar = this && this.__importStar || function(mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
29
|
+
return __setModuleDefault(result, mod), result;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
Object.defineProperty(exports, "__esModule", {
|
|
33
|
+
value: !0
|
|
34
|
+
}), exports.ImageDrawItemInterceptorContribution = exports.VTableDrawItemInterceptorContribution = void 0;
|
|
35
|
+
|
|
36
|
+
const vrender_1 = require("./../../../vrender"), icons = __importStar(require("../../../icons")), keep_aspect_ratio_1 = require("../../utils/keep-aspect-ratio");
|
|
37
|
+
|
|
38
|
+
let loadingImage, VTableDrawItemInterceptorContribution = class {
|
|
39
|
+
constructor() {
|
|
40
|
+
this.order = 1, this.interceptors = [ new ImageDrawItemInterceptorContribution ];
|
|
41
|
+
}
|
|
42
|
+
afterDrawItem(graphic, renderService, drawContext, drawContribution, params) {
|
|
43
|
+
for (let i = 0; i < this.interceptors.length; i++) if (this.interceptors[i].afterDrawItem && this.interceptors[i].afterDrawItem(graphic, renderService, drawContext, drawContribution, params)) return !0;
|
|
44
|
+
return !1;
|
|
45
|
+
}
|
|
46
|
+
beforeDrawItem(graphic, renderService, drawContext, drawContribution, params) {
|
|
47
|
+
if ((!graphic.in3dMode || drawContext.in3dInterceptor) && !graphic.shadowRoot && !(graphic.baseGraphic || graphic.attribute.globalZIndex || graphic.interactiveGraphic)) return !1;
|
|
48
|
+
for (let i = 0; i < this.interceptors.length; i++) if (this.interceptors[i].beforeDrawItem && this.interceptors[i].beforeDrawItem(graphic, renderService, drawContext, drawContribution, params)) return !0;
|
|
49
|
+
return !1;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
VTableDrawItemInterceptorContribution = __decorate([ (0, vrender_1.injectable)() ], VTableDrawItemInterceptorContribution),
|
|
54
|
+
exports.VTableDrawItemInterceptorContribution = VTableDrawItemInterceptorContribution;
|
|
55
|
+
|
|
56
|
+
class ImageDrawItemInterceptorContribution {
|
|
57
|
+
constructor() {
|
|
58
|
+
this.order = 1;
|
|
59
|
+
}
|
|
60
|
+
afterDrawItem(graphic, renderService, drawContext, drawContribution, params) {
|
|
61
|
+
return "image" === graphic.type && this.drawItem(graphic, renderService, drawContext, drawContribution, params),
|
|
62
|
+
!1;
|
|
63
|
+
}
|
|
64
|
+
drawItem(graphic, renderService, drawContext, drawContribution, params) {
|
|
65
|
+
const {image: url} = graphic.attribute;
|
|
66
|
+
if (!url || !graphic.resources) return !1;
|
|
67
|
+
if ("loading" !== graphic.resources.get(url).state) return !1;
|
|
68
|
+
if (!loadingImage) {
|
|
69
|
+
const regedIcons = icons.get(), svg = regedIcons.loading_pic.svg, width = regedIcons.loading_pic.width, height = regedIcons.loading_pic.height;
|
|
70
|
+
loadingImage = (0, vrender_1.createImage)({
|
|
71
|
+
width: width,
|
|
72
|
+
height: height,
|
|
73
|
+
image: svg
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
const {image: loadingUrl} = loadingImage.attribute;
|
|
77
|
+
if (!url || !loadingImage.resources) return !1;
|
|
78
|
+
const loadingRes = loadingImage.resources.get(loadingUrl);
|
|
79
|
+
if ("success" !== loadingRes.state) return !1;
|
|
80
|
+
const {context: context} = drawContext;
|
|
81
|
+
context.highPerformanceSave(), graphic.parent && context.setTransformFromMatrix(graphic.parent.globalTransMatrix, !0),
|
|
82
|
+
graphic.glyphHost && graphic.glyphHost.parent && context.setTransformFromMatrix(graphic.glyphHost.parent.globalTransMatrix, !0);
|
|
83
|
+
const b = graphic.AABBBounds, {width: width, height: height} = (0, keep_aspect_ratio_1.calcKeepAspectRatioSize)(loadingRes.data.width, loadingRes.data.height, b.width(), b.height());
|
|
84
|
+
return context.drawImage(loadingRes.data, b.x1 + (b.width() - width) / 2, b.y1 + (b.height() - height) / 2, width, height),
|
|
85
|
+
context.highPerformanceRestore(), !0;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
exports.ImageDrawItemInterceptorContribution = ImageDrawItemInterceptorContribution;
|
|
90
|
+
//# sourceMappingURL=draw-interceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/graphic/contributions/draw-interceptor.ts"],"names":[],"mappings":"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","file":"draw-interceptor.js","sourcesContent":["import type {\n IDrawItemInterceptorContribution,\n IGraphic,\n IRenderService,\n IDrawContext,\n IDrawContribution,\n IGraphicRenderDrawParams,\n IImage\n} from './../../../vrender';\nimport { injectable, createImage } from './../../../vrender';\nimport * as icons from '../../../icons';\nimport { calcKeepAspectRatioSize } from '../../utils/keep-aspect-ratio';\nlet loadingImage: IImage;\n\n@injectable()\nexport class VTableDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n interceptors: IDrawItemInterceptorContribution[];\n constructor() {\n this.interceptors = [new ImageDrawItemInterceptorContribution()];\n }\n afterDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n for (let i = 0; i < this.interceptors.length; i++) {\n if (\n this.interceptors[i].afterDrawItem &&\n this.interceptors[i].afterDrawItem(graphic, renderService, drawContext, drawContribution, params)\n ) {\n return true;\n }\n }\n return false;\n }\n\n beforeDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n // 【性能方案】判定写在外层,减少遍历判断耗时,10000条数据减少1ms\n if (\n (!graphic.in3dMode || drawContext.in3dInterceptor) &&\n !graphic.shadowRoot &&\n !(graphic.baseGraphic || graphic.attribute.globalZIndex || graphic.interactiveGraphic)\n ) {\n return false;\n }\n\n for (let i = 0; i < this.interceptors.length; i++) {\n if (\n this.interceptors[i].beforeDrawItem &&\n this.interceptors[i].beforeDrawItem(graphic, renderService, drawContext, drawContribution, params)\n ) {\n return true;\n }\n }\n return false;\n }\n}\n\nexport class ImageDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n\n afterDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n if (graphic.type === 'image') {\n this.drawItem(graphic, renderService, drawContext, drawContribution, params);\n }\n return false;\n }\n\n protected drawItem(\n graphic: IImage,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n const { image: url } = graphic.attribute;\n if (!url || !graphic.resources) {\n return false;\n }\n const res = graphic.resources.get(url);\n if (res.state !== 'loading') {\n return false;\n }\n\n if (!loadingImage) {\n const regedIcons = icons.get();\n const svg = (regedIcons.loading_pic as any).svg;\n const width = (regedIcons.loading_pic as any).width;\n const height = (regedIcons.loading_pic as any).height;\n loadingImage = createImage({\n width,\n height,\n image: svg\n });\n }\n const { image: loadingUrl } = loadingImage.attribute;\n if (!url || !loadingImage.resources) {\n return false;\n }\n const loadingRes = loadingImage.resources.get(loadingUrl);\n if (loadingRes.state !== 'success') {\n return false;\n }\n\n const { context } = drawContext;\n context.highPerformanceSave();\n // 直接transform\n graphic.parent && context.setTransformFromMatrix(graphic.parent.globalTransMatrix, true);\n graphic.glyphHost &&\n graphic.glyphHost.parent &&\n context.setTransformFromMatrix(graphic.glyphHost.parent.globalTransMatrix, true);\n\n const b = graphic.AABBBounds;\n\n const { width, height } = calcKeepAspectRatioSize(\n loadingRes.data.width,\n loadingRes.data.height,\n b.width(),\n b.height()\n );\n\n context.drawImage(loadingRes.data, b.x1 + (b.width() - width) / 2, b.y1 + (b.height() - height) / 2, width, height);\n\n context.highPerformanceRestore();\n\n return true;\n }\n}\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
const vrender_1 = require("./../../../vrender"), chart_render_1 = require("./chart-render"), image_contribution_render_1 = require("./image-contribution-render"), rect_contribution_render_1 = require("./rect-contribution-render"), group_contribution_render_1 = require("./group-contribution-render");
|
|
7
|
+
const vrender_1 = require("./../../../vrender"), chart_render_1 = require("./chart-render"), image_contribution_render_1 = require("./image-contribution-render"), rect_contribution_render_1 = require("./rect-contribution-render"), group_contribution_render_1 = require("./group-contribution-render"), draw_interceptor_1 = require("./draw-interceptor");
|
|
8
8
|
|
|
9
9
|
exports.default = new vrender_1.ContainerModule(((bind, unbind, isBound, rebind) => {
|
|
10
10
|
isBound(vrender_1.SplitRectBeforeRenderContribution) ? rebind(vrender_1.SplitRectBeforeRenderContribution).to(rect_contribution_render_1.SplitRectBeforeRenderContribution).inSingletonScope() : (bind(rect_contribution_render_1.SplitRectBeforeRenderContribution).toSelf().inSingletonScope(),
|
|
@@ -35,6 +35,8 @@ exports.default = new vrender_1.ContainerModule(((bind, unbind, isBound, rebind)
|
|
|
35
35
|
bind(group_contribution_render_1.ClipBodyGroupBeforeRenderContribution).toSelf().inSingletonScope(),
|
|
36
36
|
bind(vrender_1.GroupRenderContribution).toService(group_contribution_render_1.ClipBodyGroupBeforeRenderContribution),
|
|
37
37
|
bind(group_contribution_render_1.ClipBodyGroupAfterRenderContribution).toSelf().inSingletonScope(),
|
|
38
|
-
bind(vrender_1.GroupRenderContribution).toService(group_contribution_render_1.ClipBodyGroupAfterRenderContribution)
|
|
38
|
+
bind(vrender_1.GroupRenderContribution).toService(group_contribution_render_1.ClipBodyGroupAfterRenderContribution),
|
|
39
|
+
bind(draw_interceptor_1.VTableDrawItemInterceptorContribution).toSelf().inSingletonScope(),
|
|
40
|
+
bind(vrender_1.DrawItemInterceptor).toService(draw_interceptor_1.VTableDrawItemInterceptorContribution);
|
|
39
41
|
}));
|
|
40
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/graphic/contributions/index.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/graphic/contributions/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import {\n GraphicRender,\n GroupRenderContribution,\n ImageRenderContribution,\n RectRenderContribution,\n SplitRectBeforeRenderContribution,\n SplitRectAfterRenderContribution,\n ContainerModule,\n DrawItemInterceptor\n} from './../../../vrender';\nimport { ChartRender, DefaultCanvasChartRender } from './chart-render';\nimport { AfterImageRenderContribution, BeforeImageRenderContribution } from './image-contribution-render';\nimport {\n SplitRectBeforeRenderContribution as VTableSplitRectBeforeRenderContribution,\n SplitRectAfterRenderContribution as VTableSplitRectAfterRenderContribution\n} from './rect-contribution-render';\nimport {\n DashGroupAfterRenderContribution,\n DashGroupBeforeRenderContribution,\n SplitGroupBeforeRenderContribution,\n SplitGroupAfterRenderContribution,\n AdjustPosGroupBeforeRenderContribution,\n AdjustPosGroupAfterRenderContribution,\n AdjustColorGroupBeforeRenderContribution,\n AdjustColorGroupAfterRenderContribution,\n ClipBodyGroupBeforeRenderContribution,\n ClipBodyGroupAfterRenderContribution\n} from './group-contribution-render';\nimport { VTableDrawItemInterceptorContribution } from './draw-interceptor';\n\nexport default new ContainerModule((bind, unbind, isBound, rebind) => {\n // rect 渲染器注入contributions\n if (isBound(SplitRectBeforeRenderContribution)) {\n rebind(SplitRectBeforeRenderContribution).to(VTableSplitRectBeforeRenderContribution).inSingletonScope();\n } else {\n bind(VTableSplitRectBeforeRenderContribution).toSelf().inSingletonScope();\n bind(RectRenderContribution).toService(VTableSplitRectBeforeRenderContribution);\n }\n if (isBound(SplitRectAfterRenderContribution)) {\n rebind(SplitRectAfterRenderContribution).to(VTableSplitRectAfterRenderContribution).inSingletonScope();\n } else {\n bind(VTableSplitRectAfterRenderContribution).toSelf().inSingletonScope();\n bind(RectRenderContribution).toService(VTableSplitRectAfterRenderContribution);\n }\n\n // chart渲染器注入\n bind(DefaultCanvasChartRender).toSelf().inSingletonScope();\n bind(ChartRender).to(DefaultCanvasChartRender);\n bind(GraphicRender).to(DefaultCanvasChartRender);\n\n // image 渲染器注入contributions\n bind(BeforeImageRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(BeforeImageRenderContribution);\n bind(AfterImageRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(AfterImageRenderContribution);\n\n // group 渲染器注入contributions\n bind(AdjustColorGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustColorGroupBeforeRenderContribution);\n bind(AdjustColorGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustColorGroupAfterRenderContribution);\n\n bind(SplitGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(SplitGroupAfterRenderContribution);\n bind(SplitGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(SplitGroupBeforeRenderContribution);\n\n bind(DashGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(DashGroupBeforeRenderContribution);\n bind(DashGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(DashGroupAfterRenderContribution);\n\n bind(AdjustPosGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustPosGroupBeforeRenderContribution);\n bind(AdjustPosGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustPosGroupAfterRenderContribution);\n\n bind(ClipBodyGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(ClipBodyGroupBeforeRenderContribution);\n bind(ClipBodyGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(ClipBodyGroupAfterRenderContribution);\n\n // interceptor\n bind(VTableDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(VTableDrawItemInterceptorContribution);\n});\n"]}
|
|
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
29
29
|
value: !0
|
|
30
30
|
}), exports.updateImageCellContentWhileResize = exports._adjustWidthHeight = exports.createImageCellGroup = void 0;
|
|
31
31
|
|
|
32
|
-
const vrender_1 = require("./../../../vrender"), icons = __importStar(require("../../../icons")), group_1 = require("../../graphic/group"), keep_aspect_ratio_1 = require("../../utils/keep-aspect-ratio"), cell_pos_1 = require("../../utils/cell-pos"), get_prop_1 = require("../../utils/get-prop"), vutils_1 = require("@visactor/vutils"), padding_1 = require("../../utils/padding")
|
|
32
|
+
const vrender_1 = require("./../../../vrender"), icons = __importStar(require("../../../icons")), group_1 = require("../../graphic/group"), keep_aspect_ratio_1 = require("../../utils/keep-aspect-ratio"), cell_pos_1 = require("../../utils/cell-pos"), get_prop_1 = require("../../utils/get-prop"), vutils_1 = require("@visactor/vutils"), padding_1 = require("../../utils/padding");
|
|
33
33
|
|
|
34
34
|
function createImageCellGroup(columnGroup, xOrigin, yOrigin, col, row, width, height, keepAspectRatio, imageAutoSizing, padding, textAlign, textBaseline, table, cellTheme) {
|
|
35
35
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
@@ -60,24 +60,10 @@ function createImageCellGroup(columnGroup, xOrigin, yOrigin, col, row, width, he
|
|
|
60
60
|
image: value,
|
|
61
61
|
cursor: "pointer"
|
|
62
62
|
});
|
|
63
|
-
return image.name = "image", image.keepAspectRatio = keepAspectRatio, image.
|
|
64
|
-
|
|
65
|
-
if (imageAutoSizing && _adjustWidthHeight(col, row, originImage.width, originImage.height, table.scenegraph, padding),
|
|
66
|
-
keepAspectRatio) {
|
|
67
|
-
const {width: cellWidth, height: cellHeight, isMerge: isMerge} = getCellRange(cellGroup, table), {width: imageWidth, height: imageHeight} = (0,
|
|
68
|
-
keep_aspect_ratio_1.calcKeepAspectRatioSize)(originImage.width, originImage.height, cellWidth - padding[1] - padding[3], cellHeight - padding[0] - padding[2]), pos = (0,
|
|
69
|
-
cell_pos_1.calcStartPosition)(0, 0, cellWidth, cellHeight, imageWidth, imageHeight, textAlign, textBaseline, padding);
|
|
70
|
-
image.setAttributes({
|
|
71
|
-
x: pos.x,
|
|
72
|
-
y: pos.y,
|
|
73
|
-
width: imageWidth,
|
|
74
|
-
height: imageHeight,
|
|
75
|
-
dx: isMerge ? -table.getColsWidth(cellGroup.mergeStartCol, col - 1) : 0,
|
|
76
|
-
dy: isMerge ? -table.getRowsHeight(cellGroup.mergeStartRow, row - 1) : 0
|
|
77
|
-
});
|
|
78
|
-
}
|
|
63
|
+
return image.name = "image", image.keepAspectRatio = keepAspectRatio, keepAspectRatio || imageAutoSizing ? image.resources && image.resources.has(image.attribute.image) && "success" === image.resources.get(image.attribute.image).state ? updateAutoSizingAndKeepAspectRatio(imageAutoSizing, keepAspectRatio, padding, textAlign, textBaseline, image, cellGroup, table) : image.successCallback = () => {
|
|
64
|
+
updateAutoSizingAndKeepAspectRatio(imageAutoSizing, keepAspectRatio, padding, textAlign, textBaseline, image, cellGroup, table),
|
|
79
65
|
table.scenegraph.updateNextFrame();
|
|
80
|
-
} : () => {
|
|
66
|
+
} : image.resources && image.resources.has(image.attribute.image) && "success" === image.resources.get(image.attribute.image).state ? updateImageCellContentWhileResize(cellGroup, col, row, table) : image.successCallback = () => {
|
|
81
67
|
updateImageCellContentWhileResize(cellGroup, col, row, table);
|
|
82
68
|
}, image.failCallback = () => {
|
|
83
69
|
const regedIcons = icons.get();
|
|
@@ -150,6 +136,40 @@ function getCellRange(cellGroup, table) {
|
|
|
150
136
|
};
|
|
151
137
|
}
|
|
152
138
|
|
|
139
|
+
function updateImageDxDy(startCol, endCol, startRow, endRow, table) {
|
|
140
|
+
for (let col = startCol; col <= endCol; col++) for (let row = startRow; row <= endRow; row++) {
|
|
141
|
+
const cellGroup = table.scenegraph.getCell(col, row);
|
|
142
|
+
if (cellGroup) {
|
|
143
|
+
const image = cellGroup.getChildByName("image");
|
|
144
|
+
image && image.setAttributes({
|
|
145
|
+
dx: -table.getColsWidth(cellGroup.mergeStartCol, col - 1),
|
|
146
|
+
dy: -table.getRowsHeight(cellGroup.mergeStartRow, row - 1)
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function updateAutoSizingAndKeepAspectRatio(imageAutoSizing, keepAspectRatio, padding, textAlign, textBaseline, image, cellGroup, table) {
|
|
153
|
+
const originImage = image.resources.get(image.attribute.image).data, {col: col, row: row} = cellGroup;
|
|
154
|
+
if (imageAutoSizing && !isDamagePic(image) && _adjustWidthHeight(col, row, originImage.width, originImage.height, table.scenegraph, padding),
|
|
155
|
+
keepAspectRatio || isDamagePic(image)) {
|
|
156
|
+
const {width: cellWidth, height: cellHeight, isMerge: isMerge} = getCellRange(cellGroup, table), {width: imageWidth, height: imageHeight} = (0,
|
|
157
|
+
keep_aspect_ratio_1.calcKeepAspectRatioSize)(originImage.width, originImage.height, cellWidth - padding[1] - padding[3], cellHeight - padding[0] - padding[2]), pos = (0,
|
|
158
|
+
cell_pos_1.calcStartPosition)(0, 0, cellWidth, cellHeight, imageWidth, imageHeight, textAlign, textBaseline, padding);
|
|
159
|
+
image.setAttributes({
|
|
160
|
+
x: pos.x,
|
|
161
|
+
y: pos.y,
|
|
162
|
+
width: imageWidth,
|
|
163
|
+
height: imageHeight
|
|
164
|
+
}), isMerge && updateImageDxDy(cellGroup.mergeStartCol, cellGroup.mergeEndCol, cellGroup.mergeStartRow, cellGroup.mergeEndRow, table);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
function isDamagePic(image) {
|
|
169
|
+
const regedIcons = icons.get();
|
|
170
|
+
return image.attribute.image === regedIcons.damage_pic.svg;
|
|
171
|
+
}
|
|
172
|
+
|
|
153
173
|
exports.createImageCellGroup = createImageCellGroup, exports._adjustWidthHeight = _adjustWidthHeight,
|
|
154
174
|
exports.updateImageCellContentWhileResize = updateImageCellContentWhileResize;
|
|
155
175
|
//# sourceMappingURL=image-cell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/group-creater/cell-type/image-cell.ts"],"names":[],"mappings":"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","file":"image-cell.js","sourcesContent":["// @ts-nocheck\n/* eslint-disable no-undef */\nimport type { IImage, Image, IThemeSpec } from './../../../vrender';\nimport { createImage } from './../../../vrender';\nimport type { BaseTableAPI } from '../../../ts-types';\nimport * as icons from '../../../icons';\nimport { Group } from '../../graphic/group';\nimport { calcKeepAspectRatioSize } from '../../utils/keep-aspect-ratio';\nimport { calcStartPosition } from '../../utils/cell-pos';\nimport type { Scenegraph } from '../../scenegraph';\nimport { getProp, getFunctionalProp } from '../../utils/get-prop';\nimport { isValid } from '@visactor/vutils';\nimport { getQuadProps } from '../../utils/padding';\n\nconst regedIcons = icons.get();\n\nexport function createImageCellGroup(\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n width: number,\n height: number,\n keepAspectRatio: boolean,\n imageAutoSizing: boolean,\n padding: [number, number, number, number],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n table: BaseTableAPI,\n cellTheme: IThemeSpec\n) {\n const headerStyle = table._getCellStyle(col, row); // to be fixed\n const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);\n // const margin = getProp('padding', headerStyle, col, row, table);\n if (isValid(functionalPadding)) {\n padding = functionalPadding;\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 // cell\n const cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\n // childrenPickable: false,\n\n // 背景相关,cell背景由cellGroup绘制\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fill: cellTheme?.group?.fill ?? undefined,\n stroke: cellTheme?.group?.stroke ?? undefined,\n strokeArrayWidth: (cellTheme?.group as any)?.strokeArrayWidth ?? undefined,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n\n lineCap: 'square',\n\n clip: true,\n\n cornerRadius: cellTheme.group.cornerRadius\n });\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup?.addChild(cellGroup);\n\n // image\n const value = table.getCellValue(col, row);\n const image: IImage = createImage({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[0] - padding[2],\n image: value, //?? (regedIcons.damage_pic as any).svg,\n cursor: 'pointer' as Cursor\n });\n image.name = 'image';\n image.keepAspectRatio = keepAspectRatio;\n if (keepAspectRatio || imageAutoSizing) {\n image.successCallback = () => {\n const originImage = image.resources.get(image.attribute.image).data;\n\n if (imageAutoSizing) {\n _adjustWidthHeight(\n col,\n row,\n (originImage as HTMLImageElement).width,\n (originImage as HTMLImageElement).height,\n table.scenegraph,\n padding\n );\n }\n\n if (keepAspectRatio) {\n const { width: cellWidth, height: cellHeight, isMerge } = getCellRange(cellGroup, table);\n\n const { width: imageWidth, height: imageHeight } = calcKeepAspectRatioSize(\n originImage.width,\n originImage.height,\n // cellGroup.attribute.width - padding[1] - padding[3],\n // cellGroup.attribute.height - padding[0] - padding[2]\n cellWidth - padding[1] - padding[3],\n cellHeight - padding[0] - padding[2]\n );\n\n // const left = 0;\n // const top = 0;\n const pos = calcStartPosition(\n 0,\n 0,\n // cellGroup.attribute.width,\n // cellGroup.attribute.height,\n cellWidth,\n cellHeight,\n imageWidth,\n imageHeight,\n textAlign,\n textBaseline,\n padding\n );\n\n image.setAttributes({\n x: pos.x,\n y: pos.y,\n width: imageWidth,\n height: imageHeight,\n dx: isMerge ? -table.getColsWidth(cellGroup.mergeStartCol, col - 1) : 0,\n dy: isMerge ? -table.getRowsHeight(cellGroup.mergeStartRow, row - 1) : 0\n });\n }\n\n table.scenegraph.updateNextFrame();\n };\n } else {\n image.successCallback = () => {\n updateImageCellContentWhileResize(cellGroup, col, row, table);\n };\n }\n (image as any).failCallback = () => {\n const regedIcons = icons.get();\n // image.setAttribute('image', (regedIcons.damage_pic as any).svg);\n (image as any).image = (regedIcons.damage_pic as any).svg;\n };\n cellGroup.appendChild(image);\n\n return cellGroup;\n}\n\n/**\n * 调整某个图片资源所在行列的行高列宽 之后重绘\n * @param col\n * @param row\n * @param img\n * @param table\n * @returns 行高或者列宽是否进行了调整\n */\nexport function _adjustWidthHeight(\n col: number,\n row: number,\n // img: HTMLImageElement,\n width: number,\n height: number,\n scene: Scenegraph,\n padding: [number, number, number, number]\n): boolean {\n // const { width, height } = img as any;\n // const currentContext = context.toCurrentContext();\n\n let needInvalidate = false;\n let targetWidth: number = null;\n let targetHeight: number = null;\n const cellGroup = scene.getCell(col, row, true);\n const { width: cellWidth, height: cellHeight, isMerge } = getCellRange(cellGroup, scene.table);\n\n if (cellWidth < width + padding[1] + padding[3]) {\n targetWidth = width + padding[1] + padding[3];\n needInvalidate = true;\n }\n if (cellHeight < height + padding[2] + padding[0]) {\n targetHeight = height + padding[2] + padding[0];\n needInvalidate = true;\n }\n if (needInvalidate) {\n if (typeof targetWidth === 'number') {\n // table.setColWidth(col, targetWidth, true);\n if (isMerge) {\n for (let col = cellGroup.mergeStartCol; col <= cellGroup.mergeEndCol; col++) {\n scene.setColWidth(col, targetWidth / (cellGroup.mergeEndCol - cellGroup.mergeStartCol + 1));\n }\n } else {\n scene.setColWidth(col, targetWidth);\n }\n }\n if (typeof targetHeight === 'number') {\n // table.setRowHeight(row, targetHeight, true);\n if (isMerge) {\n for (let row = cellGroup.mergeStartRow; row <= cellGroup.mergeEndRow; row++) {\n scene.setRowHeight(row, targetHeight / (cellGroup.mergeEndRow - cellGroup.mergeStartRow + 1));\n }\n } else {\n scene.setRowHeight(row, targetHeight);\n }\n }\n // table.updateCanvasScroll();\n // // table.throttleInvalidate(); // 这里会造成每一张图加载后就重绘 造成多次绘制问题!节流绘制\n // table.invalidate(); //节流绘制改回及时绘制 节流绘制在图片加载过程中的效果不太好\n\n scene.component.updateScrollBar();\n // scene.updateNextFrame();\n return true;\n }\n return false;\n}\n\nexport function updateImageCellContentWhileResize(cellGroup: Group, col: number, row: number, table: BaseTableAPI) {\n const image = cellGroup.getChildByName('image') as Image;\n const originImage =\n (typeof image.attribute.image !== 'string' && image.attribute.image) ||\n image.resources?.get(image.attribute.image).data;\n\n if (!originImage) {\n return;\n }\n\n const headerStyle = table._getCellStyle(col, row); // to be fixed\n const textAlign = getProp('textAlign', headerStyle, col, row, table) ?? 'left';\n const textBaseline = getProp('textBaseline', headerStyle, col, row, table) ?? 'middle';\n const padding = getQuadProps(getProp('padding', headerStyle, col, row, table)) ?? [0, 0, 0, 0];\n\n if (image.keepAspectRatio) {\n const { width: cellWidth, height: cellHeight } = getCellRange(cellGroup, table);\n\n const { width: imageWidth, height: imageHeight } = calcKeepAspectRatioSize(\n originImage.width || originImage.videoWidth,\n originImage.height || originImage.videoHeight,\n // cellGroup.attribute.width - (padding[1] + padding[3]),\n // cellGroup.attribute.height - (padding[0] + padding[2])\n cellWidth - (padding[1] + padding[3]),\n cellHeight - (padding[0] + padding[2])\n );\n\n const pos = calcStartPosition(\n 0,\n 0,\n // cellGroup.attribute.width,\n // cellGroup.attribute.height,\n cellWidth,\n cellHeight,\n imageWidth,\n imageHeight,\n textAlign,\n textBaseline,\n padding\n );\n\n image.setAttributes({\n x: pos.x,\n y: pos.y,\n width: imageWidth,\n height: imageHeight\n });\n } else {\n const { width: cellWidth, height: cellHeight } = getCellRange(cellGroup, table);\n\n image.setAttributes({\n x: padding[3],\n y: padding[0],\n // width: cellGroup.attribute.width - padding[1] - padding[3],\n // height: cellGroup.attribute.height - padding[0] - padding[2]\n width: cellWidth - padding[1] - padding[3],\n height: cellHeight - padding[0] - padding[2]\n });\n }\n\n // update video play icon\n const playIcon = cellGroup.getChildByName('play-icon');\n if (playIcon) {\n const left = 0;\n const top = 0;\n // const width = cellGroup.attribute.width;\n // const height = cellGroup.attribute.height;\n const { width, height } = getCellRange(cellGroup, table);\n const iconSize = Math.floor(Math.min(width - padding[1] - padding[3], height - padding[2] - padding[0]) / 2);\n const anchorX =\n left + (width > image.attribute.width ? image.attribute.x - left + image.attribute.width / 2 : width / 2);\n const anchorY =\n top + (height > image.attribute.height ? image.attribute.y - top + image.attribute.height / 2 : height / 2);\n\n playIcon.setAttributes({\n x: anchorX - iconSize / 2,\n y: anchorY - iconSize / 2,\n width: iconSize,\n height: iconSize\n });\n }\n}\n\nfunction getCellRange(cellGroup: Group, table: BaseTableAPI) {\n if (\n isValid(cellGroup.mergeStartCol) &&\n isValid(cellGroup.mergeEndCol) &&\n isValid(cellGroup.mergeStartRow) &&\n isValid(cellGroup.mergeEndRow)\n ) {\n return {\n width: table.getColsWidth(cellGroup.mergeStartCol, cellGroup.mergeEndCol),\n height: table.getRowsHeight(cellGroup.mergeStartRow, cellGroup.mergeEndRow),\n isMerge: true\n };\n }\n return {\n width: cellGroup.attribute.width,\n height: cellGroup.attribute.height,\n isMerge: false\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/group-creater/cell-type/image-cell.ts"],"names":[],"mappings":"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","file":"image-cell.js","sourcesContent":["// @ts-nocheck\n/* eslint-disable no-undef */\nimport type { IImage, Image, IThemeSpec } from './../../../vrender';\nimport { createImage } from './../../../vrender';\nimport type { BaseTableAPI } from '../../../ts-types';\nimport * as icons from '../../../icons';\nimport { Group } from '../../graphic/group';\nimport { calcKeepAspectRatioSize } from '../../utils/keep-aspect-ratio';\nimport { calcStartPosition } from '../../utils/cell-pos';\nimport type { Scenegraph } from '../../scenegraph';\nimport { getProp, getFunctionalProp } from '../../utils/get-prop';\nimport { isValid } from '@visactor/vutils';\nimport { getQuadProps } from '../../utils/padding';\n\nexport function createImageCellGroup(\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n width: number,\n height: number,\n keepAspectRatio: boolean,\n imageAutoSizing: boolean,\n padding: [number, number, number, number],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n table: BaseTableAPI,\n cellTheme: IThemeSpec\n) {\n const headerStyle = table._getCellStyle(col, row); // to be fixed\n const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);\n // const margin = getProp('padding', headerStyle, col, row, table);\n if (isValid(functionalPadding)) {\n padding = functionalPadding;\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 // cell\n const cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\n // childrenPickable: false,\n\n // 背景相关,cell背景由cellGroup绘制\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fill: cellTheme?.group?.fill ?? undefined,\n stroke: cellTheme?.group?.stroke ?? undefined,\n strokeArrayWidth: (cellTheme?.group as any)?.strokeArrayWidth ?? undefined,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n\n lineCap: 'square',\n\n clip: true,\n\n cornerRadius: cellTheme.group.cornerRadius\n });\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup?.addChild(cellGroup);\n\n // image\n const value = table.getCellValue(col, row);\n const image: IImage = createImage({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[0] - padding[2],\n image: value, //?? (regedIcons.damage_pic as any).svg,\n cursor: 'pointer' as Cursor\n });\n image.name = 'image';\n image.keepAspectRatio = keepAspectRatio;\n if (keepAspectRatio || imageAutoSizing) {\n if (\n image.resources &&\n image.resources.has(image.attribute.image) &&\n image.resources.get(image.attribute.image).state === 'success'\n ) {\n updateAutoSizingAndKeepAspectRatio(\n imageAutoSizing,\n keepAspectRatio,\n padding,\n textAlign,\n textBaseline,\n image,\n cellGroup,\n table\n );\n } else {\n image.successCallback = () => {\n updateAutoSizingAndKeepAspectRatio(\n imageAutoSizing,\n keepAspectRatio,\n padding,\n textAlign,\n textBaseline,\n image,\n cellGroup,\n table\n );\n table.scenegraph.updateNextFrame();\n };\n }\n } else {\n if (\n image.resources &&\n image.resources.has(image.attribute.image) &&\n image.resources.get(image.attribute.image).state === 'success'\n ) {\n updateImageCellContentWhileResize(cellGroup, col, row, table);\n } else {\n image.successCallback = () => {\n updateImageCellContentWhileResize(cellGroup, col, row, table);\n };\n }\n }\n (image as any).failCallback = () => {\n const regedIcons = icons.get();\n // image.setAttribute('image', (regedIcons.damage_pic as any).svg);\n (image as any).image = (regedIcons.damage_pic as any).svg;\n };\n cellGroup.appendChild(image);\n\n return cellGroup;\n}\n\n/**\n * 调整某个图片资源所在行列的行高列宽 之后重绘\n * @param col\n * @param row\n * @param img\n * @param table\n * @returns 行高或者列宽是否进行了调整\n */\nexport function _adjustWidthHeight(\n col: number,\n row: number,\n // img: HTMLImageElement,\n width: number,\n height: number,\n scene: Scenegraph,\n padding: [number, number, number, number]\n): boolean {\n // const { width, height } = img as any;\n // const currentContext = context.toCurrentContext();\n\n let needInvalidate = false;\n let targetWidth: number = null;\n let targetHeight: number = null;\n const cellGroup = scene.getCell(col, row, true);\n const { width: cellWidth, height: cellHeight, isMerge } = getCellRange(cellGroup, scene.table);\n\n if (cellWidth < width + padding[1] + padding[3]) {\n targetWidth = width + padding[1] + padding[3];\n needInvalidate = true;\n }\n if (cellHeight < height + padding[2] + padding[0]) {\n targetHeight = height + padding[2] + padding[0];\n needInvalidate = true;\n }\n if (needInvalidate) {\n if (typeof targetWidth === 'number') {\n // table.setColWidth(col, targetWidth, true);\n if (isMerge) {\n for (let col = cellGroup.mergeStartCol; col <= cellGroup.mergeEndCol; col++) {\n scene.setColWidth(col, targetWidth / (cellGroup.mergeEndCol - cellGroup.mergeStartCol + 1));\n }\n } else {\n scene.setColWidth(col, targetWidth);\n }\n }\n if (typeof targetHeight === 'number') {\n // table.setRowHeight(row, targetHeight, true);\n if (isMerge) {\n for (let row = cellGroup.mergeStartRow; row <= cellGroup.mergeEndRow; row++) {\n scene.setRowHeight(row, targetHeight / (cellGroup.mergeEndRow - cellGroup.mergeStartRow + 1));\n }\n } else {\n scene.setRowHeight(row, targetHeight);\n }\n }\n // table.updateCanvasScroll();\n // // table.throttleInvalidate(); // 这里会造成每一张图加载后就重绘 造成多次绘制问题!节流绘制\n // table.invalidate(); //节流绘制改回及时绘制 节流绘制在图片加载过程中的效果不太好\n\n scene.component.updateScrollBar();\n // scene.updateNextFrame();\n return true;\n }\n return false;\n}\n\nexport function updateImageCellContentWhileResize(cellGroup: Group, col: number, row: number, table: BaseTableAPI) {\n const image = cellGroup.getChildByName('image') as Image;\n const originImage =\n (typeof image.attribute.image !== 'string' && image.attribute.image) ||\n image.resources?.get(image.attribute.image).data;\n\n if (!originImage) {\n return;\n }\n\n const headerStyle = table._getCellStyle(col, row); // to be fixed\n const textAlign = getProp('textAlign', headerStyle, col, row, table) ?? 'left';\n const textBaseline = getProp('textBaseline', headerStyle, col, row, table) ?? 'middle';\n const padding = getQuadProps(getProp('padding', headerStyle, col, row, table)) ?? [0, 0, 0, 0];\n\n if (image.keepAspectRatio) {\n const { width: cellWidth, height: cellHeight } = getCellRange(cellGroup, table);\n\n const { width: imageWidth, height: imageHeight } = calcKeepAspectRatioSize(\n originImage.width || originImage.videoWidth,\n originImage.height || originImage.videoHeight,\n // cellGroup.attribute.width - (padding[1] + padding[3]),\n // cellGroup.attribute.height - (padding[0] + padding[2])\n cellWidth - (padding[1] + padding[3]),\n cellHeight - (padding[0] + padding[2])\n );\n\n const pos = calcStartPosition(\n 0,\n 0,\n // cellGroup.attribute.width,\n // cellGroup.attribute.height,\n cellWidth,\n cellHeight,\n imageWidth,\n imageHeight,\n textAlign,\n textBaseline,\n padding\n );\n\n image.setAttributes({\n x: pos.x,\n y: pos.y,\n width: imageWidth,\n height: imageHeight\n });\n } else {\n const { width: cellWidth, height: cellHeight } = getCellRange(cellGroup, table);\n\n image.setAttributes({\n x: padding[3],\n y: padding[0],\n // width: cellGroup.attribute.width - padding[1] - padding[3],\n // height: cellGroup.attribute.height - padding[0] - padding[2]\n width: cellWidth - padding[1] - padding[3],\n height: cellHeight - padding[0] - padding[2]\n });\n }\n\n // update video play icon\n const playIcon = cellGroup.getChildByName('play-icon');\n if (playIcon) {\n const left = 0;\n const top = 0;\n // const width = cellGroup.attribute.width;\n // const height = cellGroup.attribute.height;\n const { width, height } = getCellRange(cellGroup, table);\n const iconSize = Math.floor(Math.min(width - padding[1] - padding[3], height - padding[2] - padding[0]) / 2);\n const anchorX =\n left + (width > image.attribute.width ? image.attribute.x - left + image.attribute.width / 2 : width / 2);\n const anchorY =\n top + (height > image.attribute.height ? image.attribute.y - top + image.attribute.height / 2 : height / 2);\n\n playIcon.setAttributes({\n x: anchorX - iconSize / 2,\n y: anchorY - iconSize / 2,\n width: iconSize,\n height: iconSize\n });\n }\n}\n\nfunction getCellRange(cellGroup: Group, table: BaseTableAPI) {\n if (\n isValid(cellGroup.mergeStartCol) &&\n isValid(cellGroup.mergeEndCol) &&\n isValid(cellGroup.mergeStartRow) &&\n isValid(cellGroup.mergeEndRow)\n ) {\n return {\n width: table.getColsWidth(cellGroup.mergeStartCol, cellGroup.mergeEndCol),\n height: table.getRowsHeight(cellGroup.mergeStartRow, cellGroup.mergeEndRow),\n isMerge: true\n };\n }\n return {\n width: cellGroup.attribute.width,\n height: cellGroup.attribute.height,\n isMerge: false\n };\n}\n\nfunction updateImageDxDy(startCol, endCol, startRow, endRow, table) {\n for (let col = startCol; col <= endCol; col++) {\n for (let row = startRow; row <= endRow; row++) {\n const cellGroup = table.scenegraph.getCell(col, row);\n if (cellGroup) {\n const image = cellGroup.getChildByName('image');\n if (image) {\n image.setAttributes({\n dx: -table.getColsWidth(cellGroup.mergeStartCol, col - 1),\n dy: -table.getRowsHeight(cellGroup.mergeStartRow, row - 1)\n });\n }\n }\n }\n }\n}\n\nfunction updateAutoSizingAndKeepAspectRatio(\n imageAutoSizing: boolean,\n keepAspectRatio: boolean,\n padding: [number, number, number, number],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n image: Image,\n cellGroup: Group,\n table: BaseTableAPI\n) {\n const originImage = image.resources.get(image.attribute.image).data;\n const { col, row } = cellGroup;\n\n if (imageAutoSizing && !isDamagePic(image)) {\n _adjustWidthHeight(\n col,\n row,\n (originImage as HTMLImageElement).width,\n (originImage as HTMLImageElement).height,\n table.scenegraph,\n padding\n );\n }\n if (keepAspectRatio || isDamagePic(image)) {\n const { width: cellWidth, height: cellHeight, isMerge } = getCellRange(cellGroup, table);\n\n const { width: imageWidth, height: imageHeight } = calcKeepAspectRatioSize(\n originImage.width,\n originImage.height,\n // cellGroup.attribute.width - padding[1] - padding[3],\n // cellGroup.attribute.height - padding[0] - padding[2]\n cellWidth - padding[1] - padding[3],\n cellHeight - padding[0] - padding[2]\n );\n\n // const left = 0;\n // const top = 0;\n const pos = calcStartPosition(\n 0,\n 0,\n // cellGroup.attribute.width,\n // cellGroup.attribute.height,\n cellWidth,\n cellHeight,\n imageWidth,\n imageHeight,\n textAlign,\n textBaseline,\n padding\n );\n\n image.setAttributes({\n x: pos.x,\n y: pos.y,\n width: imageWidth,\n height: imageHeight\n // dx: isMerge ? -table.getColsWidth(cellGroup.mergeStartCol, col - 1) : 0,\n // dy: isMerge ? -table.getRowsHeight(cellGroup.mergeStartRow, row - 1) : 0\n });\n\n if (isMerge) {\n updateImageDxDy(\n cellGroup.mergeStartCol,\n cellGroup.mergeEndCol,\n cellGroup.mergeStartRow,\n cellGroup.mergeEndRow,\n table\n );\n }\n }\n}\n\nfunction isDamagePic(image: IImage) {\n const regedIcons = icons.get();\n return image.attribute.image === (regedIcons.damage_pic as any).svg;\n}\n"]}
|
|
@@ -198,9 +198,9 @@ class SceneProxy {
|
|
|
198
198
|
const distRow = Math.min(this.bodyBottomRow, this.rowUpdatePos + count);
|
|
199
199
|
"autoHeight" === this.table.heightMode && (0, compute_row_height_1.computeRowsHeight)(this.table, this.rowUpdatePos, distRow, !1),
|
|
200
200
|
(0, dynamic_set_y_1.updateRowContent)(this.rowUpdatePos, distRow, this), "autoHeight" === this.table.heightMode && ((0,
|
|
201
|
-
update_auto_row_1.updateAutoRow)(this.bodyLeftCol, this.bodyRightCol, this.rowUpdatePos, distRow, this.table, this.rowUpdateDirection),
|
|
202
|
-
(0, update_auto_row_1.updateAutoRow)(0, this.table.frozenColCount - 1, this.rowUpdatePos, distRow, this.table, this.rowUpdateDirection),
|
|
203
|
-
(0, update_auto_row_1.updateAutoRow)(this.table.colCount - this.table.rightFrozenColCount, this.table.colCount - 1, this.rowUpdatePos, distRow, this.table, this.rowUpdateDirection)),
|
|
201
|
+
update_auto_row_1.updateAutoRow)(this.bodyLeftCol, this.bodyRightCol, this.rowUpdatePos, distRow, this.table, this.rowUpdateDirection, !0),
|
|
202
|
+
(0, update_auto_row_1.updateAutoRow)(0, this.table.frozenColCount - 1, this.rowUpdatePos, distRow, this.table, this.rowUpdateDirection, !0),
|
|
203
|
+
(0, update_auto_row_1.updateAutoRow)(this.table.colCount - this.table.rightFrozenColCount, this.table.colCount - 1, this.rowUpdatePos, distRow, this.table, this.rowUpdateDirection, !0)),
|
|
204
204
|
this.rowUpdatePos = distRow + 1;
|
|
205
205
|
}
|
|
206
206
|
updateBottomFrozenCellGroups() {
|