@visactor/vtable 1.0.2-alpha.0 → 1.0.2
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 +4 -4
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.d.ts +1 -1
- package/cjs/PivotChart.js +2 -10
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/components/axis/get-axis-component-size.js +1 -1
- package/cjs/components/axis/get-axis-component-size.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +2 -1
- package/cjs/core/BaseTable.js +19 -41
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +2 -2
- package/cjs/index.js.map +1 -1
- package/cjs/layout/layout-helper.d.ts +3 -1
- package/cjs/layout/layout-helper.js +30 -8
- package/cjs/layout/layout-helper.js.map +1 -1
- package/cjs/scenegraph/graphic/group.js +1 -1
- package/cjs/scenegraph/graphic/group.js.map +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js +6 -4
- package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
- package/cjs/scenegraph/layout/height-util.d.ts +3 -3
- package/cjs/scenegraph/layout/height-util.js +10 -8
- package/cjs/scenegraph/layout/height-util.js.map +1 -1
- package/cjs/state/select/update-position.js +12 -2
- package/cjs/state/select/update-position.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +2 -2
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +3453 -3428
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +3 -3
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.d.ts +1 -1
- package/es/PivotChart.js +2 -10
- package/es/PivotChart.js.map +1 -1
- package/es/components/axis/get-axis-component-size.js +2 -2
- package/es/components/axis/get-axis-component-size.js.map +1 -1
- package/es/core/BaseTable.d.ts +2 -1
- package/es/core/BaseTable.js +21 -38
- package/es/core/BaseTable.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/layout-helper.d.ts +3 -1
- package/es/layout/layout-helper.js +28 -5
- package/es/layout/layout-helper.js.map +1 -1
- package/es/scenegraph/graphic/group.js +1 -1
- package/es/scenegraph/graphic/group.js.map +1 -1
- package/es/scenegraph/layout/compute-row-height.js +4 -3
- package/es/scenegraph/layout/compute-row-height.js.map +1 -1
- package/es/scenegraph/layout/height-util.d.ts +3 -3
- package/es/scenegraph/layout/height-util.js +10 -8
- package/es/scenegraph/layout/height-util.js.map +1 -1
- package/es/state/select/update-position.js +12 -2
- package/es/state/select/update-position.js.map +1 -1
- package/es/ts-types/base-table.d.ts +2 -2
- package/es/ts-types/base-table.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/axis/get-axis-component-size.ts"],"names":[],"mappings":"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","file":"get-axis-component-size.js","sourcesContent":["import { isArray, merge } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { ICellAxisOption } from '../../ts-types/component/axis';\nimport { DEFAULT_TEXT_FONT_FAMILY, DEFAULT_TEXT_FONT_SIZE, commonAxis } from './get-axis-attributes';\n\n/**\n * @description: compuational vertical axis width\n * @param {ICellAxisOption} config\n * @return {*}\n */\nexport function computeAxisComponentWidth(config: ICellAxisOption, table: BaseTableAPI) {\n const attribute = merge({}, commonAxis, config);\n // tick\n let tickWidth = 0;\n if (attribute.tick.visible !== false) {\n tickWidth = attribute.tick.width ?? 4;\n }\n\n // text\n let labelWidth = 0;\n if (attribute.label.visible) {\n if (attribute.type === 'band') {\n const domain = attribute.domain;\n domain.forEach((text: string) => {\n if (attribute.label.formatMethod) {\n text = attribute.label.formatMethod(text);\n }\n const { width, height } = table.measureText(text, {\n fontSize: attribute.label?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.label?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.label?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const angel =\n (attribute.label?.style?.angle ?? 0) + (attribute.label?.style?.direction === 'vertical' ? 90 : 0);\n labelWidth = Math.max(labelWidth, getSizeAfterResize(Math.min(width, widthLimit), height, angel).width);\n });\n } else {\n let ticks: string[];\n if (isArray((config as any).__ticksForVTable)) {\n ticks = (config as any).__ticksForVTable;\n } else {\n const range = attribute.range;\n const minNumber = Math.abs(range.min) > 1 ? Math.round(range.min) : range.min;\n const maxNumber = Math.abs(range.max) > 1 ? Math.round(range.max) : range.max;\n // abs>1取整保留两位有效数字,abs<1保留一位有效数字\n const minString = formatDecimal(minNumber);\n const maxString = formatDecimal(maxNumber);\n // 这里测量的是预估的最大最小range,与实际现实的label可能不同\n ticks = [minString, maxString];\n }\n ticks.forEach(text => {\n if (attribute.label.formatMethod) {\n text = attribute.label.formatMethod(text);\n }\n const { width, height } = table.measureText(text, {\n fontSize: attribute.label?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.label?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.label?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const angle =\n (attribute.label?.style?.angle ?? 0) + (attribute.label?.style?.direction === 'vertical' ? 90 : 0);\n labelWidth = Math.max(labelWidth, getSizeAfterResize(Math.min(width, widthLimit), height, angle).width);\n });\n }\n labelWidth += attribute.label.space ?? 4;\n }\n\n // title\n let titleWidth = 0;\n if (attribute.title.visible && attribute.title.text) {\n const { width, height } = table.measureText(attribute.title.text, {\n fontSize: attribute.title?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.title?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.title?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const size = getSizeAfterResize(Math.min(width, widthLimit), height, attribute.title?.style?.angle);\n if ((config.orient === 'left' || config.orient === 'right') && attribute.title.autoRotate) {\n titleWidth = size.height;\n } else {\n titleWidth = size.width;\n }\n titleWidth += attribute.title.space ?? 4;\n }\n\n return tickWidth + labelWidth + titleWidth + 1; // 2 is buffer\n}\n\n/**\n * @description: compuational horizontal axis height\n * @param {ICellAxisOption} config\n * @return {*}\n */\nexport function computeAxisComponentHeight(config: ICellAxisOption, table: BaseTableAPI) {\n const attribute = merge({}, commonAxis, config);\n // tick\n let tickHeight = 0;\n if (attribute.tick.visible !== false) {\n tickHeight = attribute.tick.width ?? 4;\n }\n\n // text\n let labelHeight = 0;\n if (attribute.label.visible) {\n if (attribute.type === 'band') {\n const domain = attribute.domain;\n domain.forEach((text: string) => {\n if (attribute.label.formatMethod) {\n text = attribute.label.formatMethod(text);\n }\n const { width, height } = table.measureText(text, {\n fontSize: attribute.label?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.label?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.label?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const angle =\n (attribute.label?.style?.angle ?? 0) + (attribute.label?.style?.direction === 'vertical' ? 90 : 0);\n labelHeight = Math.max(labelHeight, getSizeAfterResize(Math.min(width, widthLimit), height, angle).height);\n });\n } else {\n let ticks: string[];\n if (isArray((config as any).__ticksForVTable)) {\n ticks = (config as any).__ticksForVTable;\n } else {\n const range = attribute.range;\n const minNumber = Math.abs(range.min) > 1 ? Math.round(range.min) : range.min;\n const maxNumber = Math.abs(range.max) > 1 ? Math.round(range.max) : range.max;\n // abs>1取整保留两位有效数字,abs<1保留一位有效数字\n const minString = formatDecimal(minNumber);\n const maxString = formatDecimal(maxNumber);\n // 这里测量的是预估的最大最小range,与实际现实的label可能不同\n ticks = [minString, maxString];\n }\n ticks.forEach(text => {\n if (attribute.label.formatMethod) {\n text = attribute.label.formatMethod(text);\n }\n const { width, height } = table.measureText(text, {\n fontSize: attribute.label?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.label?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.label?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const angle =\n (attribute.label?.style?.angle ?? 0) + (attribute.label?.style?.direction === 'vertical' ? 90 : 0);\n labelHeight = Math.max(labelHeight, getSizeAfterResize(Math.min(width, widthLimit), height, angle).height);\n });\n }\n labelHeight += attribute.label.space ?? 4;\n }\n\n // title\n let titleHeight = 0;\n if (attribute.title.visible && attribute.title.text) {\n const { width, height } = table.measureText(attribute.title.text, {\n fontSize: attribute.title?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.title?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.title?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const size = getSizeAfterResize(Math.min(width, widthLimit), height, attribute.title?.style?.angle);\n if ((config.orient === 'bottom' || config.orient === 'top') && attribute.title.autoRotate) {\n titleHeight = size.width;\n } else {\n titleHeight = size.height;\n }\n titleHeight += attribute.title.space ?? 4;\n }\n\n return tickHeight + labelHeight + titleHeight + 1; // 2 is buffer\n}\n\n// 保留一位有效数字\nfunction formatDecimal(number: number) {\n if (typeof number !== 'number') {\n number = Number(number);\n }\n\n return Number(number.toPrecision(1)).toString(); // 避免科学计数法\n}\n\n// 计算旋转后的size\nfunction getSizeAfterResize(width: number, height: number, angle = 0) {\n const theta = (angle * Math.PI) / 180; // 角度转为弧度\n const p1 = { x: -width / 2, y: -height / 2 };\n const p2 = { x: width / 2, y: -height / 2 };\n const p3 = { x: width / 2, y: height / 2 };\n const p4 = { x: -width / 2, y: height / 2 };\n\n const p1Rotated = {\n x: p1.x * Math.cos(theta) - p1.y * Math.sin(theta),\n y: p1.x * Math.sin(theta) + p1.y * Math.cos(theta)\n };\n const p2Rotated = {\n x: p2.x * Math.cos(theta) - p2.y * Math.sin(theta),\n y: p2.x * Math.sin(theta) + p2.y * Math.cos(theta)\n };\n const p3Rotated = {\n x: p3.x * Math.cos(theta) - p3.y * Math.sin(theta),\n y: p3.x * Math.sin(theta) + p3.y * Math.cos(theta)\n };\n const p4Rotated = {\n x: p4.x * Math.cos(theta) - p4.y * Math.sin(theta),\n y: p4.x * Math.sin(theta) + p4.y * Math.cos(theta)\n };\n\n const bounds = {\n minX: Math.min(p1Rotated.x, p2Rotated.x, p3Rotated.x, p4Rotated.x),\n maxX: Math.max(p1Rotated.x, p2Rotated.x, p3Rotated.x, p4Rotated.x),\n minY: Math.min(p1Rotated.y, p2Rotated.y, p3Rotated.y, p4Rotated.y),\n maxY: Math.max(p1Rotated.y, p2Rotated.y, p3Rotated.y, p4Rotated.y)\n };\n\n return {\n width: bounds.maxX - bounds.minX,\n height: bounds.maxY - bounds.minY\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/axis/get-axis-component-size.ts"],"names":[],"mappings":"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","file":"get-axis-component-size.js","sourcesContent":["import { isArray, isString, merge } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { ICellAxisOption } from '../../ts-types/component/axis';\nimport { DEFAULT_TEXT_FONT_FAMILY, DEFAULT_TEXT_FONT_SIZE, commonAxis } from './get-axis-attributes';\n\n/**\n * @description: compuational vertical axis width\n * @param {ICellAxisOption} config\n * @return {*}\n */\nexport function computeAxisComponentWidth(config: ICellAxisOption, table: BaseTableAPI) {\n const attribute = merge({}, commonAxis, config);\n // tick\n let tickWidth = 0;\n if (attribute.tick.visible !== false) {\n tickWidth = attribute.tick.width ?? 4;\n }\n\n // text\n let labelWidth = 0;\n if (attribute.label.visible) {\n if (attribute.type === 'band') {\n const domain = attribute.domain;\n domain.forEach((text: string) => {\n if (attribute.label.formatMethod) {\n text = attribute.label.formatMethod(text);\n }\n const { width, height } = table.measureText(text, {\n fontSize: attribute.label?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.label?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.label?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const angel =\n (attribute.label?.style?.angle ?? 0) + (attribute.label?.style?.direction === 'vertical' ? 90 : 0);\n labelWidth = Math.max(labelWidth, getSizeAfterResize(Math.min(width, widthLimit), height, angel).width);\n });\n } else {\n let ticks: string[];\n if (isArray((config as any).__ticksForVTable)) {\n ticks = (config as any).__ticksForVTable;\n } else {\n const range = attribute.range;\n const minNumber = Math.abs(range.min) > 1 ? Math.round(range.min) : range.min;\n const maxNumber = Math.abs(range.max) > 1 ? Math.round(range.max) : range.max;\n // abs>1取整保留两位有效数字,abs<1保留一位有效数字\n const minString = formatDecimal(minNumber);\n const maxString = formatDecimal(maxNumber);\n // 这里测量的是预估的最大最小range,与实际现实的label可能不同\n ticks = [minString, maxString];\n }\n ticks.forEach(text => {\n if (attribute.label.formatMethod) {\n text = attribute.label.formatMethod(text);\n }\n const { width, height } = table.measureText(text, {\n fontSize: attribute.label?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.label?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.label?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const angle =\n (attribute.label?.style?.angle ?? 0) + (attribute.label?.style?.direction === 'vertical' ? 90 : 0);\n labelWidth = Math.max(labelWidth, getSizeAfterResize(Math.min(width, widthLimit), height, angle).width);\n });\n }\n labelWidth += attribute.label.space ?? 4;\n }\n\n // title\n let titleWidth = 0;\n // align with vrender-component, use isString()\n if (attribute.title.visible && isString(attribute.title.text)) {\n const { width, height } = table.measureText(attribute.title.text, {\n fontSize: attribute.title?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.title?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.title?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const size = getSizeAfterResize(Math.min(width, widthLimit), height, attribute.title?.style?.angle);\n if ((config.orient === 'left' || config.orient === 'right') && attribute.title.autoRotate) {\n titleWidth = size.height;\n } else {\n titleWidth = size.width;\n }\n titleWidth += attribute.title.space ?? 4;\n }\n\n return tickWidth + labelWidth + titleWidth + 1; // 2 is buffer\n}\n\n/**\n * @description: compuational horizontal axis height\n * @param {ICellAxisOption} config\n * @return {*}\n */\nexport function computeAxisComponentHeight(config: ICellAxisOption, table: BaseTableAPI) {\n const attribute = merge({}, commonAxis, config);\n // tick\n let tickHeight = 0;\n if (attribute.tick.visible !== false) {\n tickHeight = attribute.tick.width ?? 4;\n }\n\n // text\n let labelHeight = 0;\n if (attribute.label.visible) {\n if (attribute.type === 'band') {\n const domain = attribute.domain;\n domain.forEach((text: string) => {\n if (attribute.label.formatMethod) {\n text = attribute.label.formatMethod(text);\n }\n const { width, height } = table.measureText(text, {\n fontSize: attribute.label?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.label?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.label?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const angle =\n (attribute.label?.style?.angle ?? 0) + (attribute.label?.style?.direction === 'vertical' ? 90 : 0);\n labelHeight = Math.max(labelHeight, getSizeAfterResize(Math.min(width, widthLimit), height, angle).height);\n });\n } else {\n let ticks: string[];\n if (isArray((config as any).__ticksForVTable)) {\n ticks = (config as any).__ticksForVTable;\n } else {\n const range = attribute.range;\n const minNumber = Math.abs(range.min) > 1 ? Math.round(range.min) : range.min;\n const maxNumber = Math.abs(range.max) > 1 ? Math.round(range.max) : range.max;\n // abs>1取整保留两位有效数字,abs<1保留一位有效数字\n const minString = formatDecimal(minNumber);\n const maxString = formatDecimal(maxNumber);\n // 这里测量的是预估的最大最小range,与实际现实的label可能不同\n ticks = [minString, maxString];\n }\n ticks.forEach(text => {\n if (attribute.label.formatMethod) {\n text = attribute.label.formatMethod(text);\n }\n const { width, height } = table.measureText(text, {\n fontSize: attribute.label?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.label?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.label?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const angle =\n (attribute.label?.style?.angle ?? 0) + (attribute.label?.style?.direction === 'vertical' ? 90 : 0);\n labelHeight = Math.max(labelHeight, getSizeAfterResize(Math.min(width, widthLimit), height, angle).height);\n });\n }\n labelHeight += attribute.label.space ?? 4;\n }\n\n // title\n let titleHeight = 0;\n if (attribute.title.visible && attribute.title.text) {\n const { width, height } = table.measureText(attribute.title.text, {\n fontSize: attribute.title?.style?.fontSize ?? DEFAULT_TEXT_FONT_SIZE,\n fontWeight: attribute.title?.style?.fontWeight ?? 'normal',\n fontFamily: attribute.title?.style?.fontFamily ?? DEFAULT_TEXT_FONT_FAMILY\n });\n const widthLimit = attribute.label?.style?.maxLineWidth || Infinity;\n const size = getSizeAfterResize(Math.min(width, widthLimit), height, attribute.title?.style?.angle);\n if ((config.orient === 'bottom' || config.orient === 'top') && attribute.title.autoRotate) {\n titleHeight = size.width;\n } else {\n titleHeight = size.height;\n }\n titleHeight += attribute.title.space ?? 4;\n }\n\n return tickHeight + labelHeight + titleHeight + 1; // 2 is buffer\n}\n\n// 保留一位有效数字\nfunction formatDecimal(number: number) {\n if (typeof number !== 'number') {\n number = Number(number);\n }\n\n return Number(number.toPrecision(1)).toString(); // 避免科学计数法\n}\n\n// 计算旋转后的size\nfunction getSizeAfterResize(width: number, height: number, angle = 0) {\n const theta = (angle * Math.PI) / 180; // 角度转为弧度\n const p1 = { x: -width / 2, y: -height / 2 };\n const p2 = { x: width / 2, y: -height / 2 };\n const p3 = { x: width / 2, y: height / 2 };\n const p4 = { x: -width / 2, y: height / 2 };\n\n const p1Rotated = {\n x: p1.x * Math.cos(theta) - p1.y * Math.sin(theta),\n y: p1.x * Math.sin(theta) + p1.y * Math.cos(theta)\n };\n const p2Rotated = {\n x: p2.x * Math.cos(theta) - p2.y * Math.sin(theta),\n y: p2.x * Math.sin(theta) + p2.y * Math.cos(theta)\n };\n const p3Rotated = {\n x: p3.x * Math.cos(theta) - p3.y * Math.sin(theta),\n y: p3.x * Math.sin(theta) + p3.y * Math.cos(theta)\n };\n const p4Rotated = {\n x: p4.x * Math.cos(theta) - p4.y * Math.sin(theta),\n y: p4.x * Math.sin(theta) + p4.y * Math.cos(theta)\n };\n\n const bounds = {\n minX: Math.min(p1Rotated.x, p2Rotated.x, p3Rotated.x, p4Rotated.x),\n maxX: Math.max(p1Rotated.x, p2Rotated.x, p3Rotated.x, p4Rotated.x),\n minY: Math.min(p1Rotated.y, p2Rotated.y, p3Rotated.y, p4Rotated.y),\n maxY: Math.max(p1Rotated.y, p2Rotated.y, p3Rotated.y, p4Rotated.y)\n };\n\n return {\n width: bounds.maxX - bounds.minX,\n height: bounds.maxY - bounds.minY\n };\n}\n"]}
|
package/es/core/BaseTable.d.ts
CHANGED
|
@@ -62,6 +62,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
|
|
|
62
62
|
}[]>;
|
|
63
63
|
customCellStylePlugin: CustomCellStylePlugin;
|
|
64
64
|
columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';
|
|
65
|
+
_hasAutoImageColumn?: boolean;
|
|
65
66
|
constructor(container: HTMLElement, options?: BaseTableConstructorOptions);
|
|
66
67
|
throttleInvalidate: (this: any, ...args: any[]) => void;
|
|
67
68
|
getContainer(): HTMLElement;
|
|
@@ -378,7 +379,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
|
|
|
378
379
|
measureTextBounds(attribute: ITextGraphicAttribute): AABBBounds;
|
|
379
380
|
getCustomRender(col: number, row: number): ICustomRender;
|
|
380
381
|
getCustomLayout(col: number, row: number): ICustomLayout;
|
|
381
|
-
hasAutoImageColumn():
|
|
382
|
+
hasAutoImageColumn(): boolean;
|
|
382
383
|
_getActiveChartInstance(): any;
|
|
383
384
|
cellIsInVisualView(col: number, row: number): boolean;
|
|
384
385
|
getCustomMergeValue(col: number, row: number): string | undefined;
|
package/es/core/BaseTable.js
CHANGED
|
@@ -70,6 +70,8 @@ import { CustomCellStylePlugin, mergeStyle } from "../plugins/custom-cell-style"
|
|
|
70
70
|
|
|
71
71
|
import { hideCellSelectBorder, restoreCellSelectBorder } from "../scenegraph/select/update-select-border";
|
|
72
72
|
|
|
73
|
+
import { hasAutoImageColumn } from "../layout/layout-helper";
|
|
74
|
+
|
|
73
75
|
const {toBoxArray: toBoxArray} = utilStyle, {isTouchEvent: isTouchEvent} = event, rangeReg = /^\$(\d+)\$(\d+)$/;
|
|
74
76
|
|
|
75
77
|
importStyle();
|
|
@@ -82,7 +84,7 @@ export class BaseTable extends EventTarget {
|
|
|
82
84
|
}
|
|
83
85
|
constructor(container, options = {}) {
|
|
84
86
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
85
|
-
if (super(), this.showFrozenIcon = !0, this.version = "1.0.2
|
|
87
|
+
if (super(), this.showFrozenIcon = !0, this.version = "1.0.2", this.id = `VTable${Date.now()}`,
|
|
86
88
|
this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = throttle2(this.render.bind(this), 200),
|
|
87
89
|
!container && "node" !== options.mode) throw new Error("vtable's container is undefined");
|
|
88
90
|
const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, autoFillHeight: autoFillHeight = !1, widthAdaptiveMode: widthAdaptiveMode = "only-body", heightAdaptiveMode: heightAdaptiveMode = "only-body", keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, rowResizeMode: rowResizeMode = "none", dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight, clearDOM: clearDOM = !0} = options;
|
|
@@ -101,7 +103,7 @@ export class BaseTable extends EventTarget {
|
|
|
101
103
|
this.tableNoFrameHeight = 0, this.canvasWidth = canvasWidth, this.canvasHeight = canvasHeight,
|
|
102
104
|
this.columnWidthComputeMode = null !== (_a = options.columnWidthComputeMode) && void 0 !== _a ? _a : "normal";
|
|
103
105
|
const internalProps = this.internalProps = {};
|
|
104
|
-
|
|
106
|
+
void 0 !== showFrozenIcon && (this.showFrozenIcon = showFrozenIcon), "number" == typeof allowFrozenColCount && allowFrozenColCount <= 0 && (this.showFrozenIcon = !1),
|
|
105
107
|
"node" !== Env.mode && (internalProps.element = createRootElement(this.padding),
|
|
106
108
|
internalProps.focusControl = new FocusInput(this, internalProps.element), internalProps.canvas = document.createElement("canvas"),
|
|
107
109
|
internalProps.element.appendChild(internalProps.canvas), internalProps.context = internalProps.canvas.getContext("2d")),
|
|
@@ -135,18 +137,11 @@ export class BaseTable extends EventTarget {
|
|
|
135
137
|
internalProps.limitMinWidth = null != limitMinWidth ? "number" == typeof limitMinWidth ? limitMinWidth : limitMinWidth ? 10 : 0 : 10,
|
|
136
138
|
internalProps.limitMinHeight = null != limitMinHeight ? "number" == typeof limitMinHeight ? limitMinHeight : limitMinHeight ? 10 : 0 : 10,
|
|
137
139
|
this._vDataSet = new DataSet, this.scenegraph = new Scenegraph(this), this.stateManager = new StateManager(this),
|
|
138
|
-
this.eventManager = new EventManager(this), options.legends
|
|
139
|
-
|
|
140
|
-
for (let i = 0; i < options.legends.length; i++) internalProps.legends.push(createLegend(options.legends[i], this));
|
|
141
|
-
this.scenegraph.tableGroup.setAttributes({
|
|
142
|
-
x: this.tableX,
|
|
143
|
-
y: this.tableY
|
|
144
|
-
});
|
|
145
|
-
} else internalProps.legends.push(createLegend(options.legends, this)), this.scenegraph.tableGroup.setAttributes({
|
|
140
|
+
this.eventManager = new EventManager(this), options.legends && (internalProps.legends = createLegend(options.legends, this),
|
|
141
|
+
this.scenegraph.tableGroup.setAttributes({
|
|
146
142
|
x: this.tableX,
|
|
147
143
|
y: this.tableY
|
|
148
|
-
})
|
|
149
|
-
internalProps.tooltip = Object.assign({
|
|
144
|
+
})), internalProps.tooltip = Object.assign({
|
|
150
145
|
renderMode: "html",
|
|
151
146
|
isShowOverflowTextTooltip: !1,
|
|
152
147
|
confine: !0
|
|
@@ -171,10 +166,8 @@ export class BaseTable extends EventTarget {
|
|
|
171
166
|
return this.internalProps.canvas;
|
|
172
167
|
}
|
|
173
168
|
resize() {
|
|
174
|
-
|
|
175
|
-
this.
|
|
176
|
-
null == legend || legend.resize();
|
|
177
|
-
})), this.internalProps.title && this.internalProps.title.resize(), this.scenegraph.resize();
|
|
169
|
+
this._updateSize(), this.internalProps.legends && this.internalProps.legends.resize(),
|
|
170
|
+
this.internalProps.title && this.internalProps.title.resize(), this.scenegraph.resize();
|
|
178
171
|
}
|
|
179
172
|
get rowCount() {
|
|
180
173
|
return this.internalProps.rowCount;
|
|
@@ -780,10 +773,8 @@ export class BaseTable extends EventTarget {
|
|
|
780
773
|
IconCache.clearAll(), null === (_e = super.release) || void 0 === _e || _e.call(this),
|
|
781
774
|
null === (_g = null === (_f = internalProps.handler) || void 0 === _f ? void 0 : _f.release) || void 0 === _g || _g.call(_f),
|
|
782
775
|
null === (_j = null === (_h = internalProps.focusControl) || void 0 === _h ? void 0 : _h.release) || void 0 === _j || _j.call(_h),
|
|
783
|
-
null === (_k = internalProps.legends) || void 0 === _k || _k.
|
|
784
|
-
|
|
785
|
-
})), null === (_l = internalProps.title) || void 0 === _l || _l.release(), internalProps.layoutMap.release(),
|
|
786
|
-
internalProps.releaseList && (internalProps.releaseList.forEach((releaseObj => {
|
|
776
|
+
null === (_k = internalProps.legends) || void 0 === _k || _k.release(), null === (_l = internalProps.title) || void 0 === _l || _l.release(),
|
|
777
|
+
internalProps.layoutMap.release(), internalProps.releaseList && (internalProps.releaseList.forEach((releaseObj => {
|
|
787
778
|
var _a;
|
|
788
779
|
return null === (_a = null == releaseObj ? void 0 : releaseObj.release) || void 0 === _a ? void 0 : _a.call(releaseObj);
|
|
789
780
|
})), internalProps.releaseList = null), this.scenegraph.stage.release(), this.scenegraph.proxy.release();
|
|
@@ -796,7 +787,7 @@ export class BaseTable extends EventTarget {
|
|
|
796
787
|
}
|
|
797
788
|
updateOption(options) {
|
|
798
789
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
799
|
-
this.options = options;
|
|
790
|
+
this.options = options, this._hasAutoImageColumn = void 0;
|
|
800
791
|
const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth = 80, keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, rowResizeMode: rowResizeMode = "none", dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, pixelRatio: pixelRatio, widthMode: widthMode, heightMode: heightMode, autoFillWidth: autoFillWidth, autoFillHeight: autoFillHeight, widthAdaptiveMode: widthAdaptiveMode, heightAdaptiveMode: heightAdaptiveMode, customRender: customRender, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight} = options;
|
|
801
792
|
pixelRatio && pixelRatio !== this.internalProps.pixelRatio && (this.internalProps.pixelRatio = pixelRatio),
|
|
802
793
|
padding && ("number" == typeof padding ? (this.padding.top = padding, this.padding.left = padding,
|
|
@@ -810,7 +801,7 @@ export class BaseTable extends EventTarget {
|
|
|
810
801
|
this.autoFillWidth = null != autoFillWidth && autoFillWidth, this.autoFillHeight = null != autoFillHeight && autoFillHeight,
|
|
811
802
|
this.customRender = customRender;
|
|
812
803
|
const internalProps = this.internalProps;
|
|
813
|
-
|
|
804
|
+
"node" !== Env.mode && updateRootElementPadding(internalProps.element, this.padding),
|
|
814
805
|
this.columnWidthComputeMode = null !== (_a = options.columnWidthComputeMode) && void 0 !== _a ? _a : "normal",
|
|
815
806
|
internalProps.frozenColCount = frozenColCount, internalProps.defaultRowHeight = defaultRowHeight,
|
|
816
807
|
internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
|
|
@@ -831,22 +822,14 @@ export class BaseTable extends EventTarget {
|
|
|
831
822
|
internalProps.limitMaxAutoWidth = null !== (_d = options.limitMaxAutoWidth) && void 0 !== _d ? _d : 450,
|
|
832
823
|
internalProps.limitMinWidth = null != limitMinWidth ? "number" == typeof limitMinWidth ? limitMinWidth : limitMinWidth ? 10 : 0 : 10,
|
|
833
824
|
internalProps.limitMinHeight = null != limitMinHeight ? "number" == typeof limitMinHeight ? limitMinHeight : limitMinHeight ? 10 : 0 : 10,
|
|
834
|
-
this._vDataSet = new DataSet, null === (_e = internalProps.legends) || void 0 === _e || _e.
|
|
835
|
-
|
|
836
|
-
})), null === (_f = internalProps.title) || void 0 === _f || _f.release(), internalProps.layoutMap.release(),
|
|
825
|
+
this._vDataSet = new DataSet, null === (_e = internalProps.legends) || void 0 === _e || _e.release(),
|
|
826
|
+
null === (_f = internalProps.title) || void 0 === _f || _f.release(), internalProps.layoutMap.release(),
|
|
837
827
|
this.scenegraph.clearCells(), this.scenegraph.updateComponent(), this.stateManager.updateOptionSetState(),
|
|
838
|
-
this._updateSize(), this.eventManager.updateEventBinder(), options.legends
|
|
839
|
-
|
|
840
|
-
for (let i = 0; i < options.legends.length; i++) internalProps.legends.push(createLegend(options.legends[i], this));
|
|
841
|
-
this.scenegraph.tableGroup.setAttributes({
|
|
842
|
-
x: this.tableX,
|
|
843
|
-
y: this.tableY
|
|
844
|
-
});
|
|
845
|
-
} else internalProps.legends.push(createLegend(options.legends, this)), this.scenegraph.tableGroup.setAttributes({
|
|
828
|
+
this._updateSize(), this.eventManager.updateEventBinder(), options.legends && (internalProps.legends = createLegend(options.legends, this),
|
|
829
|
+
this.scenegraph.tableGroup.setAttributes({
|
|
846
830
|
x: this.tableX,
|
|
847
831
|
y: this.tableY
|
|
848
|
-
})
|
|
849
|
-
internalProps.tooltip = Object.assign({
|
|
832
|
+
})), internalProps.tooltip = Object.assign({
|
|
850
833
|
renderMode: "html",
|
|
851
834
|
isShowOverflowTextTooltip: !1,
|
|
852
835
|
confine: !0
|
|
@@ -1047,7 +1030,7 @@ export class BaseTable extends EventTarget {
|
|
|
1047
1030
|
selectCells(cellRanges) {
|
|
1048
1031
|
const {scrollLeft: scrollLeft, scrollTop: scrollTop} = this;
|
|
1049
1032
|
cellRanges.forEach(((cellRange, index) => {
|
|
1050
|
-
cellRange.start.col === cellRange.end.col && cellRange.start.row === cellRange.end.row ? this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, !1, index >= 1, !1, !1, !0) : (this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, !1, index >= 1),
|
|
1033
|
+
cellRange.start.col === cellRange.end.col && cellRange.start.row === cellRange.end.row ? this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, !1, index >= 1, !1, !1, !0) : (this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, !1, index >= 1, !1, !1, !0),
|
|
1051
1034
|
this.stateManager.updateInteractionState(InteractionState.grabing), this.stateManager.updateSelectPos(cellRange.end.col, cellRange.end.row, !1, index >= 1, !1, !1, !0)),
|
|
1052
1035
|
this.stateManager.endSelectCells(!1), this.stateManager.updateInteractionState(InteractionState.default);
|
|
1053
1036
|
})), this.setScrollTop(scrollTop), this.setScrollLeft(scrollLeft);
|
|
@@ -1646,8 +1629,8 @@ export class BaseTable extends EventTarget {
|
|
|
1646
1629
|
return customLayout;
|
|
1647
1630
|
}
|
|
1648
1631
|
hasAutoImageColumn() {
|
|
1649
|
-
|
|
1650
|
-
|
|
1632
|
+
return void 0 === this._hasAutoImageColumn && (this._hasAutoImageColumn = hasAutoImageColumn(this)),
|
|
1633
|
+
this._hasAutoImageColumn;
|
|
1651
1634
|
}
|
|
1652
1635
|
_getActiveChartInstance() {
|
|
1653
1636
|
var _a, _b, _c, _d, _e, _f;
|