@visactor/vtable 1.1.1-alpha.0 → 1.1.1

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.
Files changed (47) hide show
  1. package/cjs/ListTable.js +7 -6
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotChart.js +40 -19
  4. package/cjs/PivotChart.js.map +1 -1
  5. package/cjs/PivotTable.js +77 -34
  6. package/cjs/PivotTable.js.map +1 -1
  7. package/cjs/components/empty-tip/empty-tip.js +1 -5
  8. package/cjs/components/empty-tip/empty-tip.js.map +1 -1
  9. package/cjs/core/BaseTable.js +1 -1
  10. package/cjs/core/BaseTable.js.map +1 -1
  11. package/cjs/dataset/dataset.d.ts +4 -1
  12. package/cjs/dataset/dataset.js +5 -5
  13. package/cjs/dataset/dataset.js.map +1 -1
  14. package/cjs/index.d.ts +1 -1
  15. package/cjs/index.js +2 -2
  16. package/cjs/index.js.map +1 -1
  17. package/cjs/layout/tree-helper.js +1 -0
  18. package/cjs/plugins/themes.js +1 -2
  19. package/cjs/scenegraph/style/frame-border.js +3 -2
  20. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  21. package/cjs/vrender.js +9 -9
  22. package/cjs/vrender.js.map +1 -1
  23. package/dist/vtable.js +184 -51
  24. package/dist/vtable.min.js +2 -2
  25. package/es/ListTable.js +6 -6
  26. package/es/ListTable.js.map +1 -1
  27. package/es/PivotChart.js +40 -19
  28. package/es/PivotChart.js.map +1 -1
  29. package/es/PivotTable.js +77 -34
  30. package/es/PivotTable.js.map +1 -1
  31. package/es/components/empty-tip/empty-tip.js +1 -5
  32. package/es/components/empty-tip/empty-tip.js.map +1 -1
  33. package/es/core/BaseTable.js +1 -1
  34. package/es/core/BaseTable.js.map +1 -1
  35. package/es/dataset/dataset.d.ts +4 -1
  36. package/es/dataset/dataset.js +5 -5
  37. package/es/dataset/dataset.js.map +1 -1
  38. package/es/index.d.ts +1 -1
  39. package/es/index.js +1 -1
  40. package/es/index.js.map +1 -1
  41. package/es/layout/tree-helper.js +2 -1
  42. package/es/plugins/themes.js +1 -2
  43. package/es/scenegraph/style/frame-border.js +3 -2
  44. package/es/scenegraph/style/frame-border.js.map +1 -1
  45. package/es/vrender.js +2 -2
  46. package/es/vrender.js.map +1 -1
  47. package/package.json +3 -3
package/es/index.d.ts CHANGED
@@ -16,7 +16,7 @@ import { renderChart } from './scenegraph/graphic/contributions/chart-render-hel
16
16
  import { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';
17
17
  export { getDataCellPath } from './tools/get-data-path';
18
18
  export * from './render/jsx';
19
- export declare const version = "1.1.1-alpha.0";
19
+ export declare const version = "1.1.1";
20
20
  export { TYPES, core, ListTable, ListTableConstructorOptions, PivotTable, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, TextAlignType, TextBaselineType, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText };
21
21
  declare function getIcons(): {
22
22
  [key: string]: TYPES.ColumnIconOption;
package/es/index.js CHANGED
@@ -34,7 +34,7 @@ export { getDataCellPath } from "./tools/get-data-path";
34
34
 
35
35
  export * from "./render/jsx";
36
36
 
37
- export const version = "1.1.1-alpha.0";
37
+ export const version = "1.1.1";
38
38
 
39
39
  export { TYPES, core, ListTable, PivotTable, PivotChart, themes, data, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText };
40
40
 
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,kBAAkB,EAAE,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAsB3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAK/F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAE7B,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AAIvC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EAET,UAAU,EAGV,UAAU,EAiBV,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EACnB,CAAC;AAGF,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AACD,KAAK,CAAC,eAAe,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTable } from './ListTable';\nimport { PivotTable } from './PivotTable';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\n\nexport const version = \"1.1.1-alpha.0\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n graphicUtil,\n setCustomAlphabetCharSet,\n restoreMeasureText\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,kBAAkB,EAAE,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAsB3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAK/F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAE7B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAI/B,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EAET,UAAU,EAGV,UAAU,EAiBV,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EACnB,CAAC;AAGF,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AACD,KAAK,CAAC,eAAe,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTable } from './ListTable';\nimport { PivotTable } from './PivotTable';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\n\nexport const version = \"1.1.1\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n graphicUtil,\n setCustomAlphabetCharSet,\n restoreMeasureText\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n"]}
@@ -260,4 +260,5 @@ function clearNode(children) {
260
260
  const childrenNew = node.children || node.columns;
261
261
  childrenNew && clearNode(childrenNew);
262
262
  }
263
- }
263
+ }
264
+ //# sourceMappingURL=tree-helper.js.map
@@ -1,2 +1 @@
1
- export const themes = {};
2
- //# sourceMappingURL=themes.js.map
1
+ export const themes = {};
@@ -5,7 +5,7 @@ import { isArray } from "@visactor/vutils";
5
5
  import { getQuadProps } from "../utils/padding";
6
6
 
