@visactor/vtable 0.10.1-alpha.4 → 0.10.2-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/cjs/ListTable.js +3 -3
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotChart.js +1 -1
  4. package/cjs/PivotChart.js.map +1 -1
  5. package/cjs/PivotTable.js +3 -3
  6. package/cjs/PivotTable.js.map +1 -1
  7. package/cjs/body-helper/body-helper.d.ts +1 -1
  8. package/cjs/body-helper/body-helper.js +2 -2
  9. package/cjs/body-helper/body-helper.js.map +1 -1
  10. package/cjs/components/axis/axis.js +0 -5
  11. package/cjs/components/axis/axis.js.map +1 -1
  12. package/cjs/components/axis/get-axis-component-size.d.ts +2 -2
  13. package/cjs/components/axis/get-axis-component-size.js +12 -8
  14. package/cjs/components/axis/get-axis-component-size.js.map +1 -1
  15. package/cjs/components/axis/label-overlap.js +20 -2
  16. package/cjs/components/axis/label-overlap.js.map +1 -1
  17. package/cjs/components/menu/dom/logic/MenuContainer.js +1 -1
  18. package/cjs/components/menu/dom/logic/MenuContainer.js.map +1 -1
  19. package/cjs/components/menu/dom/logic/MenuElement.js +3 -3
  20. package/cjs/components/menu/dom/logic/MenuElement.js.map +1 -1
  21. package/cjs/components/util/tick-data/continuous.js +8 -3
  22. package/cjs/components/util/tick-data/continuous.js.map +1 -1
  23. package/cjs/components/util/tick-data/discrete/linear.js +28 -4
  24. package/cjs/components/util/tick-data/discrete/linear.js.map +1 -1
  25. package/cjs/components/util/tick-data/discrete/polar-angle.js +2 -2
  26. package/cjs/components/util/tick-data/discrete/polar-angle.js.map +1 -1
  27. package/cjs/components/util/tick-data/util.js +1 -2
  28. package/cjs/components/util/tick-data/util.js.map +1 -1
  29. package/cjs/core/BaseTable.d.ts +4 -4
  30. package/cjs/core/BaseTable.js +15 -15
  31. package/cjs/core/BaseTable.js.map +1 -1
  32. package/cjs/core/tableHelper.js +1 -1
  33. package/cjs/core/tableHelper.js.map +1 -1
  34. package/cjs/data/CachedDataSource.d.ts +3 -3
  35. package/cjs/data/CachedDataSource.js +4 -4
  36. package/cjs/data/CachedDataSource.js.map +1 -1
  37. package/cjs/data/DataSource.d.ts +4 -4
  38. package/cjs/data/DataSource.js +5 -5
  39. package/cjs/data/DataSource.js.map +1 -1
  40. package/cjs/event/media-click.js +1 -1
  41. package/cjs/event/media-click.js.map +1 -1
  42. package/cjs/event/sparkline-event.js +2 -2
  43. package/cjs/event/sparkline-event.js.map +1 -1
  44. package/cjs/index.d.ts +2 -1
  45. package/cjs/index.js +3 -2
  46. package/cjs/index.js.map +1 -1
  47. package/cjs/layout/pivot-header-layout.d.ts +2 -2
  48. package/cjs/layout/pivot-header-layout.js +8 -8
  49. package/cjs/layout/pivot-header-layout.js.map +1 -1
  50. package/cjs/layout/pivot-layout.d.ts +2 -2
  51. package/cjs/layout/pivot-layout.js +10 -10
  52. package/cjs/layout/pivot-layout.js.map +1 -1
  53. package/cjs/layout/simple-header-layout.d.ts +2 -2
  54. package/cjs/layout/simple-header-layout.js +3 -3
  55. package/cjs/layout/simple-header-layout.js.map +1 -1
  56. package/cjs/scenegraph/component/cell-mover.js +3 -3
  57. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  58. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +10 -6
  59. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  60. package/cjs/scenegraph/graphic/contributions/chart-render.js +16 -5
  61. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  62. package/cjs/scenegraph/group-creater/cell-helper.js +5 -5
  63. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  64. package/cjs/scenegraph/group-creater/column-helper.d.ts +2 -2
  65. package/cjs/scenegraph/group-creater/column-helper.js +4 -4
  66. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  67. package/cjs/scenegraph/group-creater/column.d.ts +2 -2
  68. package/cjs/scenegraph/group-creater/column.js +2 -2
  69. package/cjs/scenegraph/group-creater/column.js.map +1 -1
  70. package/cjs/scenegraph/layout/compute-col-width.js +1 -1
  71. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  72. package/cjs/scenegraph/layout/compute-row-height.js +1 -1
  73. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  74. package/cjs/scenegraph/layout/move-cell.js +1 -1
  75. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  76. package/cjs/scenegraph/layout/update-cell.js +1 -1
  77. package/cjs/scenegraph/layout/update-cell.js.map +1 -1
  78. package/cjs/scenegraph/layout/update-height.js +1 -1
  79. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  80. package/cjs/scenegraph/scenegraph.d.ts +4 -4
  81. package/cjs/scenegraph/scenegraph.js +31 -3
  82. package/cjs/scenegraph/scenegraph.js.map +1 -1
  83. package/cjs/scenegraph/select/create-select-border.d.ts +2 -2
  84. package/cjs/scenegraph/select/create-select-border.js.map +1 -1
  85. package/cjs/scenegraph/select/delete-select-border.js.map +1 -1
  86. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  87. package/cjs/state/cell-move/index.js +3 -3
  88. package/cjs/state/cell-move/index.js.map +1 -1
  89. package/cjs/state/drill/index.js +1 -1
  90. package/cjs/state/drill/index.js.map +1 -1
  91. package/cjs/state/state.js +1 -1
  92. package/cjs/state/state.js.map +1 -1
  93. package/cjs/ts-types/base-table.d.ts +4 -4
  94. package/cjs/ts-types/base-table.js.map +1 -1
  95. package/cjs/ts-types/common.d.ts +3 -3
  96. package/cjs/ts-types/common.js.map +1 -1
  97. package/cjs/ts-types/events.d.ts +2 -3
  98. package/cjs/ts-types/events.js.map +1 -1
  99. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  100. package/cjs/ts-types/list-table/define/chart-define.d.ts +1 -1
  101. package/cjs/ts-types/list-table/define/chart-define.js.map +1 -1
  102. package/cjs/ts-types/list-table/define/image-define.d.ts +1 -1
  103. package/cjs/ts-types/list-table/define/image-define.js.map +1 -1
  104. package/cjs/ts-types/list-table/define/link-define.d.ts +1 -1
  105. package/cjs/ts-types/list-table/define/link-define.js.map +1 -1
  106. package/cjs/ts-types/list-table/define/multilinetext-define.d.ts +1 -1
  107. package/cjs/ts-types/list-table/define/multilinetext-define.js.map +1 -1
  108. package/cjs/ts-types/list-table/define/progressbar-define.d.ts +1 -1
  109. package/cjs/ts-types/list-table/define/progressbar-define.js.map +1 -1
  110. package/cjs/ts-types/list-table/define/sparkline-define.d.ts +1 -1
  111. package/cjs/ts-types/list-table/define/sparkline-define.js.map +1 -1
  112. package/cjs/ts-types/list-table/layout-map/api.d.ts +2 -2
  113. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  114. package/cjs/ts-types/menu.d.ts +2 -2
  115. package/cjs/ts-types/menu.js.map +1 -1
  116. package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  117. package/cjs/ts-types/pivot-table/indicator/chart-indicator.d.ts +1 -1
  118. package/cjs/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -1
  119. package/cjs/ts-types/pivot-table/indicator/image-indicator.d.ts +1 -1
  120. package/cjs/ts-types/pivot-table/indicator/image-indicator.js.map +1 -1
  121. package/cjs/ts-types/pivot-table/indicator/link-indicator.d.ts +1 -1
  122. package/cjs/ts-types/pivot-table/indicator/link-indicator.js.map +1 -1
  123. package/cjs/ts-types/pivot-table/indicator/multilinetext-indicator.d.ts +1 -1
  124. package/cjs/ts-types/pivot-table/indicator/multilinetext-indicator.js.map +1 -1
  125. package/cjs/ts-types/pivot-table/indicator/progress-indicator.d.ts +1 -1
  126. package/cjs/ts-types/pivot-table/indicator/progress-indicator.js.map +1 -1
  127. package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.d.ts +1 -1
  128. package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -1
  129. package/cjs/ts-types/style-define.d.ts +3 -2
  130. package/cjs/ts-types/style-define.js.map +1 -1
  131. package/cjs/ts-types/table-engine.d.ts +5 -4
  132. package/cjs/ts-types/table-engine.js.map +1 -1
  133. package/dist/vtable.js +65414 -64937
  134. package/dist/vtable.min.js +13 -13
  135. package/es/ListTable.js +3 -3
  136. package/es/ListTable.js.map +1 -1
  137. package/es/PivotChart.js +1 -1
  138. package/es/PivotChart.js.map +1 -1
  139. package/es/PivotTable.js +3 -3
  140. package/es/PivotTable.js.map +1 -1
  141. package/es/body-helper/body-helper.d.ts +1 -1
  142. package/es/body-helper/body-helper.js +2 -2
  143. package/es/body-helper/body-helper.js.map +1 -1
  144. package/es/components/axis/axis.js +0 -5
  145. package/es/components/axis/axis.js.map +1 -1
  146. package/es/components/axis/get-axis-component-size.d.ts +2 -2
  147. package/es/components/axis/get-axis-component-size.js +12 -8
  148. package/es/components/axis/get-axis-component-size.js.map +1 -1
  149. package/es/components/axis/label-overlap.js +20 -2
  150. package/es/components/axis/label-overlap.js.map +1 -1
  151. package/es/components/menu/dom/logic/MenuContainer.js +1 -1
  152. package/es/components/menu/dom/logic/MenuContainer.js.map +1 -1
  153. package/es/components/menu/dom/logic/MenuElement.js +3 -3
  154. package/es/components/menu/dom/logic/MenuElement.js.map +1 -1
  155. package/es/components/util/tick-data/continuous.js +8 -3
  156. package/es/components/util/tick-data/continuous.js.map +1 -1
  157. package/es/components/util/tick-data/discrete/linear.js +26 -4
  158. package/es/components/util/tick-data/discrete/linear.js.map +1 -1
  159. package/es/components/util/tick-data/discrete/polar-angle.js +2 -2
  160. package/es/components/util/tick-data/discrete/polar-angle.js.map +1 -1
  161. package/es/components/util/tick-data/util.js +1 -2
  162. package/es/components/util/tick-data/util.js.map +1 -1
  163. package/es/core/BaseTable.d.ts +4 -4
  164. package/es/core/BaseTable.js +15 -15
  165. package/es/core/BaseTable.js.map +1 -1
  166. package/es/core/tableHelper.js +1 -1
  167. package/es/core/tableHelper.js.map +1 -1
  168. package/es/data/CachedDataSource.d.ts +3 -3
  169. package/es/data/CachedDataSource.js +4 -4
  170. package/es/data/CachedDataSource.js.map +1 -1
  171. package/es/data/DataSource.d.ts +4 -4
  172. package/es/data/DataSource.js +5 -5
  173. package/es/data/DataSource.js.map +1 -1
  174. package/es/event/media-click.js +1 -1
  175. package/es/event/media-click.js.map +1 -1
  176. package/es/event/sparkline-event.js +2 -2
  177. package/es/event/sparkline-event.js.map +1 -1
  178. package/es/index.d.ts +2 -1
  179. package/es/index.js +3 -1
  180. package/es/index.js.map +1 -1
  181. package/es/layout/pivot-header-layout.d.ts +2 -2
  182. package/es/layout/pivot-header-layout.js +8 -8
  183. package/es/layout/pivot-header-layout.js.map +1 -1
  184. package/es/layout/pivot-layout.d.ts +2 -2
  185. package/es/layout/pivot-layout.js +10 -10
  186. package/es/layout/pivot-layout.js.map +1 -1
  187. package/es/layout/simple-header-layout.d.ts +2 -2
  188. package/es/layout/simple-header-layout.js +3 -3
  189. package/es/layout/simple-header-layout.js.map +1 -1
  190. package/es/scenegraph/component/cell-mover.js +3 -3
  191. package/es/scenegraph/component/cell-mover.js.map +1 -1
  192. package/es/scenegraph/graphic/contributions/chart-render-helper.js +10 -6
  193. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  194. package/es/scenegraph/graphic/contributions/chart-render.js +16 -5
  195. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  196. package/es/scenegraph/group-creater/cell-helper.js +5 -5
  197. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  198. package/es/scenegraph/group-creater/column-helper.d.ts +2 -2
  199. package/es/scenegraph/group-creater/column-helper.js +4 -4
  200. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  201. package/es/scenegraph/group-creater/column.d.ts +2 -2
  202. package/es/scenegraph/group-creater/column.js +2 -2
  203. package/es/scenegraph/group-creater/column.js.map +1 -1
  204. package/es/scenegraph/layout/compute-col-width.js +1 -1
  205. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  206. package/es/scenegraph/layout/compute-row-height.js +1 -1
  207. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  208. package/es/scenegraph/layout/move-cell.js +1 -1
  209. package/es/scenegraph/layout/move-cell.js.map +1 -1
  210. package/es/scenegraph/layout/update-cell.js +1 -1
  211. package/es/scenegraph/layout/update-cell.js.map +1 -1
  212. package/es/scenegraph/layout/update-height.js +1 -1
  213. package/es/scenegraph/layout/update-height.js.map +1 -1
  214. package/es/scenegraph/scenegraph.d.ts +4 -4
  215. package/es/scenegraph/scenegraph.js +32 -2
  216. package/es/scenegraph/scenegraph.js.map +1 -1
  217. package/es/scenegraph/select/create-select-border.d.ts +2 -2
  218. package/es/scenegraph/select/create-select-border.js.map +1 -1
  219. package/es/scenegraph/select/delete-select-border.js.map +1 -1
  220. package/es/scenegraph/select/update-select-border.js.map +1 -1
  221. package/es/state/cell-move/index.js +3 -3
  222. package/es/state/cell-move/index.js.map +1 -1
  223. package/es/state/drill/index.js +1 -1
  224. package/es/state/drill/index.js.map +1 -1
  225. package/es/state/state.js +1 -1
  226. package/es/state/state.js.map +1 -1
  227. package/es/ts-types/base-table.d.ts +4 -4
  228. package/es/ts-types/base-table.js.map +1 -1
  229. package/es/ts-types/common.d.ts +3 -3
  230. package/es/ts-types/common.js.map +1 -1
  231. package/es/ts-types/events.d.ts +2 -3
  232. package/es/ts-types/events.js.map +1 -1
  233. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  234. package/es/ts-types/list-table/define/chart-define.d.ts +1 -1
  235. package/es/ts-types/list-table/define/chart-define.js.map +1 -1
  236. package/es/ts-types/list-table/define/image-define.d.ts +1 -1
  237. package/es/ts-types/list-table/define/image-define.js.map +1 -1
  238. package/es/ts-types/list-table/define/link-define.d.ts +1 -1
  239. package/es/ts-types/list-table/define/link-define.js.map +1 -1
  240. package/es/ts-types/list-table/define/multilinetext-define.d.ts +1 -1
  241. package/es/ts-types/list-table/define/multilinetext-define.js.map +1 -1
  242. package/es/ts-types/list-table/define/progressbar-define.d.ts +1 -1
  243. package/es/ts-types/list-table/define/progressbar-define.js.map +1 -1
  244. package/es/ts-types/list-table/define/sparkline-define.d.ts +1 -1
  245. package/es/ts-types/list-table/define/sparkline-define.js.map +1 -1
  246. package/es/ts-types/list-table/layout-map/api.d.ts +2 -2
  247. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  248. package/es/ts-types/menu.d.ts +2 -2
  249. package/es/ts-types/menu.js.map +1 -1
  250. package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  251. package/es/ts-types/pivot-table/indicator/chart-indicator.d.ts +1 -1
  252. package/es/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -1
  253. package/es/ts-types/pivot-table/indicator/image-indicator.d.ts +1 -1
  254. package/es/ts-types/pivot-table/indicator/image-indicator.js.map +1 -1
  255. package/es/ts-types/pivot-table/indicator/link-indicator.d.ts +1 -1
  256. package/es/ts-types/pivot-table/indicator/link-indicator.js.map +1 -1
  257. package/es/ts-types/pivot-table/indicator/multilinetext-indicator.d.ts +1 -1
  258. package/es/ts-types/pivot-table/indicator/multilinetext-indicator.js.map +1 -1
  259. package/es/ts-types/pivot-table/indicator/progress-indicator.d.ts +1 -1
  260. package/es/ts-types/pivot-table/indicator/progress-indicator.js.map +1 -1
  261. package/es/ts-types/pivot-table/indicator/sparkline-indicator.d.ts +1 -1
  262. package/es/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -1
  263. package/es/ts-types/style-define.d.ts +3 -2
  264. package/es/ts-types/style-define.js.map +1 -1
  265. package/es/ts-types/table-engine.d.ts +5 -4
  266. package/es/ts-types/table-engine.js.map +1 -1
  267. package/package.json +14 -12
@@ -1 +1 @@
1
- {"version":3,"sources":["components/util/tick-data/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { IBoundsLike, ITextMeasureOption } from '@visactor/vutils';\nimport { TextMeasure, degreeToRadian, isValidNumber, AABBBounds, get, polarToCartesian } from '@visactor/vutils';\nimport { getTextBounds, type IGraphic } from '@visactor/vrender';\n\nconst DEFAULT_TEXT_FONT_FAMILY =\n // eslint-disable-next-line max-len\n 'PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol';\n\nconst DEFAULT_TEXT_FONT_SIZE = 14;\n\nconst initTextMeasure = (\n textSpec?: Partial<any>,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean\n): TextMeasure<any> => {\n return new TextMeasure<any>(\n {\n defaultFontParams: {\n fontFamily: DEFAULT_TEXT_FONT_FAMILY,\n fontSize: DEFAULT_TEXT_FONT_SIZE\n },\n getTextBounds: useNaiveCanvas ? undefined : getTextBounds,\n specialCharSet: '-/: .,@%\\'\"~' + TextMeasure.ALPHABET_CHAR_SET + TextMeasure.ALPHABET_CHAR_SET.toUpperCase(),\n ...(option ?? {})\n },\n textSpec\n );\n};\n\nexport const radians = (angle?: number) => {\n if (!isValidNumber(angle)) {\n return null;\n }\n return degreeToRadian(angle);\n};\n\nexport const convertDomainToTickData = (domain: any[], op: any): any[] => {\n const ticks = domain.map((t: number, index: number) => {\n return {\n index,\n value: t,\n label: op.labelFormatter ? op.labelFormatter(t) : `${t}`\n };\n });\n return ticks;\n};\n\n/** 判断两个label是否有重叠情况 */\nexport const labelOverlap = (prevLabel: AABBBounds, nextLabel: AABBBounds, gap: number = 0): boolean => {\n const prevBounds = new AABBBounds(prevLabel).expand(gap / 2);\n const nextBounds = new AABBBounds(nextLabel).expand(gap / 2);\n return prevBounds.intersects(nextBounds);\n};\n\n/** 判断两个不相交的label相隔的距离 */\nexport const labelDistance = (prevLabel: AABBBounds, nextLabel: AABBBounds): [number, number] => {\n let horizontal = 0;\n if (prevLabel.x2 < nextLabel.x1) {\n horizontal = nextLabel.x1 - prevLabel.x2;\n } else if (nextLabel.x2 < prevLabel.x1) {\n horizontal = prevLabel.x1 - nextLabel.x2;\n }\n\n let vertical = 0;\n if (prevLabel.y2 < nextLabel.y1) {\n vertical = nextLabel.y1 - prevLabel.y2;\n } else if (nextLabel.y2 < prevLabel.y1) {\n vertical = prevLabel.y1 - nextLabel.y2;\n }\n\n return [horizontal, vertical];\n};\n\nexport function intersect(a: IBoundsLike, b: IBoundsLike, sep: number) {\n return sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2);\n}\n\nexport interface ILabelItem<T> extends Pick<IGraphic, 'AABBBounds'> {\n value?: T;\n}\n\nexport function hasOverlap<T>(items: ILabelItem<T>[], pad: number): boolean {\n for (let i = 1, n = items.length, a = items[0], b; i < n; a = b, ++i) {\n b = items[i];\n if (intersect(a.AABBBounds, b.AABBBounds, pad)) {\n return true;\n }\n }\n return false;\n}\n\nconst MIN_TICK_GAP = 12;\n\nexport const getCartesianLabelBounds = (scale: IBaseScale, domain: any[], op: any): AABBBounds[] => {\n const { labelStyle, axisOrientType, labelFlush, labelFormatter, startAngle = 0 } = op;\n const labelAngle = labelStyle.angle ?? 0;\n const isHorizontal = ['bottom', 'top'].includes(axisOrientType);\n const isVertical = ['left', 'right'].includes(axisOrientType);\n let orientAngle = startAngle;\n if (isHorizontal) {\n orientAngle = 0;\n } else if (isVertical) {\n orientAngle = radians(-90);\n }\n\n const textMeasure = initTextMeasure(labelStyle);\n const labelBoundsList = domain.map((v: any, i: number) => {\n const str = labelFormatter ? labelFormatter(v) : `${v}`;\n\n // 估算文本宽高\n const { width, height } = textMeasure.quickMeasure(str);\n const textWidth = Math.max(width, MIN_TICK_GAP);\n const textHeight = Math.max(height, MIN_TICK_GAP);\n\n // 估算文本位置\n const pos = scale.scale(v);\n let textX = Math.cos(orientAngle) * pos;\n let textY = -Math.sin(orientAngle) * pos;\n\n let align: any;\n if (labelFlush && isHorizontal && i === 0) {\n align = 'left';\n } else if (labelFlush && isHorizontal && i === domain.length - 1) {\n align = 'right';\n } else {\n align = labelStyle.textAlign ?? 'center';\n }\n if (align === 'right') {\n textX -= textWidth;\n } else if (align === 'center') {\n textX -= textWidth / 2;\n }\n\n let baseline: any;\n if (labelFlush && isVertical && i === 0) {\n baseline = 'top';\n } else if (labelFlush && isVertical && i === domain.length - 1) {\n baseline = 'bottom';\n } else {\n baseline = labelStyle.textBaseline ?? 'middle';\n }\n if (baseline === 'bottom') {\n textY -= textHeight;\n } else if (baseline === 'middle') {\n textY -= textHeight / 2;\n }\n\n // 计算 label 包围盒\n const bounds = new AABBBounds()\n .set(textX, textY, textX + textWidth, textY + textHeight)\n .rotate(labelAngle, textX + textWidth / 2, textY + textHeight / 2);\n return bounds;\n });\n\n return labelBoundsList;\n};\n\nexport const getPolarAngleLabelBounds = (scale: IBaseScale, domain: any[], op: any): AABBBounds[] => {\n const { labelStyle, getRadius, axisSpec, labelFormatter } = op;\n const radius = getRadius?.();\n const labelAngle = labelStyle.angle ?? 0;\n\n const labelOffset = getAxisLabelOffset(axisSpec);\n\n const textMeasure = initTextMeasure(labelStyle);\n const labelBoundsList = domain.map((v: any) => {\n const str = labelFormatter ? labelFormatter(v) : `${v}`;\n\n // 估算文本宽高\n const { width, height } = textMeasure.quickMeasure(str);\n const textWidth = Math.max(width, MIN_TICK_GAP);\n const textHeight = Math.max(height, MIN_TICK_GAP);\n\n // 估算文本位置\n const angle = scale.scale(v);\n let textX = 0;\n let textY = 0;\n const orient = angleLabelOrientAttribute(angle);\n const { x, y } = polarToCartesian({ x: 0, y: 0 }, radius + labelOffset, angle);\n textX = x + (orient.align === 'right' ? -textWidth : orient.align === 'center' ? -textWidth / 2 : 0);\n textY = y + (orient.baseline === 'bottom' ? -textHeight : orient.baseline === 'middle' ? -textHeight / 2 : 0);\n\n // 计算 label 包围盒\n const bounds = new AABBBounds()\n .set(textX, textY, textX + textWidth, textY + textHeight)\n .rotate(labelAngle, textX + textWidth / 2, textY + textHeight / 2);\n return bounds;\n });\n\n return labelBoundsList;\n};\n\nexport function getAxisLabelOffset(axisSpec: any) {\n let labelOffset = 0;\n if (get(axisSpec, 'tick.visible')) {\n labelOffset += get(axisSpec, 'tick.tickSize');\n }\n\n if (get(axisSpec, 'label.visible')) {\n labelOffset += get(axisSpec, 'label.space');\n }\n\n return labelOffset;\n}\n\nexport function angleLabelOrientAttribute(angle: number) {\n let align: any = 'center';\n let baseline: any = 'middle';\n\n angle = normalizeAngle(angle);\n\n // left: 5/3 - 1/3; right: 2/3 - 4/3; center: 5/3 - 1/3 & 2/3 - 4/3\n if (angle >= Math.PI * (5 / 3) || angle <= Math.PI * (1 / 3)) {\n align = 'left';\n } else if (angle >= Math.PI * (2 / 3) && angle <= Math.PI * (4 / 3)) {\n align = 'right';\n } else {\n align = 'center';\n }\n\n // bottom: 7/6 - 11/6; top: 1/6 - 5/6; middle: 11/6 - 1/6 & 5/6 - 7/6\n if (angle >= Math.PI * (7 / 6) && angle <= Math.PI * (11 / 6)) {\n baseline = 'bottom';\n } else if (angle >= Math.PI * (1 / 6) && angle <= Math.PI * (5 / 6)) {\n baseline = 'top';\n } else {\n baseline = 'middle';\n }\n\n return { align, baseline };\n}\n\nexport function normalizeAngle(angle: number): number {\n while (angle < 0) {\n angle += Math.PI * 2;\n }\n while (angle >= Math.PI * 2) {\n angle -= Math.PI * 2;\n }\n return angle;\n}\n"]}
1
+ {"version":3,"sources":["components/util/tick-data/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { IBoundsLike, ITextMeasureOption } from '@visactor/vutils';\nimport { TextMeasure, degreeToRadian, isValidNumber, AABBBounds, get, polarToCartesian } from '@visactor/vutils';\nimport { getTextBounds, type IGraphic } from '@visactor/vrender';\n\nconst DEFAULT_TEXT_FONT_FAMILY =\n // eslint-disable-next-line max-len\n 'PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol';\n\nconst DEFAULT_TEXT_FONT_SIZE = 14;\n\nconst initTextMeasure = (\n textSpec?: Partial<any>,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean\n): TextMeasure<any> => {\n return new TextMeasure<any>(\n {\n defaultFontParams: {\n fontFamily: DEFAULT_TEXT_FONT_FAMILY,\n fontSize: DEFAULT_TEXT_FONT_SIZE\n },\n getTextBounds: useNaiveCanvas ? undefined : getTextBounds,\n specialCharSet: '-/: .,@%\\'\"~' + TextMeasure.ALPHABET_CHAR_SET + TextMeasure.ALPHABET_CHAR_SET.toUpperCase(),\n ...(option ?? {})\n },\n textSpec\n );\n};\n\nexport const radians = (angle?: number) => {\n if (!isValidNumber(angle)) {\n return null;\n }\n return degreeToRadian(angle);\n};\n\nexport const convertDomainToTickData = (domain: any[], op: any): any[] => {\n const ticks = domain.map((t: number, index: number) => {\n return {\n index,\n value: t\n // label: op.labelFormatter ? op.labelFormatter(t) : `${t}`\n };\n });\n return ticks;\n};\n\n/** 判断两个label是否有重叠情况 */\nexport const labelOverlap = (prevLabel: AABBBounds, nextLabel: AABBBounds, gap: number = 0): boolean => {\n const prevBounds = new AABBBounds(prevLabel).expand(gap / 2);\n const nextBounds = new AABBBounds(nextLabel).expand(gap / 2);\n return prevBounds.intersects(nextBounds);\n};\n\n/** 判断两个不相交的label相隔的距离 */\nexport const labelDistance = (prevLabel: AABBBounds, nextLabel: AABBBounds): [number, number] => {\n let horizontal = 0;\n if (prevLabel.x2 < nextLabel.x1) {\n horizontal = nextLabel.x1 - prevLabel.x2;\n } else if (nextLabel.x2 < prevLabel.x1) {\n horizontal = prevLabel.x1 - nextLabel.x2;\n }\n\n let vertical = 0;\n if (prevLabel.y2 < nextLabel.y1) {\n vertical = nextLabel.y1 - prevLabel.y2;\n } else if (nextLabel.y2 < prevLabel.y1) {\n vertical = prevLabel.y1 - nextLabel.y2;\n }\n\n return [horizontal, vertical];\n};\n\nexport function intersect(a: IBoundsLike, b: IBoundsLike, sep: number) {\n return sep > Math.max(b.x1 - a.x2, a.x1 - b.x2, b.y1 - a.y2, a.y1 - b.y2);\n}\n\nexport interface ILabelItem<T> extends Pick<IGraphic, 'AABBBounds'> {\n value?: T;\n}\n\nexport function hasOverlap<T>(items: ILabelItem<T>[], pad: number): boolean {\n for (let i = 1, n = items.length, a = items[0], b; i < n; a = b, ++i) {\n b = items[i];\n if (intersect(a.AABBBounds, b.AABBBounds, pad)) {\n return true;\n }\n }\n return false;\n}\n\nconst MIN_TICK_GAP = 12;\n\nexport const getCartesianLabelBounds = (scale: IBaseScale, domain: any[], op: any): AABBBounds[] => {\n const { labelStyle, axisOrientType, labelFlush, labelFormatter, startAngle = 0 } = op;\n const labelAngle = labelStyle.angle ?? 0;\n const isHorizontal = ['bottom', 'top'].includes(axisOrientType);\n const isVertical = ['left', 'right'].includes(axisOrientType);\n let orientAngle = startAngle;\n if (isHorizontal) {\n orientAngle = 0;\n } else if (isVertical) {\n orientAngle = radians(-90);\n }\n\n const textMeasure = initTextMeasure(labelStyle);\n const labelBoundsList = domain.map((v: any, i: number) => {\n const str = labelFormatter ? labelFormatter(v) : `${v}`;\n\n // 估算文本宽高\n const { width, height } = textMeasure.quickMeasure(str);\n const textWidth = Math.max(width, MIN_TICK_GAP);\n const textHeight = Math.max(height, MIN_TICK_GAP);\n\n // 估算文本位置\n const pos = scale.scale(v);\n let textX = Math.cos(orientAngle) * pos;\n let textY = -Math.sin(orientAngle) * pos;\n\n let align: any;\n if (labelFlush && isHorizontal && i === 0) {\n align = 'left';\n } else if (labelFlush && isHorizontal && i === domain.length - 1) {\n align = 'right';\n } else {\n align = labelStyle.textAlign ?? 'center';\n }\n if (align === 'right') {\n textX -= textWidth;\n } else if (align === 'center') {\n textX -= textWidth / 2;\n }\n\n let baseline: any;\n if (labelFlush && isVertical && i === 0) {\n baseline = 'top';\n } else if (labelFlush && isVertical && i === domain.length - 1) {\n baseline = 'bottom';\n } else {\n baseline = labelStyle.textBaseline ?? 'middle';\n }\n if (baseline === 'bottom') {\n textY -= textHeight;\n } else if (baseline === 'middle') {\n textY -= textHeight / 2;\n }\n\n // 计算 label 包围盒\n const bounds = new AABBBounds()\n .set(textX, textY, textX + textWidth, textY + textHeight)\n .rotate(labelAngle, textX + textWidth / 2, textY + textHeight / 2);\n return bounds;\n });\n\n return labelBoundsList;\n};\n\nexport const getPolarAngleLabelBounds = (scale: IBaseScale, domain: any[], op: any): AABBBounds[] => {\n const { labelStyle, getRadius, axisSpec, labelFormatter } = op;\n const radius = getRadius?.();\n const labelAngle = labelStyle.angle ?? 0;\n\n const labelOffset = getAxisLabelOffset(axisSpec);\n\n const textMeasure = initTextMeasure(labelStyle);\n const labelBoundsList = domain.map((v: any) => {\n const str = labelFormatter ? labelFormatter(v) : `${v}`;\n\n // 估算文本宽高\n const { width, height } = textMeasure.quickMeasure(str);\n const textWidth = Math.max(width, MIN_TICK_GAP);\n const textHeight = Math.max(height, MIN_TICK_GAP);\n\n // 估算文本位置\n const angle = scale.scale(v);\n let textX = 0;\n let textY = 0;\n const orient = angleLabelOrientAttribute(angle);\n const { x, y } = polarToCartesian({ x: 0, y: 0 }, radius + labelOffset, angle);\n textX = x + (orient.align === 'right' ? -textWidth : orient.align === 'center' ? -textWidth / 2 : 0);\n textY = y + (orient.baseline === 'bottom' ? -textHeight : orient.baseline === 'middle' ? -textHeight / 2 : 0);\n\n // 计算 label 包围盒\n const bounds = new AABBBounds()\n .set(textX, textY, textX + textWidth, textY + textHeight)\n .rotate(labelAngle, textX + textWidth / 2, textY + textHeight / 2);\n return bounds;\n });\n\n return labelBoundsList;\n};\n\nexport function getAxisLabelOffset(axisSpec: any) {\n let labelOffset = 0;\n if (get(axisSpec, 'tick.visible')) {\n labelOffset += get(axisSpec, 'tick.tickSize');\n }\n\n if (get(axisSpec, 'label.visible')) {\n labelOffset += get(axisSpec, 'label.space');\n }\n\n return labelOffset;\n}\n\n/**\n * 计算对应角度下的角度轴标签定位属性\n * @param angle 弧度角,需要注意是逆时针计算的\n * @returns\n */\nexport function angleLabelOrientAttribute(angle: number) {\n let align: any = 'center';\n let baseline: any = 'middle';\n\n angle = normalizeAngle(angle);\n\n // left: 5/3 - 1/3; right: 2/3 - 4/3; center: 5/3 - 1/3 & 2/3 - 4/3\n if (angle >= Math.PI * (5 / 3) || angle <= Math.PI * (1 / 3)) {\n align = 'left';\n } else if (angle >= Math.PI * (2 / 3) && angle <= Math.PI * (4 / 3)) {\n align = 'right';\n } else {\n align = 'center';\n }\n\n // bottom: 7/6 - 11/6; top: 1/6 - 5/6; middle: 11/6 - 1/6 & 5/6 - 7/6\n if (angle >= Math.PI * (7 / 6) && angle <= Math.PI * (11 / 6)) {\n baseline = 'bottom';\n } else if (angle >= Math.PI * (1 / 6) && angle <= Math.PI * (5 / 6)) {\n baseline = 'top';\n } else {\n baseline = 'middle';\n }\n\n return { align, baseline };\n}\n\n/**\n * 角度标准化处理\n * @param angle 弧度角\n */\nexport function normalizeAngle(angle: number): number {\n while (angle < 0) {\n angle += Math.PI * 2;\n }\n while (angle >= Math.PI * 2) {\n angle -= Math.PI * 2;\n }\n return angle;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { CellAddress, CellRange, TableEventHandlersEventArgumentMap, TableEventHandlersReturnMap, TableKeyboardOptions, DropDownMenuHighlightInfo, MenuListItem, WidthModeDef, ICustomRender, ICellHeaderPaths, HeaderData, FullExtendStyle, FieldDef, ColumnTypeOption, SortState, IPagerConf, ICustomLayout, CellInfo, CellStyle, DropDownMenuOptions, FieldFormat, FieldData, MaybePromiseOrUndefined, MousePointerCellEvent, DropDownMenuEventInfo, HierarchyState, FieldKeyDef, CellType, LayoutObjectId, HeightModeDef } from '../ts-types';
1
+ import type { CellAddress, CellRange, TableEventHandlersEventArgumentMap, TableEventHandlersReturnMap, TableKeyboardOptions, DropDownMenuHighlightInfo, MenuListItem, WidthModeDef, ICustomRender, ICellHeaderPaths, HeaderData, FullExtendStyle, FieldDef, ColumnTypeOption, SortState, IPagination, ICustomLayout, CellInfo, CellStyle, DropDownMenuOptions, FieldFormat, FieldData, MaybePromiseOrUndefined, MousePointerCellEvent, DropDownMenuEventInfo, HierarchyState, FieldKeyDef, CellLocation, LayoutObjectId, HeightModeDef } from '../ts-types';
2
2
  import type { ColumnIconOption } from '../ts-types';
3
3
  import { TABLE_EVENT_TYPE } from './TABLE_EVENT_TYPE';
4
4
  import { EventTarget } from '../event/EventTarget';
@@ -43,7 +43,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
43
43
  static get EVENT_TYPE(): typeof TABLE_EVENT_TYPE;
44
44
  readonly options: BaseTableConstructorOptions;
45
45
  version: string;
46
- pagerConf?: IPagerConf | undefined;
46
+ pagination?: IPagination | undefined;
47
47
  id: string;
48
48
  headerStyleCache: any;
49
49
  bodyStyleCache: any;
@@ -225,7 +225,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
225
225
  abstract getCellOriginRecord(col: number, row: number): MaybePromiseOrUndefined;
226
226
  abstract getCellValue(col: number, row: number): FieldData;
227
227
  abstract getCellOriginValue(col: number, row: number): FieldData;
228
- updatePager(cof: IPagerConf): void;
228
+ updatePagination(cof: IPagination): void;
229
229
  get allowFrozenColCount(): number;
230
230
  get rowHeaderLevelCount(): number;
231
231
  get columnHeaderLevelCount(): number;
@@ -244,7 +244,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
244
244
  getHeaderField(col: number, row: number): FieldDef;
245
245
  getHeaderFieldKey(col: number, row: number): FieldDef;
246
246
  getHeaderDefine(col: number, row: number): ColumnDefine;
247
- getCellType(col: number, row: number): CellType;
247
+ getCellLocation(col: number, row: number): CellLocation;
248
248
  getCellHeaderPaths(col: number, row: number): ICellHeaderPaths;
249
249
  getHeadersDefine(col: number, row: number): ColumnDefine[];
250
250
  _getHeaderLayoutMap(col: number, row: number): HeaderData;
@@ -45,7 +45,7 @@ class BaseTable extends EventTarget_1.EventTarget {
45
45
  }
46
46
  constructor(container, options = {}) {
47
47
  var _a, _b, _c, _d, _e, _f, _g;
48
- if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.10.1-alpha.4",
48
+ if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.10.2-alpha.3",
49
49
  this.id = `VTable${Date.now()}`, this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200),
50
50
  !container) throw new Error("vtable's container is undefined");
51
51
  const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, keyboardOptions: keyboardOptions, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = pixel_ratio_1.defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount} = options;