7
7
  export function createFrameBorder(group, frameTheme, role, strokeArray, justForXYPosition) {
8
- var _a, _b, _c, _d;
8
+ var _a, _b, _c, _d, _e;
9
9
  if (!frameTheme) return;
10
10
  const isTableGroup = "table" === role, {shadowBlur: shadowBlur, shadowOffsetX: shadowOffsetX, shadowOffsetY: shadowOffsetY, shadowColor: shadowColor, cornerRadius: cornerRadius, borderColor: borderColor, borderLineWidth: borderLineWidth, borderLineDash: borderLineDash} = frameTheme;
11
11
  let hasShadow = !1;
@@ -26,7 +26,8 @@ export function createFrameBorder(group, frameTheme, role, strokeArray, justForX
26
26
  if (group.setAttributes(groupAttributes), !justForXYPosition && rectAttributes.stroke) if (rectAttributes.x = borderLeft / 2,
27
27
  rectAttributes.y = borderTop / 2, rectAttributes.pickable = !1, isTableGroup) {
28
28
  let shadowRect, borderRect;
29
- if (frameTheme.innerBorder ? (rectAttributes.x = group.attribute.x + borderLeft / 2,
29
+ if (cornerRadius && (rectAttributes.cornerRadius = cornerRadius + (null !== (_e = rectAttributes.lineWidth) && void 0 !== _e ? _e : 0) / 2),
30
+ frameTheme.innerBorder ? (rectAttributes.x = group.attribute.x + borderLeft / 2,
30
31
  rectAttributes.y = group.attribute.y + borderTop / 2, rectAttributes.width = group.attribute.width - borderLeft / 2 - borderRight / 2,
31
32
  rectAttributes.height = group.attribute.height - borderTop / 2 - borderBottom / 2) : (rectAttributes.x = group.attribute.x - borderLeft / 2,
32
33
  rectAttributes.y = group.attribute.y - borderTop / 2, rectAttributes.width = group.attribute.width + borderLeft / 2 + borderRight / 2,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/style/frame-border.ts"],"names":[],"mappings":"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","file":"frame-border.js","sourcesContent":["import type { IGroupGraphicAttribute, IRect, IRectGraphicAttribute } from './../../vrender';\nimport { createGroup, createRect } from './../../vrender';\nimport type { TableFrameStyle } from '../../ts-types';\nimport type { Group } from '../graphic/group';\nimport { isArray } from '@visactor/vutils';\nimport { getQuadProps } from '../utils/padding';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\n\n/**\n * @description: create frame border\n * @param {Group} group\n * @param {TableFrameStyle} frameTheme\n * @param {string} role\n * @param {[boolean, boolean, boolean, boolean]} strokeArray\n * @return {*}\n */\nexport function createFrameBorder(\n group: Group,\n frameTheme: TableFrameStyle | undefined,\n role: string,\n strokeArray: [boolean, boolean, boolean, boolean] | undefined, // to do 处理成0b001111形式\n justForXYPosition?: boolean\n) {\n if (!frameTheme) {\n return;\n }\n\n const isTableGroup = role === 'table';\n\n const {\n shadowBlur,\n shadowOffsetX,\n shadowOffsetY,\n shadowColor,\n cornerRadius,\n borderColor,\n borderLineWidth,\n borderLineDash\n } = frameTheme;\n\n let hasShadow = false;\n const groupAttributes: IGroupGraphicAttribute = {};\n const rectAttributes: IRectGraphicAttribute = {\n pickable: false\n };\n // 处理shadow\n if (shadowBlur && isTableGroup) {\n // 只有table才能配置shadow\n rectAttributes.shadowBlur = shadowBlur;\n rectAttributes.shadowOffsetX = shadowOffsetX;\n rectAttributes.shadowOffsetY = shadowOffsetY;\n rectAttributes.shadowColor = shadowColor;\n rectAttributes.stroke = true;\n rectAttributes.stroke = shadowColor;\n rectAttributes.lineWidth = 1;\n hasShadow = true;\n\n // rectAttributes.fill = true;\n // rectAttributes.fillOpacity = 0.01;\n }\n\n // 处理边框\n if (borderLineWidth) {\n rectAttributes.stroke = true;\n rectAttributes.fill = false;\n rectAttributes.stroke = getStroke(borderColor, strokeArray);\n rectAttributes.lineWidth = borderLineWidth as number;\n borderLineDash && (rectAttributes.lineDash = borderLineDash as number[]);\n rectAttributes.lineCap = 'butt';\n }\n\n if (Array.isArray(borderColor)) {\n (rectAttributes as any).strokeArrayColor = getQuadProps(borderColor as any);\n }\n if (Array.isArray(borderLineWidth)) {\n (rectAttributes as any).strokeArrayWidth = getQuadProps(borderLineWidth);\n (rectAttributes as any).lineWidth = 1;\n }\n\n if (cornerRadius) {\n rectAttributes.cornerRadius = cornerRadius;\n groupAttributes.cornerRadius = cornerRadius;\n }\n\n const borderTop = (rectAttributes as any).strokeArrayWidth\n ? (rectAttributes as any).strokeArrayWidth[0]\n : (rectAttributes.lineWidth as number) ?? 0;\n const borderRight = (rectAttributes as any).strokeArrayWidth\n ? (rectAttributes as any).strokeArrayWidth[1]\n : (rectAttributes.lineWidth as number) ?? 0;\n const borderBottom = (rectAttributes as any).strokeArrayWidth\n ? (rectAttributes as any).strokeArrayWidth[2]\n : (rectAttributes.lineWidth as number) ?? 0;\n const borderLeft = (rectAttributes as any).strokeArrayWidth\n ? (rectAttributes as any).strokeArrayWidth[3]\n : (rectAttributes.lineWidth as number) ?? 0;\n\n // // 处理边框引起的宽度高度变化(只对最外层tableGroup生效)\n // if (isTableGroup && (rectAttributes.shadowBlur || rectAttributes.lineWidth)) {\n // const deltaX = (rectAttributes.shadowBlur ?? 0) + (borderLeft + borderRight) / 2;\n // const deltaY = (rectAttributes.shadowBlur ?? 0) + (borderTop + borderBottom) / 2;\n\n // groupAttributes.x = deltaX;\n // groupAttributes.y = deltaY;\n // // 宽度高度在tableNoFrameWidth&tableNoFrameHeight中处理\n // // groupAttributes.width = group.attribute.width - deltaX - deltaX;\n // // groupAttributes.height = group.attribute.height - deltaY - deltaY;\n // }\n group.setAttributes(groupAttributes);\n\n if (justForXYPosition) {\n return;\n }\n\n if (rectAttributes.stroke) {\n rectAttributes.x = borderLeft / 2;\n rectAttributes.y = borderTop / 2;\n rectAttributes.pickable = false;\n if (isTableGroup) {\n if (frameTheme.innerBorder) {\n rectAttributes.x = group.attribute.x + borderLeft / 2;\n rectAttributes.y = group.attribute.y + borderTop / 2;\n rectAttributes.width = group.attribute.width - borderLeft / 2 - borderRight / 2;\n rectAttributes.height = group.attribute.height - borderTop / 2 - borderBottom / 2;\n } else {\n rectAttributes.x = group.attribute.x - borderLeft / 2;\n rectAttributes.y = group.attribute.y - borderTop / 2;\n rectAttributes.width = group.attribute.width + borderLeft / 2 + borderRight / 2;\n rectAttributes.height = group.attribute.height + borderTop / 2 + borderBottom / 2;\n }\n\n let shadowRect;\n let borderRect;\n if (hasShadow) {\n rectAttributes.fill = 'white';\n (rectAttributes as any).notAdjustPos = true;\n // rectAttributes.globalCompositeOperation = 'source-over';\n\n // first draw group\n borderRect = createGroup(rectAttributes);\n borderRect.name = 'table-border-rect';\n\n // second draw rect\n shadowRect = createRect({\n x: borderLeft / 2,\n y: borderTop / 2,\n width: group.attribute.width,\n height: group.attribute.height,\n fill: 'red',\n cornerRadius: group.attribute.cornerRadius,\n globalCompositeOperation: 'destination-out'\n });\n borderRect.addChild(shadowRect);\n\n // hack for vrender globalCompositeOperation&clip render problem\n const hackRect = createRect({\n width: 1,\n height: 1,\n fill: 'transparent',\n pickable: false\n });\n borderRect.addChild(hackRect);\n } else {\n borderRect = createRect(rectAttributes);\n borderRect.name = 'table-border-rect';\n }\n\n // to be fixed: border index in shadow mode\n if (frameTheme.innerBorder && !hasShadow) {\n group.parent.insertAfter(borderRect, group);\n } else {\n group.parent.insertBefore(borderRect, group);\n }\n (group as any).border = borderRect;\n } else {\n // rectAttributes.x = rectAttributes.lineWidth / 2;\n // rectAttributes.y = rectAttributes.lineWidth / 2;\n rectAttributes.width = group.attribute.width - borderLeft / 2 - borderRight / 2;\n rectAttributes.height = group.attribute.height - borderTop / 2 - borderBottom / 2;\n const borderRect = createRect(rectAttributes);\n borderRect.name = 'border-rect';\n group.addChild(borderRect);\n (group as any).border = borderRect;\n }\n }\n}\n\n/**\n * @description: update frame border stroke atrribute\n * @param {Group} group\n * @param {TableFrameStyle} frameTheme\n * @param {array} strokeArray stroke boolean array\n * @return {*}\n */\nexport function updateFrameBorder(\n group: Group,\n frameTheme: TableFrameStyle | undefined,\n strokeArray?: [boolean, boolean, boolean, boolean] // to do 处理成0b001111形式\n) {\n const { borderColor } = frameTheme;\n group.border?.setAttribute('stroke', getStroke(borderColor, strokeArray));\n}\n\nexport function getStroke(borderColor: string | string[], strokeArray: boolean[] | undefined) {\n let stroke: boolean | string | (boolean | string)[] = true;\n if (strokeArray && !isArray(borderColor)) {\n stroke = strokeArray.map(stroke => {\n if (stroke) {\n return borderColor;\n }\n return false;\n });\n } else if (strokeArray) {\n stroke = strokeArray;\n } else if (!strokeArray && !isArray(borderColor)) {\n stroke = borderColor;\n } else if (isArray(borderColor)) {\n stroke = true;\n }\n return stroke;\n}\n\n/**\n * @description: update frame border size when group size change\n * @param {Group} group\n * @return {*}\n */\nexport function updateFrameBorderSize(group: Group) {\n if (!group.border) {\n return;\n }\n const borderTop = (group.border.attribute as any).strokeArrayWidth\n ? (group.border.attribute as any).strokeArrayWidth[0]\n : (group.border.attribute.lineWidth as number) ?? 0;\n const borderRight = (group.border.attribute as any).strokeArrayWidth\n ? (group.border.attribute as any).strokeArrayWidth[1]\n : (group.border.attribute.lineWidth as number) ?? 0;\n const borderBottom = (group.border.attribute as any).strokeArrayWidth\n ? (group.border.attribute as any).strokeArrayWidth[2]\n : (group.border.attribute.lineWidth as number) ?? 0;\n const borderLeft = (group.border.attribute as any).strokeArrayWidth\n ? (group.border.attribute as any).strokeArrayWidth[3]\n : (group.border.attribute.lineWidth as number) ?? 0;\n\n group.border.setAttributes({\n width: group.attribute.width - borderLeft / 2 - borderRight / 2,\n height: group.attribute.height - borderTop / 2 - borderBottom / 2\n });\n\n if (group.border.type === 'group') {\n (group.border.firstChild as IRect).setAttributes({\n width: group.attribute.width,\n height: group.attribute.height\n });\n }\n}\n\nexport function updateCornerRadius(table: BaseTableAPI) {\n if (!table.theme.frameStyle.cornerRadius) {\n return;\n }\n const cornerRadius = table.theme.frameStyle.cornerRadius;\n const {\n cornerHeaderGroup,\n colHeaderGroup,\n rowHeaderGroup,\n bodyGroup,\n rightTopCornerGroup,\n leftBottomCornerGroup,\n rightBottomCornerGroup,\n rightFrozenGroup,\n bottomFrozenGroup\n } = table.scenegraph;\n\n // reset corner radius\n cornerHeaderGroup.setAttribute('cornerRadius', 0);\n colHeaderGroup.setAttribute('cornerRadius', 0);\n rowHeaderGroup.setAttribute('cornerRadius', 0);\n bodyGroup.setAttribute('cornerRadius', 0);\n rightTopCornerGroup.setAttribute('cornerRadius', 0);\n leftBottomCornerGroup.setAttribute('cornerRadius', 0);\n rightBottomCornerGroup.setAttribute('cornerRadius', 0);\n rightFrozenGroup.setAttribute('cornerRadius', 0);\n bottomFrozenGroup.setAttribute('cornerRadius', 0);\n\n // left top\n if (cornerHeaderGroup.attribute.width > 0 && cornerHeaderGroup.attribute.height > 0) {\n setCornerRadius(cornerHeaderGroup, [cornerRadius, 0, 0, 0]);\n } else if (colHeaderGroup.attribute.height > 0) {\n setCornerRadius(colHeaderGroup, [cornerRadius, 0, 0, 0]);\n } else if (rowHeaderGroup.attribute.width > 0) {\n setCornerRadius(rowHeaderGroup, [cornerRadius, 0, 0, 0]);\n } else {\n setCornerRadius(bodyGroup, [cornerRadius, 0, 0, 0]);\n }\n\n // left bottom\n if (leftBottomCornerGroup.attribute.width > 0 && leftBottomCornerGroup.attribute.height > 0) {\n setCornerRadius(leftBottomCornerGroup, [0, 0, 0, cornerRadius]);\n } else if (bottomFrozenGroup.attribute.height > 0) {\n setCornerRadius(bottomFrozenGroup, [0, 0, 0, cornerRadius]);\n } else if (rowHeaderGroup.attribute.width > 0) {\n setCornerRadius(rowHeaderGroup, [0, 0, 0, cornerRadius]);\n } else {\n setCornerRadius(bodyGroup, [0, 0, 0, cornerRadius]);\n }\n\n // right top\n if (rightTopCornerGroup.attribute.width > 0 && rightTopCornerGroup.attribute.height > 0) {\n setCornerRadius(rightTopCornerGroup, [0, cornerRadius, 0, 0]);\n } else if (colHeaderGroup.attribute.height > 0) {\n setCornerRadius(colHeaderGroup, [0, cornerRadius, 0, 0]);\n } else if (rightFrozenGroup.attribute.width > 0) {\n setCornerRadius(rightFrozenGroup, [0, cornerRadius, 0, 0]);\n } else {\n setCornerRadius(bodyGroup, [0, cornerRadius, 0, 0]);\n }\n\n // right bottom\n if (rightBottomCornerGroup.attribute.width > 0 && rightBottomCornerGroup.attribute.height > 0) {\n setCornerRadius(rightBottomCornerGroup, [0, 0, cornerRadius, 0]);\n } else if (rightFrozenGroup.attribute.width > 0) {\n setCornerRadius(rightFrozenGroup, [0, 0, cornerRadius, 0]);\n } else if (bottomFrozenGroup.attribute.height > 0) {\n setCornerRadius(bottomFrozenGroup, [0, 0, cornerRadius, 0]);\n } else {\n setCornerRadius(bodyGroup, [0, 0, cornerRadius, 0]);\n }\n}\n\nfunction setCornerRadius(group: Group, cornerRadius: number[]) {\n group.setAttribute('cornerRadius', cornerRadius);\n if (group.border) {\n group.border.setAttribute('cornerRadius', cornerRadius);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/style/frame-border.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAWhD,MAAM,UAAU,iBAAiB,CAC/B,KAAY,EACZ,UAAuC,EACvC,IAAY,EACZ,WAA6D,EAC7D,iBAA2B;;IAE3B,IAAI,CAAC,UAAU,EAAE;QACf,OAAO;KACR;IAED,MAAM,YAAY,GAAG,IAAI,KAAK,OAAO,CAAC;IAEtC,MAAM,EACJ,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACf,GAAG,UAAU,CAAC;IAEf,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,eAAe,GAA2B,EAAE,CAAC;IACnD,MAAM,cAAc,GAA0B;QAC5C,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEF,IAAI,UAAU,IAAI,YAAY,EAAE;QAE9B,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC;QACvC,cAAc,CAAC,aAAa,GAAG,aAAa,CAAC;QAC7C,cAAc,CAAC,aAAa,GAAG,aAAa,CAAC;QAC7C,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC;QACzC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;QAC7B,cAAc,CAAC,MAAM,GAAG,WAAW,CAAC;QACpC,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC;QAC7B,SAAS,GAAG,IAAI,CAAC;KAIlB;IAGD,IAAI,eAAe,EAAE;QACnB,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;QAC7B,cAAc,CAAC,IAAI,GAAG,KAAK,CAAC;QAC5B,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,cAAc,CAAC,SAAS,GAAG,eAAyB,CAAC;QACrD,cAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,cAA0B,CAAC,CAAC;QACzE,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC;KACjC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QAC7B,cAAsB,CAAC,gBAAgB,GAAG,YAAY,CAAC,WAAkB,CAAC,CAAC;KAC7E;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QACjC,cAAsB,CAAC,gBAAgB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;QACxE,cAAsB,CAAC,SAAS,GAAG,CAAC,CAAC;KACvC;IAED,IAAI,YAAY,EAAE;QAChB,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC;QAC3C,eAAe,CAAC,YAAY,GAAG,YAAY,CAAC;KAC7C;IAED,MAAM,SAAS,GAAI,cAAsB,CAAC,gBAAgB;QACxD,CAAC,CAAE,cAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,MAAC,cAAc,CAAC,SAAoB,mCAAI,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAI,cAAsB,CAAC,gBAAgB;QAC1D,CAAC,CAAE,cAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,MAAC,cAAc,CAAC,SAAoB,mCAAI,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAI,cAAsB,CAAC,gBAAgB;QAC3D,CAAC,CAAE,cAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,MAAC,cAAc,CAAC,SAAoB,mCAAI,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAI,cAAsB,CAAC,gBAAgB;QACzD,CAAC,CAAE,cAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,MAAC,cAAc,CAAC,SAAoB,mCAAI,CAAC,CAAC;IAa9C,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAErC,IAAI,iBAAiB,EAAE;QACrB,OAAO;KACR;IAED,IAAI,cAAc,CAAC,MAAM,EAAE;QACzB,cAAc,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAClC,cAAc,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;QACjC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;QAChC,IAAI,YAAY,EAAE;YAChB,IAAI,YAAY,EAAE;gBAChB,cAAc,CAAC,YAAY,GAAG,YAAY,GAAG,CAAC,MAAA,cAAc,CAAC,SAAS,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;aAClF;YACD,IAAI,UAAU,CAAC,WAAW,EAAE;gBAC1B,cAAc,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;gBACtD,cAAc,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;gBACrD,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC;gBAChF,cAAc,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;aACnF;iBAAM;gBACL,cAAc,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;gBACtD,cAAc,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;gBACrD,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC;gBAChF,cAAc,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;aACnF;YAED,IAAI,UAAU,CAAC;YACf,IAAI,UAAU,CAAC;YACf,IAAI,SAAS,EAAE;gBACb,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC;gBAC7B,cAAsB,CAAC,YAAY,GAAG,IAAI,CAAC;gBAI5C,UAAU,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;gBACzC,UAAU,CAAC,IAAI,GAAG,mBAAmB,CAAC;gBAGtC,UAAU,GAAG,UAAU,CAAC;oBACtB,CAAC,EAAE,UAAU,GAAG,CAAC;oBACjB,CAAC,EAAE,SAAS,GAAG,CAAC;oBAChB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;oBAC5B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;oBAC9B,IAAI,EAAE,KAAK;oBACX,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY;oBAC1C,wBAAwB,EAAE,iBAAiB;iBAC5C,CAAC,CAAC;gBACH,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAGhC,MAAM,QAAQ,GAAG,UAAU,CAAC;oBAC1B,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;oBACT,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBACH,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC/B;iBAAM;gBACL,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;gBACxC,UAAU,CAAC,IAAI,GAAG,mBAAmB,CAAC;aACvC;YAGD,IAAI,UAAU,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;gBACxC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;aAC7C;iBAAM;gBACL,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;aAC9C;YACA,KAAa,CAAC,MAAM,GAAG,UAAU,CAAC;SACpC;aAAM;YAGL,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC;YAChF,cAAc,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;YAClF,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;YAC9C,UAAU,CAAC,IAAI,GAAG,aAAa,CAAC;YAChC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1B,KAAa,CAAC,MAAM,GAAG,UAAU,CAAC;SACpC;KACF;AACH,CAAC;AASD,MAAM,UAAU,iBAAiB,CAC/B,KAAY,EACZ,UAAuC,EACvC,WAAkD;;IAElD,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IACnC,MAAA,KAAK,CAAC,MAAM,0CAAE,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,WAA8B,EAAE,WAAkC;IAC1F,IAAI,MAAM,GAA4C,IAAI,CAAC;IAC3D,IAAI,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QACxC,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAChC,IAAI,MAAM,EAAE;gBACV,OAAO,WAAW,CAAC;aACpB;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;KACJ;SAAM,IAAI,WAAW,EAAE;QACtB,MAAM,GAAG,WAAW,CAAC;KACtB;SAAM,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QAChD,MAAM,GAAG,WAAW,CAAC;KACtB;SAAM,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;QAC/B,MAAM,GAAG,IAAI,CAAC;KACf;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAOD,MAAM,UAAU,qBAAqB,CAAC,KAAY;;IAChD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACjB,OAAO;KACR;IACD,MAAM,SAAS,GAAI,KAAK,CAAC,MAAM,CAAC,SAAiB,CAAC,gBAAgB;QAChE,CAAC,CAAE,KAAK,CAAC,MAAM,CAAC,SAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,MAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAoB,mCAAI,CAAC,CAAC;IACtD,MAAM,WAAW,GAAI,KAAK,CAAC,MAAM,CAAC,SAAiB,CAAC,gBAAgB;QAClE,CAAC,CAAE,KAAK,CAAC,MAAM,CAAC,SAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,MAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAoB,mCAAI,CAAC,CAAC;IACtD,MAAM,YAAY,GAAI,KAAK,CAAC,MAAM,CAAC,SAAiB,CAAC,gBAAgB;QACnE,CAAC,CAAE,KAAK,CAAC,MAAM,CAAC,SAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,MAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAoB,mCAAI,CAAC,CAAC;IACtD,MAAM,UAAU,GAAI,KAAK,CAAC,MAAM,CAAC,SAAiB,CAAC,gBAAgB;QACjE,CAAC,CAAE,KAAK,CAAC,MAAM,CAAC,SAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,MAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAoB,mCAAI,CAAC,CAAC;IAEtD,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC;QAC/D,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC;KAClE,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;QAChC,KAAK,CAAC,MAAM,CAAC,UAAoB,CAAC,aAAa,CAAC;YAC/C,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;YAC5B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;SAC/B,CAAC,CAAC;KACJ;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAmB;IACpD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE;QACxC,OAAO;KACR;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;IACzD,MAAM,EACJ,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EAClB,GAAG,KAAK,CAAC,UAAU,CAAC;IAGrB,iBAAiB,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAClD,cAAc,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC/C,cAAc,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC/C,SAAS,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC1C,mBAAmB,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACpD,qBAAqB,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACtD,sBAAsB,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACvD,gBAAgB,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACjD,iBAAiB,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAGlD,IAAI,iBAAiB,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACnF,eAAe,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC7D;SAAM,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9C,eAAe,CAAC,cAAc,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC1D;SAAM,IAAI,cAAc,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE;QAC7C,eAAe,CAAC,cAAc,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC1D;SAAM;QACL,eAAe,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACrD;IAGD,IAAI,qBAAqB,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,IAAI,qBAAqB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3F,eAAe,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;KACjE;SAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACjD,eAAe,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;KAC7D;SAAM,IAAI,cAAc,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE;QAC7C,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;KAC1D;SAAM;QACL,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;KACrD;IAGD,IAAI,mBAAmB,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,IAAI,mBAAmB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACvF,eAAe,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/D;SAAM,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9C,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC1D;SAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE;QAC/C,eAAe,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC5D;SAAM;QACL,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACrD;IAGD,IAAI,sBAAsB,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,IAAI,sBAAsB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7F,eAAe,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;KAClE;SAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE;QAC/C,eAAe,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;KAC5D;SAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACjD,eAAe,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;KAC7D;SAAM;QACL,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;KACrD;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAY,EAAE,YAAsB;IAC3D,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;KACzD;AACH,CAAC","file":"frame-border.js","sourcesContent":["import type { IGroupGraphicAttribute, IRect, IRectGraphicAttribute } from './../../vrender';\nimport { createGroup, createRect } from './../../vrender';\nimport type { TableFrameStyle } from '../../ts-types';\nimport type { Group } from '../graphic/group';\nimport { isArray } from '@visactor/vutils';\nimport { getQuadProps } from '../utils/padding';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\n\n/**\n * @description: create frame border\n * @param {Group} group\n * @param {TableFrameStyle} frameTheme\n * @param {string} role\n * @param {[boolean, boolean, boolean, boolean]} strokeArray\n * @return {*}\n */\nexport function createFrameBorder(\n group: Group,\n frameTheme: TableFrameStyle | undefined,\n role: string,\n strokeArray: [boolean, boolean, boolean, boolean] | undefined, // to do 处理成0b001111形式\n justForXYPosition?: boolean\n) {\n if (!frameTheme) {\n return;\n }\n\n const isTableGroup = role === 'table';\n\n const {\n shadowBlur,\n shadowOffsetX,\n shadowOffsetY,\n shadowColor,\n cornerRadius,\n borderColor,\n borderLineWidth,\n borderLineDash\n } = frameTheme;\n\n let hasShadow = false;\n const groupAttributes: IGroupGraphicAttribute = {};\n const rectAttributes: IRectGraphicAttribute = {\n pickable: false\n };\n // 处理shadow\n if (shadowBlur && isTableGroup) {\n // 只有table才能配置shadow\n rectAttributes.shadowBlur = shadowBlur;\n rectAttributes.shadowOffsetX = shadowOffsetX;\n rectAttributes.shadowOffsetY = shadowOffsetY;\n rectAttributes.shadowColor = shadowColor;\n rectAttributes.stroke = true;\n rectAttributes.stroke = shadowColor;\n rectAttributes.lineWidth = 1;\n hasShadow = true;\n\n // rectAttributes.fill = true;\n // rectAttributes.fillOpacity = 0.01;\n }\n\n // 处理边框\n if (borderLineWidth) {\n rectAttributes.stroke = true;\n rectAttributes.fill = false;\n rectAttributes.stroke = getStroke(borderColor, strokeArray);\n rectAttributes.lineWidth = borderLineWidth as number;\n borderLineDash && (rectAttributes.lineDash = borderLineDash as number[]);\n rectAttributes.lineCap = 'butt';\n }\n\n if (Array.isArray(borderColor)) {\n (rectAttributes as any).strokeArrayColor = getQuadProps(borderColor as any);\n }\n\n if (Array.isArray(borderLineWidth)) {\n (rectAttributes as any).strokeArrayWidth = getQuadProps(borderLineWidth);\n (rectAttributes as any).lineWidth = 1;\n }\n\n if (cornerRadius) {\n rectAttributes.cornerRadius = cornerRadius;\n groupAttributes.cornerRadius = cornerRadius;\n }\n\n const borderTop = (rectAttributes as any).strokeArrayWidth\n ? (rectAttributes as any).strokeArrayWidth[0]\n : (rectAttributes.lineWidth as number) ?? 0;\n const borderRight = (rectAttributes as any).strokeArrayWidth\n ? (rectAttributes as any).strokeArrayWidth[1]\n : (rectAttributes.lineWidth as number) ?? 0;\n const borderBottom = (rectAttributes as any).strokeArrayWidth\n ? (rectAttributes as any).strokeArrayWidth[2]\n : (rectAttributes.lineWidth as number) ?? 0;\n const borderLeft = (rectAttributes as any).strokeArrayWidth\n ? (rectAttributes as any).strokeArrayWidth[3]\n : (rectAttributes.lineWidth as number) ?? 0;\n\n // // 处理边框引起的宽度高度变化(只对最外层tableGroup生效)\n // if (isTableGroup && (rectAttributes.shadowBlur || rectAttributes.lineWidth)) {\n // const deltaX = (rectAttributes.shadowBlur ?? 0) + (borderLeft + borderRight) / 2;\n // const deltaY = (rectAttributes.shadowBlur ?? 0) + (borderTop + borderBottom) / 2;\n\n // groupAttributes.x = deltaX;\n // groupAttributes.y = deltaY;\n // // 宽度高度在tableNoFrameWidth&tableNoFrameHeight中处理\n // // groupAttributes.width = group.attribute.width - deltaX - deltaX;\n // // groupAttributes.height = group.attribute.height - deltaY - deltaY;\n // }\n group.setAttributes(groupAttributes);\n\n if (justForXYPosition) {\n return;\n }\n\n if (rectAttributes.stroke) {\n rectAttributes.x = borderLeft / 2;\n rectAttributes.y = borderTop / 2;\n rectAttributes.pickable = false;\n if (isTableGroup) {\n if (cornerRadius) {\n rectAttributes.cornerRadius = cornerRadius + (rectAttributes.lineWidth ?? 0) / 2;\n }\n if (frameTheme.innerBorder) {\n rectAttributes.x = group.attribute.x + borderLeft / 2;\n rectAttributes.y = group.attribute.y + borderTop / 2;\n rectAttributes.width = group.attribute.width - borderLeft / 2 - borderRight / 2;\n rectAttributes.height = group.attribute.height - borderTop / 2 - borderBottom / 2;\n } else {\n rectAttributes.x = group.attribute.x - borderLeft / 2;\n rectAttributes.y = group.attribute.y - borderTop / 2;\n rectAttributes.width = group.attribute.width + borderLeft / 2 + borderRight / 2;\n rectAttributes.height = group.attribute.height + borderTop / 2 + borderBottom / 2;\n }\n\n let shadowRect;\n let borderRect;\n if (hasShadow) {\n rectAttributes.fill = 'white';\n (rectAttributes as any).notAdjustPos = true;\n // rectAttributes.globalCompositeOperation = 'source-over';\n\n // first draw group\n borderRect = createGroup(rectAttributes);\n borderRect.name = 'table-border-rect';\n\n // second draw rect\n shadowRect = createRect({\n x: borderLeft / 2,\n y: borderTop / 2,\n width: group.attribute.width,\n height: group.attribute.height,\n fill: 'red',\n cornerRadius: group.attribute.cornerRadius,\n globalCompositeOperation: 'destination-out'\n });\n borderRect.addChild(shadowRect);\n\n // hack for vrender globalCompositeOperation&clip render problem\n const hackRect = createRect({\n width: 1,\n height: 1,\n fill: 'transparent',\n pickable: false\n });\n borderRect.addChild(hackRect);\n } else {\n borderRect = createRect(rectAttributes);\n borderRect.name = 'table-border-rect';\n }\n\n // to be fixed: border index in shadow mode\n if (frameTheme.innerBorder && !hasShadow) {\n group.parent.insertAfter(borderRect, group);\n } else {\n group.parent.insertBefore(borderRect, group);\n }\n (group as any).border = borderRect;\n } else {\n // rectAttributes.x = rectAttributes.lineWidth / 2;\n // rectAttributes.y = rectAttributes.lineWidth / 2;\n rectAttributes.width = group.attribute.width - borderLeft / 2 - borderRight / 2;\n rectAttributes.height = group.attribute.height - borderTop / 2 - borderBottom / 2;\n const borderRect = createRect(rectAttributes);\n borderRect.name = 'border-rect';\n group.addChild(borderRect);\n (group as any).border = borderRect;\n }\n }\n}\n\n/**\n * @description: update frame border stroke atrribute\n * @param {Group} group\n * @param {TableFrameStyle} frameTheme\n * @param {array} strokeArray stroke boolean array\n * @return {*}\n */\nexport function updateFrameBorder(\n group: Group,\n frameTheme: TableFrameStyle | undefined,\n strokeArray?: [boolean, boolean, boolean, boolean] // to do 处理成0b001111形式\n) {\n const { borderColor } = frameTheme;\n group.border?.setAttribute('stroke', getStroke(borderColor, strokeArray));\n}\n\nexport function getStroke(borderColor: string | string[], strokeArray: boolean[] | undefined) {\n let stroke: boolean | string | (boolean | string)[] = true;\n if (strokeArray && !isArray(borderColor)) {\n stroke = strokeArray.map(stroke => {\n if (stroke) {\n return borderColor;\n }\n return false;\n });\n } else if (strokeArray) {\n stroke = strokeArray;\n } else if (!strokeArray && !isArray(borderColor)) {\n stroke = borderColor;\n } else if (isArray(borderColor)) {\n stroke = true;\n }\n return stroke;\n}\n\n/**\n * @description: update frame border size when group size change\n * @param {Group} group\n * @return {*}\n */\nexport function updateFrameBorderSize(group: Group) {\n if (!group.border) {\n return;\n }\n const borderTop = (group.border.attribute as any).strokeArrayWidth\n ? (group.border.attribute as any).strokeArrayWidth[0]\n : (group.border.attribute.lineWidth as number) ?? 0;\n const borderRight = (group.border.attribute as any).strokeArrayWidth\n ? (group.border.attribute as any).strokeArrayWidth[1]\n : (group.border.attribute.lineWidth as number) ?? 0;\n const borderBottom = (group.border.attribute as any).strokeArrayWidth\n ? (group.border.attribute as any).strokeArrayWidth[2]\n : (group.border.attribute.lineWidth as number) ?? 0;\n const borderLeft = (group.border.attribute as any).strokeArrayWidth\n ? (group.border.attribute as any).strokeArrayWidth[3]\n : (group.border.attribute.lineWidth as number) ?? 0;\n\n group.border.setAttributes({\n width: group.attribute.width - borderLeft / 2 - borderRight / 2,\n height: group.attribute.height - borderTop / 2 - borderBottom / 2\n });\n\n if (group.border.type === 'group') {\n (group.border.firstChild as IRect).setAttributes({\n width: group.attribute.width,\n height: group.attribute.height\n });\n }\n}\n\nexport function updateCornerRadius(table: BaseTableAPI) {\n if (!table.theme.frameStyle.cornerRadius) {\n return;\n }\n const cornerRadius = table.theme.frameStyle.cornerRadius;\n const {\n cornerHeaderGroup,\n colHeaderGroup,\n rowHeaderGroup,\n bodyGroup,\n rightTopCornerGroup,\n leftBottomCornerGroup,\n rightBottomCornerGroup,\n rightFrozenGroup,\n bottomFrozenGroup\n } = table.scenegraph;\n\n // reset corner radius\n cornerHeaderGroup.setAttribute('cornerRadius', 0);\n colHeaderGroup.setAttribute('cornerRadius', 0);\n rowHeaderGroup.setAttribute('cornerRadius', 0);\n bodyGroup.setAttribute('cornerRadius', 0);\n rightTopCornerGroup.setAttribute('cornerRadius', 0);\n leftBottomCornerGroup.setAttribute('cornerRadius', 0);\n rightBottomCornerGroup.setAttribute('cornerRadius', 0);\n rightFrozenGroup.setAttribute('cornerRadius', 0);\n bottomFrozenGroup.setAttribute('cornerRadius', 0);\n\n // left top\n if (cornerHeaderGroup.attribute.width > 0 && cornerHeaderGroup.attribute.height > 0) {\n setCornerRadius(cornerHeaderGroup, [cornerRadius, 0, 0, 0]);\n } else if (colHeaderGroup.attribute.height > 0) {\n setCornerRadius(colHeaderGroup, [cornerRadius, 0, 0, 0]);\n } else if (rowHeaderGroup.attribute.width > 0) {\n setCornerRadius(rowHeaderGroup, [cornerRadius, 0, 0, 0]);\n } else {\n setCornerRadius(bodyGroup, [cornerRadius, 0, 0, 0]);\n }\n\n // left bottom\n if (leftBottomCornerGroup.attribute.width > 0 && leftBottomCornerGroup.attribute.height > 0) {\n setCornerRadius(leftBottomCornerGroup, [0, 0, 0, cornerRadius]);\n } else if (bottomFrozenGroup.attribute.height > 0) {\n setCornerRadius(bottomFrozenGroup, [0, 0, 0, cornerRadius]);\n } else if (rowHeaderGroup.attribute.width > 0) {\n setCornerRadius(rowHeaderGroup, [0, 0, 0, cornerRadius]);\n } else {\n setCornerRadius(bodyGroup, [0, 0, 0, cornerRadius]);\n }\n\n // right top\n if (rightTopCornerGroup.attribute.width > 0 && rightTopCornerGroup.attribute.height > 0) {\n setCornerRadius(rightTopCornerGroup, [0, cornerRadius, 0, 0]);\n } else if (colHeaderGroup.attribute.height > 0) {\n setCornerRadius(colHeaderGroup, [0, cornerRadius, 0, 0]);\n } else if (rightFrozenGroup.attribute.width > 0) {\n setCornerRadius(rightFrozenGroup, [0, cornerRadius, 0, 0]);\n } else {\n setCornerRadius(bodyGroup, [0, cornerRadius, 0, 0]);\n }\n\n // right bottom\n if (rightBottomCornerGroup.attribute.width > 0 && rightBottomCornerGroup.attribute.height > 0) {\n setCornerRadius(rightBottomCornerGroup, [0, 0, cornerRadius, 0]);\n } else if (rightFrozenGroup.attribute.width > 0) {\n setCornerRadius(rightFrozenGroup, [0, 0, cornerRadius, 0]);\n } else if (bottomFrozenGroup.attribute.height > 0) {\n setCornerRadius(bottomFrozenGroup, [0, 0, cornerRadius, 0]);\n } else {\n setCornerRadius(bodyGroup, [0, 0, cornerRadius, 0]);\n }\n}\n\nfunction setCornerRadius(group: Group, cornerRadius: number[]) {\n group.setAttribute('cornerRadius', cornerRadius);\n if (group.border) {\n group.border.setAttribute('cornerRadius', cornerRadius);\n }\n}\n"]}
package/es/vrender.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "@visactor/vrender-core";
2
2
 
3
- import { container, isNodeEnv, preLoadAllModule } from "@visactor/vrender-core";
3
+ import { container, isBrowserEnv, isNodeEnv, preLoadAllModule } from "@visactor/vrender-core";
4
4
 
5
5
  import { loadBrowserEnv, loadNodeEnv } from "@visactor/vrender-kits";
6
6
 
@@ -9,7 +9,7 @@ import { registerArc, registerArc3d, registerArea, registerCircle, registerGlyph
9
9
  let registed = !1;
10
10
 
11
11
  export function registerForVrender() {
12
- registed || (registed = !0, preLoadAllModule(), loadBrowserEnv(container), isNodeEnv() && loadNodeEnv(container),
12
+ registed || (registed = !0, preLoadAllModule(), isBrowserEnv() ? loadBrowserEnv(container) : isNodeEnv() && loadNodeEnv(container),
13
13
  registerArc(), registerArc3d(), registerArea(), registerCircle(), registerGlyph(),
14
14
  registerGroup(), registerImage(), registerLine(), registerPath(), registerPolygon(),
15
15
  registerPyramid3d(), registerRect(), registerRect3d(), registerRichtext(), registerShadowRoot(),
package/es/vrender.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAgB,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EACL,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,MAAM,UAAU,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,gBAAgB,EAAE,CAAC;IAOnB,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1B,IAAI,SAAS,EAAE,EAAE;QACf,WAAW,CAAC,SAAS,CAAC,CAAC;KACxB;IACD,WAAW,EAAE,CAAC;IACd,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,eAAe,EAAE,CAAC;IAClB,iBAAiB,EAAE,CAAC;IACpB,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC","file":"vrender.js","sourcesContent":["import '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule } from '@visactor/vrender-core';\nimport { loadBrowserEnv, loadNodeEnv } from '@visactor/vrender-kits';\nimport {\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.1.1-alpha.0\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n // if (isBrowserEnv()) {\n // loadBrowserEnv(container);\n // } else if (isNodeEnv()) {\n // loadNodeEnv(container);\n // }\n loadBrowserEnv(container); // temply\n if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n registerArc3d();\n registerArea();\n registerCircle();\n registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n registerPath();\n registerPolygon();\n registerPyramid3d();\n registerRect();\n registerRect3d();\n registerRichtext();\n registerShadowRoot();\n registerSymbol();\n registerText();\n registerWrapText();\n}\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\n"]}
1
+ {"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EACL,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,MAAM,UAAU,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,gBAAgB,EAAE,CAAC;IAEnB,IAAI,YAAY,EAAE,EAAE;QAClB,cAAc,CAAC,SAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,SAAS,EAAE,EAAE;QACtB,WAAW,CAAC,SAAS,CAAC,CAAC;KACxB;IACD,WAAW,EAAE,CAAC;IACd,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,eAAe,EAAE,CAAC;IAClB,iBAAiB,EAAE,CAAC;IACpB,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC","file":"vrender.js","sourcesContent":["import '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule } from '@visactor/vrender-core';\nimport { loadBrowserEnv, loadNodeEnv } from '@visactor/vrender-kits';\nimport {\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.1.1\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n registerArc3d();\n registerArea();\n registerCircle();\n registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n registerPath();\n registerPolygon();\n registerPyramid3d();\n registerRect();\n registerRect3d();\n registerRichtext();\n registerShadowRoot();\n registerSymbol();\n registerText();\n registerWrapText();\n}\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vtable",
3
- "version": "1.1.1-alpha.0",
3
+ "version": "1.1.1",
4
4
  "description": "canvas table width high performance",
5
5
  "keywords": [
6
6
  "grid",
@@ -35,14 +35,14 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@visactor/vtable-editors": "1.1.1-alpha.0",
39
38
  "@visactor/vrender-core": "0.19.6-alpha.3",
40
39
  "@visactor/vrender-kits": "0.19.6-alpha.3",
41
40
  "@visactor/vrender-components": "0.19.6-alpha.3",
42
41
  "@visactor/vutils": "~0.18.9",
43
42
  "@visactor/vscale": "~0.18.1",
44
43
  "@visactor/vdataset": "~0.18.1",
45
- "cssfontparser": "^1.2.1"
44
+ "cssfontparser": "^1.2.1",
45
+ "@visactor/vtable-editors": "1.1.1"
46
46
  },
47
47
  "devDependencies": {
48
48
  "luxon": "*",