@@ -841,11 +841,11 @@ class BaseTable extends EventTarget_1.EventTarget {
841
841
  selectCell(col, row) {
842
842
  this.stateManeger.updateSelectPos(col, row), this.stateManeger.endSelectCells();
843
843
  }
844
- updatePager(cof) {
845
- this.pagerConf && ("number" == typeof cof.currentPage && cof.currentPage >= 0 && (this.pagerConf.currentPage = cof.currentPage),
846
- cof.perPageCount && (this.pagerConf.perPageCount = cof.perPageCount || this.pagerConf.perPageCount),
847
- this.scenegraph.clearCells(), this.dataSource.updatePager(this.pagerConf), this.refreshRowColCount(),
848
- this.scenegraph.createSceneGraph(), this.render());
844
+ updatePagination(cof) {
845
+ this.pagination && ("number" == typeof cof.currentPage && cof.currentPage >= 0 && (this.pagination.currentPage = cof.currentPage),
846
+ cof.perPageCount && (this.pagination.perPageCount = cof.perPageCount || this.pagination.perPageCount),
847
+ this.scenegraph.clearCells(), this.dataSource.updatePagination(this.pagination),
848
+ this.refreshRowColCount(), this.scenegraph.createSceneGraph(), this.render());
849
849
  }
850
850
  get allowFrozenColCount() {
851
851
  return this.internalProps.allowFrozenColCount;
@@ -897,7 +897,7 @@ class BaseTable extends EventTarget_1.EventTarget {
897
897
  return null == body ? void 0 : body.define;
898
898
  }
899
899
  getBodyColumnType(col, row) {
900
- return this.internalProps.layoutMap.getBody(col, row).columnType;
900
+ return this.internalProps.layoutMap.getBody(col, row).cellType;
901
901
  }
902
902
  getHeaderField(col, row) {
903
903
  return this.internalProps.layoutMap.getHeaderField(col, row);
@@ -909,8 +909,8 @@ class BaseTable extends EventTarget_1.EventTarget {
909
909
  const hd = this.internalProps.layoutMap.getHeader(col, row);
910
910
  return null == hd ? void 0 : hd.define;
911
911
  }
912
- getCellType(col, row) {
913
- return this.internalProps.layoutMap.getCellType(col, row);
912
+ getCellLocation(col, row) {
913
+ return this.internalProps.layoutMap.getCellLocation(col, row);
914
914
  }
915
915
  getCellHeaderPaths(col, row) {
916
916
  return this.internalProps.layoutMap.getCellHeaderPaths(col, row);
@@ -1030,7 +1030,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1030
1030
  field: this.getHeaderField(col, row),
1031
1031
  cellHeaderPaths: this.internalProps.layoutMap.getCellHeaderPaths(col, row),
1032
1032
  title: colDef.title,
1033
- columnType: colDef.columnType ? "string" == typeof colDef.columnType ? colDef.columnType : "progressbar" : "text",
1033
+ cellType: colDef.cellType ? "string" == typeof colDef.cellType ? colDef.cellType : "progressbar" : "text",
1034
1034
  originData: this.getCellOriginRecord(col, row),
1035
1035
  cellRange: this.getCellRangeRelativeRect({
1036
1036
  col: col,
@@ -1038,7 +1038,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1038
1038
  }),
1039
1039
  value: this.getCellValue(col, row),
1040
1040
  dataValue: this.getCellOriginValue(col, row),
1041
- cellType: this.getCellType(col, row),
1041
+ cellLocation: this.getCellLocation(col, row),
1042
1042
  scaleRatio: this.canvas.getBoundingClientRect().width / this.canvas.offsetWidth
1043
1043
  };
1044
1044
  }
@@ -1087,7 +1087,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1087
1087
  cacheKey = this.isListTable() && !this.transpose || this.isPivotTable() && this.internalProps.layoutMap.indicatorsAsCol ? col : row;
1088
1088
  let cacheStyle = this.bodyStyleCache.get(cacheKey);
1089
1089
  if (cacheStyle) return cacheStyle;
1090
- const column = layoutMap.getBody(col, row), styleClass = this.internalProps.bodyHelper.getStyleClass(column.columnType), style = null == column ? void 0 : column.style;
1090
+ const column = layoutMap.getBody(col, row), styleClass = this.internalProps.bodyHelper.getStyleClass(column.cellType), style = null == column ? void 0 : column.style;
1091
1091
  return cacheStyle = columnStyleContents.of(style, this.theme.bodyStyle, {
1092
1092
  col: col,
1093
1093
  row: row,
@@ -1312,7 +1312,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1312
1312
  }
1313
1313
  getCustomRender(col, row) {
1314
1314
  let customRender;
1315
- if ("body" !== this.getCellType(col, row)) {
1315
+ if ("body" !== this.getCellLocation(col, row)) {
1316
1316
  const define = this.getHeaderDefine(col, row);
1317
1317
  customRender = null == define ? void 0 : define.headerCustomRender;
1318
1318
  } else {
@@ -1323,7 +1323,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1323
1323
  }
1324
1324
  getCustomLayout(col, row) {
1325
1325
  let customLayout;
1326
- if ("body" !== this.getCellType(col, row)) {
1326
+ if ("body" !== this.getCellLocation(col, row)) {
1327
1327
  const define = this.getHeaderDefine(col, row);
1328
1328
  customLayout = null == define ? void 0 : define.headerCustomLayout;
1329
1329
  } else {
@@ -1333,7 +1333,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1333
1333
  return customLayout;
1334
1334
  }
1335
1335
  hasAutoImageColumn() {
1336
- return this.internalProps.layoutMap.columnObjects.find((column => !("image" !== column.columnType || !column.define.imageAutoSizing)));
1336
+ return this.internalProps.layoutMap.columnObjects.find((column => !("image" !== column.cellType || !column.define.imageAutoSizing)));
1337
1337
  }
1338
1338
  _getActiveChartInstance() {
1339
1339
  var _a, _b, _c, _d, _e, _f;