@visactor/vtable 0.15.0-alpha.4 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. package/cjs/ListTable.d.ts +3 -2
  2. package/cjs/ListTable.js +8 -3
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.js.map +1 -1
  5. package/cjs/PivotTable.js.map +1 -1
  6. package/cjs/body-helper/body-helper.js.map +1 -1
  7. package/cjs/body-helper/style/CheckboxStyle.js.map +1 -1
  8. package/cjs/body-helper/style/ImageStyle.js.map +1 -1
  9. package/cjs/body-helper/style/MultilineTextStyle.js.map +1 -1
  10. package/cjs/body-helper/style/NumberStyle.js.map +1 -1
  11. package/cjs/body-helper/style/ProgressBarStyle.js.map +1 -1
  12. package/cjs/body-helper/style/Style.js.map +1 -1
  13. package/cjs/body-helper/style.js.map +1 -1
  14. package/cjs/chartModule.js.map +1 -1
  15. package/cjs/components/axis/axis.js.map +1 -1
  16. package/cjs/components/axis/band-scale.js.map +1 -1
  17. package/cjs/components/axis/get-axis-attributes.js.map +1 -1
  18. package/cjs/components/axis/get-axis-component-size.js.map +1 -1
  19. package/cjs/components/axis/label-overlap.js.map +1 -1
  20. package/cjs/components/axis/linear-scale.js.map +1 -1
  21. package/cjs/components/legend/continue-legend/continue-legend.js.map +1 -1
  22. package/cjs/components/legend/continue-legend/get-continue-legend-attributes.js.map +1 -1
  23. package/cjs/components/legend/create-legend.js.map +1 -1
  24. package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  25. package/cjs/components/legend/discrete-legend/get-discrete-legend-attributes.js.map +1 -1
  26. package/cjs/components/menu/dom/BaseMenu.js.map +1 -1
  27. package/cjs/components/menu/dom/Menu.js.map +1 -1
  28. package/cjs/components/menu/dom/MenuHandler.js.map +1 -1
  29. package/cjs/components/menu/dom/logic/MenuContainer.js.map +1 -1
  30. package/cjs/components/menu/dom/logic/MenuElement.js.map +1 -1
  31. package/cjs/components/menu/dom/logic/MenuElementStyle.js.map +1 -1
  32. package/cjs/components/title/title.js.map +1 -1
  33. package/cjs/components/tooltip/BaseTooltip.js.map +1 -1
  34. package/cjs/components/tooltip/Tooltip.js.map +1 -1
  35. package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
  36. package/cjs/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  37. package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
  38. package/cjs/components/util/orient.js.map +1 -1
  39. package/cjs/components/util/register.js.map +1 -1
  40. package/cjs/components/util/transform.js.map +1 -1
  41. package/cjs/core/BaseTable.d.ts +1 -1
  42. package/cjs/core/BaseTable.js +6 -2
  43. package/cjs/core/BaseTable.js.map +1 -1
  44. package/cjs/core/FouseInput.js.map +1 -1
  45. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  46. package/cjs/core/style.js.map +1 -1
  47. package/cjs/core/tableHelper.js.map +1 -1
  48. package/cjs/core.js.map +1 -1
  49. package/cjs/data/CachedDataSource.js.map +1 -1
  50. package/cjs/data/DataSource.js +1 -1
  51. package/cjs/data/DataSource.js.map +1 -1
  52. package/cjs/data/FilterDataSource.js.map +1 -1
  53. package/cjs/data.js.map +1 -1
  54. package/cjs/dataset/DataStatistics.js.map +1 -1
  55. package/cjs/dataset/dataset-pivot-table.js.map +1 -1
  56. package/cjs/dataset/dataset.js.map +1 -1
  57. package/cjs/dataset/flatDataToObject.js.map +1 -1
  58. package/cjs/dataset/statistics-helper.js.map +1 -1
  59. package/cjs/edit/edit-manager.js +10 -2
  60. package/cjs/edit/edit-manager.js.map +1 -1
  61. package/cjs/edit/editors.js.map +1 -1
  62. package/cjs/event/EventHandler.js.map +1 -1
  63. package/cjs/event/EventTarget.js.map +1 -1
  64. package/cjs/event/VChartEventProxy.js.map +1 -1
  65. package/cjs/event/drill.js.map +1 -1
  66. package/cjs/event/event.js.map +1 -1
  67. package/cjs/event/listener/container-dom.js.map +1 -1
  68. package/cjs/event/listener/scroll-bar.js.map +1 -1
  69. package/cjs/event/listener/table-group.js.map +1 -1
  70. package/cjs/event/listener/touch.js.map +1 -1
  71. package/cjs/event/media-click.js.map +1 -1
  72. package/cjs/event/pivot-chart/axis-click.js.map +1 -1
  73. package/cjs/event/pivot-chart/axis-hover.js.map +1 -1
  74. package/cjs/event/scroll.js.map +1 -1
  75. package/cjs/event/sparkline-event.js.map +1 -1
  76. package/cjs/event/util.js.map +1 -1
  77. package/cjs/header-helper/header-helper.js.map +1 -1
  78. package/cjs/header-helper/style/CheckboxStyle.js.map +1 -1
  79. package/cjs/header-helper/style/ImageStyle.js.map +1 -1
  80. package/cjs/header-helper/style/MultilineTextHeaderStyle.js.map +1 -1
  81. package/cjs/header-helper/style/SortHeaderStyle.js.map +1 -1
  82. package/cjs/header-helper/style/Style.js.map +1 -1
  83. package/cjs/header-helper/style.js.map +1 -1
  84. package/cjs/icons.js.map +1 -1
  85. package/cjs/index.d.ts +3 -3
  86. package/cjs/index.js +1 -1
  87. package/cjs/index.js.map +1 -1
  88. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
  89. package/cjs/layout/chart-helper/get-axis-domain.js.map +1 -1
  90. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  91. package/cjs/layout/chart-helper/zero-align.js.map +1 -1
  92. package/cjs/layout/index.js.map +1 -1
  93. package/cjs/layout/pivot-header-layout.d.ts +1 -0
  94. package/cjs/layout/pivot-header-layout.js +14 -11
  95. package/cjs/layout/pivot-header-layout.js.map +1 -1
  96. package/cjs/layout/pivot-layout-helper.js.map +1 -1
  97. package/cjs/layout/pivot-layout.js.map +1 -1
  98. package/cjs/layout/simple-header-layout.d.ts +1 -0
  99. package/cjs/layout/simple-header-layout.js +3 -0
  100. package/cjs/layout/simple-header-layout.js.map +1 -1
  101. package/cjs/plugins/chartModules.js.map +1 -1
  102. package/cjs/plugins/icons.js.map +1 -1
  103. package/cjs/plugins/themes.js.map +1 -1
  104. package/cjs/register.js.map +1 -1
  105. package/cjs/render/jsx/index.js.map +1 -1
  106. package/cjs/render/layout/arc.js.map +1 -1
  107. package/cjs/render/layout/circle.js.map +1 -1
  108. package/cjs/render/layout/container.js.map +1 -1
  109. package/cjs/render/layout/direction.js.map +1 -1
  110. package/cjs/render/layout/element.js.map +1 -1
  111. package/cjs/render/layout/group-element.js.map +1 -1
  112. package/cjs/render/layout/group.js.map +1 -1
  113. package/cjs/render/layout/icon.js.map +1 -1
  114. package/cjs/render/layout/image.js.map +1 -1
  115. package/cjs/render/layout/index.js.map +1 -1
  116. package/cjs/render/layout/line.js.map +1 -1
  117. package/cjs/render/layout/percent-calc.js.map +1 -1
  118. package/cjs/render/layout/rect.js.map +1 -1
  119. package/cjs/render/layout/tag.js.map +1 -1
  120. package/cjs/render/layout/text.js.map +1 -1
  121. package/cjs/scenegraph/component/cell-content.js.map +1 -1
  122. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  123. package/cjs/scenegraph/component/custom.js.map +1 -1
  124. package/cjs/scenegraph/component/drill-icon.js.map +1 -1
  125. package/cjs/scenegraph/component/menu.js.map +1 -1
  126. package/cjs/scenegraph/component/table-component.js.map +1 -1
  127. package/cjs/scenegraph/component/util.js.map +1 -1
  128. package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
  129. package/cjs/scenegraph/debug-tool/index.js.map +1 -1
  130. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  131. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  132. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  133. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  134. package/cjs/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
  135. package/cjs/scenegraph/graphic/contributions/index.js.map +1 -1
  136. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  137. package/cjs/scenegraph/graphic/group.js.map +1 -1
  138. package/cjs/scenegraph/graphic/icon.js +5 -5
  139. package/cjs/scenegraph/graphic/icon.js.map +1 -1
  140. package/cjs/scenegraph/graphic/text.js.map +1 -1
  141. package/cjs/scenegraph/group-creater/cell-helper.js +10 -3
  142. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  143. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  144. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  145. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  146. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  147. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  148. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  149. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  150. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  151. package/cjs/scenegraph/group-creater/column.js.map +1 -1
  152. package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  153. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.d.ts +1 -1
  154. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +30 -59
  155. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  156. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +1 -1
  157. package/cjs/scenegraph/group-creater/progress/proxy.js +2 -4
  158. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  159. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  160. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  161. package/cjs/scenegraph/group-creater/progress/update-position/sort-horizontal.js.map +1 -1
  162. package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
  163. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.js.map +1 -1
  164. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  165. package/cjs/scenegraph/group-creater/progress/update-position/util.js.map +1 -1
  166. package/cjs/scenegraph/icon/icon-update.js +4 -4
  167. package/cjs/scenegraph/icon/icon-update.js.map +1 -1
  168. package/cjs/scenegraph/layout/auto-height.js.map +1 -1
  169. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  170. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  171. package/cjs/scenegraph/layout/frozen.js +18 -3
  172. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  173. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  174. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  175. package/cjs/scenegraph/layout/update-row.js +3 -4
  176. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  177. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  178. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  179. package/cjs/scenegraph/scenegraph.js +4 -3
  180. package/cjs/scenegraph/scenegraph.js.map +1 -1
  181. package/cjs/scenegraph/select/create-select-border.js.map +1 -1
  182. package/cjs/scenegraph/select/delete-select-border.js.map +1 -1
  183. package/cjs/scenegraph/select/move-select-border.js.map +1 -1
  184. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  185. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  186. package/cjs/scenegraph/style/corner-cell.js.map +1 -1
  187. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  188. package/cjs/scenegraph/utils/border-line.js.map +1 -1
  189. package/cjs/scenegraph/utils/break-string.js.map +1 -1
  190. package/cjs/scenegraph/utils/cell-pos.js.map +1 -1
  191. package/cjs/scenegraph/utils/deal-promise-data.js.map +1 -1
  192. package/cjs/scenegraph/utils/empty-group.js.map +1 -1
  193. package/cjs/scenegraph/utils/font.js.map +1 -1
  194. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  195. package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  196. package/cjs/scenegraph/utils/get-prop.js.map +1 -1
  197. package/cjs/scenegraph/utils/icon.js.map +1 -1
  198. package/cjs/scenegraph/utils/is-merge-cell-group.js.map +1 -1
  199. package/cjs/scenegraph/utils/keep-aspect-ratio.js.map +1 -1
  200. package/cjs/scenegraph/utils/padding.js.map +1 -1
  201. package/cjs/scenegraph/utils/render-service.js.map +1 -1
  202. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  203. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  204. package/cjs/scenegraph/utils/text-pos.js.map +1 -1
  205. package/cjs/scenegraph/utils/update-container.js.map +1 -1
  206. package/cjs/state/cell-move/adjust-header.js.map +1 -1
  207. package/cjs/state/cell-move/index.js.map +1 -1
  208. package/cjs/state/common/check-in-select.js.map +1 -1
  209. package/cjs/state/drill/index.js.map +1 -1
  210. package/cjs/state/frozen/index.js.map +1 -1
  211. package/cjs/state/hover/col.js.map +1 -1
  212. package/cjs/state/hover/is-cell-hover.js.map +1 -1
  213. package/cjs/state/hover/row.js.map +1 -1
  214. package/cjs/state/hover/single.js.map +1 -1
  215. package/cjs/state/hover/update-cell.js.map +1 -1
  216. package/cjs/state/hover/update-position.js.map +1 -1
  217. package/cjs/state/resize/update-resize-column.js.map +1 -1
  218. package/cjs/state/select/update-position.js.map +1 -1
  219. package/cjs/state/sort/index.js.map +1 -1
  220. package/cjs/state/spark-line/index.js.map +1 -1
  221. package/cjs/state/state.js.map +1 -1
  222. package/cjs/themes/ARCO.js.map +1 -1
  223. package/cjs/themes/BRIGHT.js.map +1 -1
  224. package/cjs/themes/DARK.js.map +1 -1
  225. package/cjs/themes/DEFAULT.js.map +1 -1
  226. package/cjs/themes/SIMPLIFY.js.map +1 -1
  227. package/cjs/themes/theme.js.map +1 -1
  228. package/cjs/themes.js.map +1 -1
  229. package/cjs/tools/LimitPromiseQueue.js +1 -1
  230. package/cjs/tools/LimitPromiseQueue.js.map +1 -1
  231. package/cjs/tools/NumberMap.js +1 -1
  232. package/cjs/tools/NumberMap.js.map +1 -1
  233. package/cjs/tools/Rect.js.map +1 -1
  234. package/cjs/tools/calc.js.map +1 -1
  235. package/cjs/tools/debounce.js.map +1 -1
  236. package/cjs/tools/diff-cell.js.map +1 -1
  237. package/cjs/tools/dom.js.map +1 -1
  238. package/cjs/tools/env.js.map +1 -1
  239. package/cjs/tools/get-data-path/create-dataset.js.map +1 -1
  240. package/cjs/tools/get-data-path/index.js.map +1 -1
  241. package/cjs/tools/global.js.map +1 -1
  242. package/cjs/tools/helper.js.map +1 -1
  243. package/cjs/tools/icons.js.map +1 -1
  244. package/cjs/tools/isx.js.map +1 -1
  245. package/cjs/tools/pixel-ratio.js.map +1 -1
  246. package/cjs/tools/sort.js.map +1 -1
  247. package/cjs/tools/style.js.map +1 -1
  248. package/cjs/tools/util.js.map +1 -1
  249. package/cjs/ts-types/base-table.js +1 -1
  250. package/cjs/ts-types/base-table.js.map +1 -1
  251. package/cjs/ts-types/column/index.js.map +1 -1
  252. package/cjs/ts-types/column/style.js.map +1 -1
  253. package/cjs/ts-types/column/type.js.map +1 -1
  254. package/cjs/ts-types/common.js +1 -1
  255. package/cjs/ts-types/common.js.map +1 -1
  256. package/cjs/ts-types/component/axis.js.map +1 -1
  257. package/cjs/ts-types/component/legend.js.map +1 -1
  258. package/cjs/ts-types/component/title.js.map +1 -1
  259. package/cjs/ts-types/component/util.js.map +1 -1
  260. package/cjs/ts-types/customElement.js.map +1 -1
  261. package/cjs/ts-types/customLayout.js.map +1 -1
  262. package/cjs/ts-types/events.js.map +1 -1
  263. package/cjs/ts-types/icon.js.map +1 -1
  264. package/cjs/ts-types/index.js.map +1 -1
  265. package/cjs/ts-types/list-table/define/Composite-define.js.map +1 -1
  266. package/cjs/ts-types/list-table/define/basic-define.d.ts +3 -2
  267. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  268. package/cjs/ts-types/list-table/define/chart-define.js.map +1 -1
  269. package/cjs/ts-types/list-table/define/checkbox-define.js.map +1 -1
  270. package/cjs/ts-types/list-table/define/image-define.js.map +1 -1
  271. package/cjs/ts-types/list-table/define/index.js.map +1 -1
  272. package/cjs/ts-types/list-table/define/link-define.js.map +1 -1
  273. package/cjs/ts-types/list-table/define/multilinetext-define.js.map +1 -1
  274. package/cjs/ts-types/list-table/define/progressbar-define.js.map +1 -1
  275. package/cjs/ts-types/list-table/define/sparkline-define.js.map +1 -1
  276. package/cjs/ts-types/list-table/index.js.map +1 -1
  277. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  278. package/cjs/ts-types/list-table/layout-map/index.js.map +1 -1
  279. package/cjs/ts-types/menu.js.map +1 -1
  280. package/cjs/ts-types/new-data-set.js.map +1 -1
  281. package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -1
  282. package/cjs/ts-types/pivot-table/corner.js.map +1 -1
  283. package/cjs/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
  284. package/cjs/ts-types/pivot-table/dimension/image-dimension.js.map +1 -1
  285. package/cjs/ts-types/pivot-table/dimension/index.js.map +1 -1
  286. package/cjs/ts-types/pivot-table/dimension/link-dimension.js.map +1 -1
  287. package/cjs/ts-types/pivot-table/dimension/multilinetext-dimension.js.map +1 -1
  288. package/cjs/ts-types/pivot-table/index.js.map +1 -1
  289. package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  290. package/cjs/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -1
  291. package/cjs/ts-types/pivot-table/indicator/checkbox-indicator.js.map +1 -1
  292. package/cjs/ts-types/pivot-table/indicator/composite-indicator.js.map +1 -1
  293. package/cjs/ts-types/pivot-table/indicator/image-indicator.js.map +1 -1
  294. package/cjs/ts-types/pivot-table/indicator/index.js.map +1 -1
  295. package/cjs/ts-types/pivot-table/indicator/link-indicator.js.map +1 -1
  296. package/cjs/ts-types/pivot-table/indicator/multilinetext-indicator.js.map +1 -1
  297. package/cjs/ts-types/pivot-table/indicator/progress-indicator.js.map +1 -1
  298. package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -1
  299. package/cjs/ts-types/pivot-table/title.js.map +1 -1
  300. package/cjs/ts-types/sparkline.js.map +1 -1
  301. package/cjs/ts-types/style-define.js.map +1 -1
  302. package/cjs/ts-types/table-engine.d.ts +5 -2
  303. package/cjs/ts-types/table-engine.js.map +1 -1
  304. package/cjs/ts-types/theme.js.map +1 -1
  305. package/cjs/ts-types/tooltip.js.map +1 -1
  306. package/dist/vtable.js +114 -39
  307. package/dist/vtable.min.js +2 -2
  308. package/es/ListTable.d.ts +3 -2
  309. package/es/ListTable.js +8 -3
  310. package/es/ListTable.js.map +1 -1
  311. package/es/PivotChart.js.map +1 -1
  312. package/es/PivotTable.js.map +1 -1
  313. package/es/body-helper/body-helper.js.map +1 -1
  314. package/es/body-helper/style/CheckboxStyle.js.map +1 -1
  315. package/es/body-helper/style/ImageStyle.js.map +1 -1
  316. package/es/body-helper/style/MultilineTextStyle.js.map +1 -1
  317. package/es/body-helper/style/NumberStyle.js.map +1 -1
  318. package/es/body-helper/style/ProgressBarStyle.js.map +1 -1
  319. package/es/body-helper/style/Style.js.map +1 -1
  320. package/es/body-helper/style.js.map +1 -1
  321. package/es/chartModule.js.map +1 -1
  322. package/es/components/axis/axis.js.map +1 -1
  323. package/es/components/axis/band-scale.js.map +1 -1
  324. package/es/components/axis/get-axis-attributes.js.map +1 -1
  325. package/es/components/axis/get-axis-component-size.js.map +1 -1
  326. package/es/components/axis/label-overlap.js.map +1 -1
  327. package/es/components/axis/linear-scale.js.map +1 -1
  328. package/es/components/legend/continue-legend/continue-legend.js.map +1 -1
  329. package/es/components/legend/continue-legend/get-continue-legend-attributes.js.map +1 -1
  330. package/es/components/legend/create-legend.js.map +1 -1
  331. package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  332. package/es/components/legend/discrete-legend/get-discrete-legend-attributes.js.map +1 -1
  333. package/es/components/menu/dom/BaseMenu.js.map +1 -1
  334. package/es/components/menu/dom/Menu.js.map +1 -1
  335. package/es/components/menu/dom/MenuHandler.js.map +1 -1
  336. package/es/components/menu/dom/logic/MenuContainer.js.map +1 -1
  337. package/es/components/menu/dom/logic/MenuElement.js.map +1 -1
  338. package/es/components/menu/dom/logic/MenuElementStyle.js.map +1 -1
  339. package/es/components/title/title.js.map +1 -1
  340. package/es/components/tooltip/BaseTooltip.js.map +1 -1
  341. package/es/components/tooltip/Tooltip.js.map +1 -1
  342. package/es/components/tooltip/TooltipHandler.js.map +1 -1
  343. package/es/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  344. package/es/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
  345. package/es/components/util/orient.js.map +1 -1
  346. package/es/components/util/register.js.map +1 -1
  347. package/es/components/util/transform.js.map +1 -1
  348. package/es/core/BaseTable.d.ts +1 -1
  349. package/es/core/BaseTable.js +6 -2
  350. package/es/core/BaseTable.js.map +1 -1
  351. package/es/core/FouseInput.js.map +1 -1
  352. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  353. package/es/core/style.js.map +1 -1
  354. package/es/core/tableHelper.js.map +1 -1
  355. package/es/core.js.map +1 -1
  356. package/es/data/CachedDataSource.js.map +1 -1
  357. package/es/data/DataSource.js +1 -1
  358. package/es/data/DataSource.js.map +1 -1
  359. package/es/data/FilterDataSource.js.map +1 -1
  360. package/es/data.js.map +1 -1
  361. package/es/dataset/DataStatistics.js.map +1 -1
  362. package/es/dataset/dataset-pivot-table.js.map +1 -1
  363. package/es/dataset/dataset.js.map +1 -1
  364. package/es/dataset/flatDataToObject.js.map +1 -1
  365. package/es/dataset/statistics-helper.js.map +1 -1
  366. package/es/edit/edit-manager.js +10 -2
  367. package/es/edit/edit-manager.js.map +1 -1
  368. package/es/edit/editors.js.map +1 -1
  369. package/es/event/EventHandler.js.map +1 -1
  370. package/es/event/EventTarget.js.map +1 -1
  371. package/es/event/VChartEventProxy.js.map +1 -1
  372. package/es/event/drill.js.map +1 -1
  373. package/es/event/event.js.map +1 -1
  374. package/es/event/listener/container-dom.js.map +1 -1
  375. package/es/event/listener/scroll-bar.js.map +1 -1
  376. package/es/event/listener/table-group.js.map +1 -1
  377. package/es/event/listener/touch.js.map +1 -1
  378. package/es/event/media-click.js.map +1 -1
  379. package/es/event/pivot-chart/axis-click.js.map +1 -1
  380. package/es/event/pivot-chart/axis-hover.js.map +1 -1
  381. package/es/event/scroll.js.map +1 -1
  382. package/es/event/sparkline-event.js.map +1 -1
  383. package/es/event/util.js.map +1 -1
  384. package/es/header-helper/header-helper.js.map +1 -1
  385. package/es/header-helper/style/CheckboxStyle.js.map +1 -1
  386. package/es/header-helper/style/ImageStyle.js.map +1 -1
  387. package/es/header-helper/style/MultilineTextHeaderStyle.js.map +1 -1
  388. package/es/header-helper/style/SortHeaderStyle.js.map +1 -1
  389. package/es/header-helper/style/Style.js.map +1 -1
  390. package/es/header-helper/style.js.map +1 -1
  391. package/es/icons.js.map +1 -1
  392. package/es/index.d.ts +3 -3
  393. package/es/index.js +1 -1
  394. package/es/index.js.map +1 -1
  395. package/es/layout/chart-helper/get-axis-config.js.map +1 -1
  396. package/es/layout/chart-helper/get-axis-domain.js.map +1 -1
  397. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  398. package/es/layout/chart-helper/zero-align.js.map +1 -1
  399. package/es/layout/index.js.map +1 -1
  400. package/es/layout/pivot-header-layout.d.ts +1 -0
  401. package/es/layout/pivot-header-layout.js +14 -11
  402. package/es/layout/pivot-header-layout.js.map +1 -1
  403. package/es/layout/pivot-layout-helper.js.map +1 -1
  404. package/es/layout/pivot-layout.js.map +1 -1
  405. package/es/layout/simple-header-layout.d.ts +1 -0
  406. package/es/layout/simple-header-layout.js +3 -0
  407. package/es/layout/simple-header-layout.js.map +1 -1
  408. package/es/plugins/chartModules.js.map +1 -1
  409. package/es/plugins/icons.js.map +1 -1
  410. package/es/plugins/themes.js.map +1 -1
  411. package/es/register.js.map +1 -1
  412. package/es/render/jsx/index.js.map +1 -1
  413. package/es/render/layout/arc.js.map +1 -1
  414. package/es/render/layout/circle.js.map +1 -1
  415. package/es/render/layout/container.js.map +1 -1
  416. package/es/render/layout/direction.js.map +1 -1
  417. package/es/render/layout/element.js.map +1 -1
  418. package/es/render/layout/group-element.js.map +1 -1
  419. package/es/render/layout/group.js.map +1 -1
  420. package/es/render/layout/icon.js.map +1 -1
  421. package/es/render/layout/image.js.map +1 -1
  422. package/es/render/layout/index.js.map +1 -1
  423. package/es/render/layout/line.js.map +1 -1
  424. package/es/render/layout/percent-calc.js.map +1 -1
  425. package/es/render/layout/rect.js.map +1 -1
  426. package/es/render/layout/tag.js.map +1 -1
  427. package/es/render/layout/text.js.map +1 -1
  428. package/es/scenegraph/component/cell-content.js.map +1 -1
  429. package/es/scenegraph/component/cell-mover.js.map +1 -1
  430. package/es/scenegraph/component/custom.js.map +1 -1
  431. package/es/scenegraph/component/drill-icon.js.map +1 -1
  432. package/es/scenegraph/component/menu.js.map +1 -1
  433. package/es/scenegraph/component/table-component.js.map +1 -1
  434. package/es/scenegraph/component/util.js.map +1 -1
  435. package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
  436. package/es/scenegraph/debug-tool/index.js.map +1 -1
  437. package/es/scenegraph/graphic/chart.js.map +1 -1
  438. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  439. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  440. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  441. package/es/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
  442. package/es/scenegraph/graphic/contributions/index.js.map +1 -1
  443. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  444. package/es/scenegraph/graphic/group.js.map +1 -1
  445. package/es/scenegraph/graphic/icon.js +5 -5
  446. package/es/scenegraph/graphic/icon.js.map +1 -1
  447. package/es/scenegraph/graphic/text.js.map +1 -1
  448. package/es/scenegraph/group-creater/cell-helper.js +10 -3
  449. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  450. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  451. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  452. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  453. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  454. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  455. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  456. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  457. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  458. package/es/scenegraph/group-creater/column.js.map +1 -1
  459. package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  460. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.d.ts +1 -1
  461. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +29 -57
  462. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  463. package/es/scenegraph/group-creater/progress/proxy.d.ts +1 -1
  464. package/es/scenegraph/group-creater/progress/proxy.js +2 -4
  465. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  466. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  467. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  468. package/es/scenegraph/group-creater/progress/update-position/sort-horizontal.js.map +1 -1
  469. package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
  470. package/es/scenegraph/group-creater/progress/update-position/update-auto-column.js.map +1 -1
  471. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  472. package/es/scenegraph/group-creater/progress/update-position/util.js.map +1 -1
  473. package/es/scenegraph/icon/icon-update.js +4 -4
  474. package/es/scenegraph/icon/icon-update.js.map +1 -1
  475. package/es/scenegraph/layout/auto-height.js.map +1 -1
  476. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  477. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  478. package/es/scenegraph/layout/frozen.js +20 -2
  479. package/es/scenegraph/layout/frozen.js.map +1 -1
  480. package/es/scenegraph/layout/move-cell.js.map +1 -1
  481. package/es/scenegraph/layout/update-height.js.map +1 -1
  482. package/es/scenegraph/layout/update-row.js +3 -4
  483. package/es/scenegraph/layout/update-row.js.map +1 -1
  484. package/es/scenegraph/layout/update-width.js.map +1 -1
  485. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  486. package/es/scenegraph/scenegraph.js +2 -2
  487. package/es/scenegraph/scenegraph.js.map +1 -1
  488. package/es/scenegraph/select/create-select-border.js.map +1 -1
  489. package/es/scenegraph/select/delete-select-border.js.map +1 -1
  490. package/es/scenegraph/select/move-select-border.js.map +1 -1
  491. package/es/scenegraph/select/update-select-border.js.map +1 -1
  492. package/es/scenegraph/stick-text/index.js.map +1 -1
  493. package/es/scenegraph/style/corner-cell.js.map +1 -1
  494. package/es/scenegraph/style/frame-border.js.map +1 -1
  495. package/es/scenegraph/utils/border-line.js.map +1 -1
  496. package/es/scenegraph/utils/break-string.js.map +1 -1
  497. package/es/scenegraph/utils/cell-pos.js.map +1 -1
  498. package/es/scenegraph/utils/deal-promise-data.js.map +1 -1
  499. package/es/scenegraph/utils/empty-group.js.map +1 -1
  500. package/es/scenegraph/utils/font.js.map +1 -1
  501. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  502. package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  503. package/es/scenegraph/utils/get-prop.js.map +1 -1
  504. package/es/scenegraph/utils/icon.js.map +1 -1
  505. package/es/scenegraph/utils/is-merge-cell-group.js.map +1 -1
  506. package/es/scenegraph/utils/keep-aspect-ratio.js.map +1 -1
  507. package/es/scenegraph/utils/padding.js.map +1 -1
  508. package/es/scenegraph/utils/render-service.js.map +1 -1
  509. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  510. package/es/scenegraph/utils/text-measure.js.map +1 -1
  511. package/es/scenegraph/utils/text-pos.js.map +1 -1
  512. package/es/scenegraph/utils/update-container.js.map +1 -1
  513. package/es/state/cell-move/adjust-header.js.map +1 -1
  514. package/es/state/cell-move/index.js.map +1 -1
  515. package/es/state/common/check-in-select.js.map +1 -1
  516. package/es/state/drill/index.js.map +1 -1
  517. package/es/state/frozen/index.js.map +1 -1
  518. package/es/state/hover/col.js.map +1 -1
  519. package/es/state/hover/is-cell-hover.js.map +1 -1
  520. package/es/state/hover/row.js.map +1 -1
  521. package/es/state/hover/single.js.map +1 -1
  522. package/es/state/hover/update-cell.js.map +1 -1
  523. package/es/state/hover/update-position.js.map +1 -1
  524. package/es/state/resize/update-resize-column.js.map +1 -1
  525. package/es/state/select/update-position.js.map +1 -1
  526. package/es/state/sort/index.js.map +1 -1
  527. package/es/state/spark-line/index.js.map +1 -1
  528. package/es/state/state.js.map +1 -1
  529. package/es/themes/ARCO.js.map +1 -1
  530. package/es/themes/BRIGHT.js.map +1 -1
  531. package/es/themes/DARK.js.map +1 -1
  532. package/es/themes/DEFAULT.js.map +1 -1
  533. package/es/themes/SIMPLIFY.js.map +1 -1
  534. package/es/themes/theme.js.map +1 -1
  535. package/es/themes.js.map +1 -1
  536. package/es/tools/LimitPromiseQueue.js +1 -1
  537. package/es/tools/LimitPromiseQueue.js.map +1 -1
  538. package/es/tools/NumberMap.js +1 -1
  539. package/es/tools/NumberMap.js.map +1 -1
  540. package/es/tools/Rect.js.map +1 -1
  541. package/es/tools/calc.js.map +1 -1
  542. package/es/tools/debounce.js.map +1 -1
  543. package/es/tools/diff-cell.js.map +1 -1
  544. package/es/tools/dom.js.map +1 -1
  545. package/es/tools/env.js.map +1 -1
  546. package/es/tools/get-data-path/create-dataset.js.map +1 -1
  547. package/es/tools/get-data-path/index.js.map +1 -1
  548. package/es/tools/global.js.map +1 -1
  549. package/es/tools/helper.js.map +1 -1
  550. package/es/tools/icons.js.map +1 -1
  551. package/es/tools/isx.js.map +1 -1
  552. package/es/tools/pixel-ratio.js.map +1 -1
  553. package/es/tools/sort.js.map +1 -1
  554. package/es/tools/style.js.map +1 -1
  555. package/es/tools/util.js.map +1 -1
  556. package/es/ts-types/base-table.js +1 -1
  557. package/es/ts-types/base-table.js.map +1 -1
  558. package/es/ts-types/column/index.js.map +1 -1
  559. package/es/ts-types/column/style.js.map +1 -1
  560. package/es/ts-types/column/type.js.map +1 -1
  561. package/es/ts-types/common.js +1 -1
  562. package/es/ts-types/common.js.map +1 -1
  563. package/es/ts-types/component/axis.js.map +1 -1
  564. package/es/ts-types/component/legend.js.map +1 -1
  565. package/es/ts-types/component/title.js.map +1 -1
  566. package/es/ts-types/component/util.js.map +1 -1
  567. package/es/ts-types/customElement.js.map +1 -1
  568. package/es/ts-types/customLayout.js.map +1 -1
  569. package/es/ts-types/events.js.map +1 -1
  570. package/es/ts-types/icon.js.map +1 -1
  571. package/es/ts-types/index.js.map +1 -1
  572. package/es/ts-types/list-table/define/Composite-define.js.map +1 -1
  573. package/es/ts-types/list-table/define/basic-define.d.ts +3 -2
  574. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  575. package/es/ts-types/list-table/define/chart-define.js.map +1 -1
  576. package/es/ts-types/list-table/define/checkbox-define.js.map +1 -1
  577. package/es/ts-types/list-table/define/image-define.js.map +1 -1
  578. package/es/ts-types/list-table/define/index.js.map +1 -1
  579. package/es/ts-types/list-table/define/link-define.js.map +1 -1
  580. package/es/ts-types/list-table/define/multilinetext-define.js.map +1 -1
  581. package/es/ts-types/list-table/define/progressbar-define.js.map +1 -1
  582. package/es/ts-types/list-table/define/sparkline-define.js.map +1 -1
  583. package/es/ts-types/list-table/index.js.map +1 -1
  584. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  585. package/es/ts-types/list-table/layout-map/index.js.map +1 -1
  586. package/es/ts-types/menu.js.map +1 -1
  587. package/es/ts-types/new-data-set.js.map +1 -1
  588. package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -1
  589. package/es/ts-types/pivot-table/corner.js.map +1 -1
  590. package/es/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
  591. package/es/ts-types/pivot-table/dimension/image-dimension.js.map +1 -1
  592. package/es/ts-types/pivot-table/dimension/index.js.map +1 -1
  593. package/es/ts-types/pivot-table/dimension/link-dimension.js.map +1 -1
  594. package/es/ts-types/pivot-table/dimension/multilinetext-dimension.js.map +1 -1
  595. package/es/ts-types/pivot-table/index.js.map +1 -1
  596. package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  597. package/es/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -1
  598. package/es/ts-types/pivot-table/indicator/checkbox-indicator.js.map +1 -1
  599. package/es/ts-types/pivot-table/indicator/composite-indicator.js.map +1 -1
  600. package/es/ts-types/pivot-table/indicator/image-indicator.js.map +1 -1
  601. package/es/ts-types/pivot-table/indicator/index.js.map +1 -1
  602. package/es/ts-types/pivot-table/indicator/link-indicator.js.map +1 -1
  603. package/es/ts-types/pivot-table/indicator/multilinetext-indicator.js.map +1 -1
  604. package/es/ts-types/pivot-table/indicator/progress-indicator.js.map +1 -1
  605. package/es/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -1
  606. package/es/ts-types/pivot-table/title.js.map +1 -1
  607. package/es/ts-types/sparkline.js.map +1 -1
  608. package/es/ts-types/style-define.js.map +1 -1
  609. package/es/ts-types/table-engine.d.ts +5 -2
  610. package/es/ts-types/table-engine.js.map +1 -1
  611. package/es/ts-types/theme.js.map +1 -1
  612. package/es/ts-types/tooltip.js.map +1 -1
  613. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"sources":["PivotTable.ts"],"names":[],"mappings":"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","file":"PivotTable.js","sourcesContent":["import type {\n FieldData,\n FieldDef,\n FieldFormat,\n PivotTableAPI,\n SortRules,\n PivotSortState,\n CellAddress,\n ICellHeaderPaths,\n DropDownMenuEventInfo,\n FieldKeyDef,\n PivotTableConstructorOptions,\n IHeaderTreeDefine,\n IDimensionInfo,\n SortOrder,\n IPagination,\n CellLocation\n} from './ts-types';\nimport { HierarchyState } from './ts-types';\nimport { PivotHeaderLayoutMap } from './layout/pivot-header-layout';\nimport { getField } from './data/DataSource';\nimport { FlatDataToObjects } from './dataset/flatDataToObject';\nimport { PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\nimport { cellInRange, emptyFn } from './tools/helper';\nimport { Dataset } from './dataset/dataset';\nimport { _setDataSource } from './core/tableHelper';\nimport { BaseTable } from './core/BaseTable';\nimport type { PivotTableProtected } from './ts-types/base-table';\nimport { Title } from './components/title/title';\nimport { cloneDeep } from '@visactor/vutils';\nimport { Env } from './tools/env';\nimport type { LayouTreeNode } from './layout/pivot-layout-helper';\n\nexport class PivotTable extends BaseTable implements PivotTableAPI {\n declare internalProps: PivotTableProtected;\n declare options: PivotTableConstructorOptions;\n pivotSortState: PivotSortState[];\n\n dataset?: Dataset; //数据处理对象 开启数据透视分析的表\n flatDataToObjects?: FlatDataToObjects; //数据处理对象 聚合后的flat数据 转成便于查询的行列二维数组\n // drillMenu: Menu; //上卷下钻的按钮\n // eslint-disable-next-line default-param-last\n constructor(options: PivotTableConstructorOptions);\n constructor(container: HTMLElement, options: PivotTableConstructorOptions);\n constructor(container?: HTMLElement | PivotTableConstructorOptions, options?: PivotTableConstructorOptions) {\n if (Env.mode === 'node') {\n options = container as PivotTableConstructorOptions;\n container = null;\n } else if (!(container instanceof HTMLElement)) {\n options = container as PivotTableConstructorOptions;\n if ((container as PivotTableConstructorOptions).container) {\n container = (container as PivotTableConstructorOptions).container;\n } else {\n container = null;\n }\n }\n super(container as HTMLElement, options);\n if ((options as any).layout) {\n //TODO hack处理之前的demo都是定义到layout上的 所以这里直接并到options中\n Object.assign(options, (options as any).layout);\n }\n this.internalProps.columns = cloneDeep(options.columns);\n this.internalProps.rows = cloneDeep(options.rows);\n this.internalProps.indicators = cloneDeep(options.indicators);\n this.internalProps.columnTree =\n options.indicatorsAsCol && !options.columns?.length && !options.columnTree ? [] : cloneDeep(options.columnTree);\n this.internalProps.rowTree =\n !options.indicatorsAsCol && !options.rows?.length && !options.rowTree ? [] : cloneDeep(options.rowTree);\n this.internalProps.records = options.records;\n\n //分页配置\n this.pagination = options.pagination;\n this.internalProps.columnResizeType = options.columnResizeType ?? 'column';\n this.internalProps.dataConfig = cloneDeep(options.dataConfig);\n\n this.internalProps.enableDataAnalysis = options.enableDataAnalysis;\n const records = this.internalProps.records;\n if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {\n const rowKeys =\n options.rows?.reduce((keys, rowObj) => {\n if (typeof rowObj === 'string') {\n keys.push(rowObj);\n } else {\n keys.push(rowObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const columnKeys =\n options.columns?.reduce((keys, columnObj) => {\n if (typeof columnObj === 'string') {\n keys.push(columnObj);\n } else {\n keys.push(columnObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const indicatorKeys =\n options.indicators?.reduce((keys, indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n }\n return keys;\n }, []) ?? [];\n this.dataset = new Dataset(\n this.internalProps.dataConfig,\n // this.pagination,\n rowKeys,\n columnKeys,\n // options.indicatorsAsCol === false ? rowKeys.concat(IndicatorDimensionKeyPlaceholder) : rowKeys,\n // options.indicatorsAsCol !== false ? columnKeys.concat(IndicatorDimensionKeyPlaceholder) : columnKeys,\n indicatorKeys,\n this.internalProps.indicators,\n options.indicatorsAsCol ?? true,\n options.records,\n options.rowHierarchyType,\n this.internalProps.columnTree, //传递自定义树形结构会在dataset中补充指标节点children\n this.internalProps.rowTree\n );\n this.internalProps.layoutMap = new PivotHeaderLayoutMap(this, this.dataset);\n } else if (Array.isArray(this.internalProps.columnTree) || Array.isArray(this.internalProps.rowTree)) {\n this.internalProps.layoutMap = new PivotHeaderLayoutMap(this, null);\n //判断如果数据是二维数组 则标识已经分析过 直接从二维数组挨个读取渲染即可\n //不是二维数组 对应是个object json对象 则表示flat数据,需要对应行列维度进行转成方便数据查询的行列树结构\n if (records?.[0]?.constructor !== Array) {\n this.flatDataToObjects = new FlatDataToObjects(\n {\n rows: this.internalProps.layoutMap.fullRowDimensionKeys,\n columns: this.internalProps.layoutMap.colDimensionKeys,\n indicators: this.internalProps.layoutMap.indicatorKeys,\n indicatorsAsCol: this.internalProps.layoutMap.indicatorsAsCol,\n indicatorDimensionKey: this.internalProps.layoutMap.indicatorDimensionKey\n },\n records\n );\n }\n } else {\n console.warn('VTable Warn: your option is invalid, please check it!');\n return;\n }\n this.pivotSortState = [];\n if (options.pivotSortState) {\n this.updatePivotSortState(options.pivotSortState);\n }\n this.refreshHeader();\n this.stateManeger.initCheckedState(records);\n // this.internalProps.frozenColCount = this.options.frozenColCount || this.rowHeaderLevelCount;\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n // this.render();\n\n if (options.title) {\n this.internalProps.title = new Title(options.title, this);\n this.scenegraph.resize();\n }\n }\n static get EVENT_TYPE(): typeof PIVOT_TABLE_EVENT_TYPE {\n return PIVOT_TABLE_EVENT_TYPE;\n }\n isListTable(): false {\n return false;\n }\n isPivotTable(): true {\n return true;\n }\n isPivotChart(): false {\n return false;\n }\n _canResizeColumn(col: number, row: number): boolean {\n const ifCan = super._canResizeColumn(col, row);\n if (ifCan) {\n if (!this.internalProps.layoutMap.indicatorsAsCol) {\n // 列上是否配置了禁止拖拽列宽的配置项disableColumnResize\n const cellDefine = this.internalProps.layoutMap.getBody(col, this.columnHeaderLevelCount);\n if (cellDefine?.disableColumnResize) {\n return false;\n }\n }\n }\n return ifCan;\n }\n updateOption(options: PivotTableConstructorOptions, accelerateFirstScreen = false) {\n const internalProps = this.internalProps;\n //维护选中状态\n // const range = internalProps.selection.range; //保留原有单元格选中状态\n super.updateOption(options);\n this.internalProps.columns = cloneDeep(options.columns);\n this.internalProps.rows = cloneDeep(options.rows);\n this.internalProps.indicators = !options.indicators?.length ? [] : cloneDeep(options.indicators);\n this.internalProps.columnTree =\n options.indicatorsAsCol && !options.columns?.length && !options.columnTree ? [] : cloneDeep(options.columnTree);\n this.internalProps.rowTree =\n !options.indicatorsAsCol && !options.rows?.length && !options.rowTree ? [] : cloneDeep(options.rowTree);\n options.records && (this.internalProps.records = options.records);\n this.stateManeger.initCheckedState(this.internalProps.records);\n\n //分页配置\n this.pagination = options.pagination;\n // 更新protectedSpace\n internalProps.columnResizeType = options.columnResizeType ?? 'column';\n internalProps.dataConfig = cloneDeep(options.dataConfig);\n internalProps.enableDataAnalysis = options.enableDataAnalysis;\n\n //维护tree树形结构的展开状态\n if (\n options?.rowHierarchyType === 'tree' &&\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType === 'tree' &&\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowExpandLevel === options?.rowExpandLevel\n ) {\n const beforeRowDimensions = (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowDimensionTree.tree.children;\n this.internalProps.rowTree?.forEach((node: IHeaderTreeDefine, index: number) => {\n const beforeRowDimension = beforeRowDimensions.find(\n item => item.dimensionKey === node.dimensionKey && item.value === node.value\n );\n if (beforeRowDimension) {\n this.syncHierarchyState(beforeRowDimension, node);\n }\n });\n }\n const records = this.internalProps.records;\n //TODO 这里需要加上判断 dataConfig是否有配置变化\n if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {\n const rowKeys = options.rows?.reduce((keys, rowObj) => {\n if (typeof rowObj === 'string') {\n keys.push(rowObj);\n } else {\n keys.push(rowObj.dimensionKey);\n }\n return keys;\n }, []);\n const columnKeys = options.columns?.reduce((keys, columnObj) => {\n if (typeof columnObj === 'string') {\n keys.push(columnObj);\n } else {\n keys.push(columnObj.dimensionKey);\n }\n return keys;\n }, []);\n const indicatorKeys = options.indicators?.reduce((keys, indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n }\n return keys;\n }, []);\n this.dataset = new Dataset(\n internalProps.dataConfig,\n // this.pagination,\n rowKeys,\n columnKeys,\n indicatorKeys,\n this.internalProps.indicators,\n options.indicatorsAsCol ?? true,\n options.records,\n options.rowHierarchyType,\n this.internalProps.columnTree, //传递自定义树形结构会在dataset中补充指标节点children\n this.internalProps.rowTree\n );\n internalProps.layoutMap = new PivotHeaderLayoutMap(this, this.dataset);\n } else if (Array.isArray(this.internalProps.columnTree) || Array.isArray(this.internalProps.rowTree)) {\n internalProps.layoutMap = new PivotHeaderLayoutMap(this, null);\n //判断如果数据是二维数组 则标识已经分析过 直接从二维数组挨个读取渲染即可\n //不是二维数组 对应是个object json对象 则表示flat数据,需要对应行列维度进行转成方便数据查询的行列树结构\n if (records?.[0]?.constructor !== Array) {\n this.flatDataToObjects = new FlatDataToObjects(\n {\n rows: internalProps.layoutMap.fullRowDimensionKeys,\n columns: internalProps.layoutMap.colDimensionKeys,\n indicators: internalProps.layoutMap.indicatorKeys,\n indicatorsAsCol: internalProps.layoutMap.indicatorsAsCol,\n indicatorDimensionKey: internalProps.layoutMap.indicatorDimensionKey\n },\n records\n );\n }\n } else {\n console.warn('VTable Warn: your option is invalid, please check it!');\n return this;\n }\n this.pivotSortState = [];\n if (options.pivotSortState) {\n this.updatePivotSortState(options.pivotSortState);\n }\n // 更新表头\n this.refreshHeader();\n\n // this.hasMedia = null; // 避免重复绑定\n // 清空目前数据\n if (internalProps.releaseList) {\n internalProps.releaseList.forEach(releaseObj => releaseObj?.release?.());\n internalProps.releaseList = null;\n }\n // // 恢复selection状态\n // internalProps.selection.range = range;\n // this._updateSize();\n\n // 清空单元格内容\n this.scenegraph.clearCells();\n // this.internalProps.frozenColCount = this.options.frozenColCount || this.rowHeaderLevelCount;\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n\n // if (this.internalProps.title && !this.internalProps.title.isReleased) {\n // this._updateSize();\n // this.internalProps.title.resize();\n // this.scenegraph.resize();\n // }\n if (options.title) {\n this.internalProps.title = new Title(options.title, this);\n this.scenegraph.resize();\n }\n\n // this.render();\n return new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n }\n\n /**\n * 更新页码\n * @param pagination 修改页码\n */\n updatePagination(pagination?: IPagination): void {\n if (pagination) {\n if (!this.pagination) {\n this.pagination = { currentPage: 0, perPageCount: 0 };\n }\n typeof pagination.currentPage === 'number' &&\n pagination.currentPage >= 0 &&\n (this.pagination.currentPage = pagination.currentPage);\n pagination.perPageCount &&\n (this.pagination.perPageCount = pagination.perPageCount || this.pagination.perPageCount);\n // 清空单元格内容\n this.scenegraph.clearCells();\n //数据源缓存数据更新\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).setPagination(this.pagination);\n // this.refreshHeader();\n //刷新表头,原来这里是_refreshRowCount 后改名为_refreshRowColCount 因为表头定义会影响行数,而转置模式下会影响列数\n this.refreshRowColCount();\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n this.render();\n } else if (this.pagination) {\n // 原来有分页 现在更新成不分页\n this.pagination = undefined;\n // 清空单元格内容\n this.scenegraph.clearCells();\n //数据源缓存数据更新\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).setPagination(undefined);\n // this.refreshHeader();\n //刷新表头,原来这里是_refreshRowCount 后改名为_refreshRowColCount 因为表头定义会影响行数,而转置模式下会影响列数\n this.refreshRowColCount();\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n this.render();\n }\n }\n\n refreshHeader(): void {\n const internalProps = this.internalProps;\n //设置列宽\n for (let col = 0; col < internalProps.layoutMap.columnWidths.length; col++) {\n const { width, minWidth, maxWidth } = internalProps.layoutMap.columnWidths?.[col] ?? {};\n // width 为 \"auto\" 时先不存储ColWidth\n if (width && ((typeof width === 'string' && width !== 'auto') || (typeof width === 'number' && width > 0))) {\n this.setColWidth(col, width);\n }\n if (minWidth && ((typeof minWidth === 'number' && minWidth > 0) || typeof minWidth === 'string')) {\n this.setMinColWidth(col, minWidth);\n }\n if (maxWidth && ((typeof maxWidth === 'number' && maxWidth > 0) || typeof maxWidth === 'string')) {\n this.setMaxColWidth(col, maxWidth);\n }\n }\n //刷新表头,原来这里是_refreshRowCount 后改名为_refreshRowColCount 因为表头定义会影响行数,而转置模式下会影响列数\n this.refreshRowColCount();\n }\n\n refreshRowColCount(): void {\n const table = this;\n const { layoutMap } = table.internalProps;\n if (!layoutMap) {\n return;\n }\n table.colCount = layoutMap.colCount ?? 0;\n table.rowCount = layoutMap.rowCount ?? 0;\n // table.frozenColCount = layoutMap.rowHeaderLevelCount; //这里不要这样写 这个setter会检查扁头宽度 可能将frozenColCount置为0\n table.internalProps.frozenColCount = layoutMap.rowHeaderLevelCount ?? 0;\n table.frozenRowCount = layoutMap.headerLevelCount;\n\n table.bottomFrozenRowCount = this.options.bottomFrozenRowCount ?? 0;\n table.rightFrozenColCount = this.options.rightFrozenColCount ?? 0;\n this.stateManeger.setFrozenCol(this.internalProps.frozenColCount);\n }\n protected _getSortFuncFromHeaderOption(\n columns: undefined,\n field: FieldDef,\n fieldKey?: FieldKeyDef\n ): ((v1: any, v2: any, order: SortOrder) => 0 | 1 | -1) | undefined {\n return undefined;\n }\n /**\n * Get rowHierarchyType of pivotTable\n */\n get rowHierarchyType(): 'grid' | 'tree' {\n return (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType;\n }\n /**\n * 将现有tree中的的hierarchyState同步到rows透视树中\n * @param sourceNode\n * @param targetNode\n */\n private syncHierarchyState(sourceNode: any, targetNode: IHeaderTreeDefine) {\n if (sourceNode.value === targetNode.value && sourceNode.dimensionKey === targetNode.dimensionKey) {\n targetNode.hierarchyState =\n targetNode.hierarchyState ?? (targetNode?.children ? sourceNode.hierarchyState : undefined);\n targetNode?.children?.forEach((targetChildNode: IHeaderTreeDefine, index: number) => {\n if (sourceNode?.children?.[index] && targetChildNode) {\n const beforeRowDimension = sourceNode.children.find(\n (item: any) => item.dimensionKey === targetChildNode.dimensionKey && item.value === targetChildNode.value\n );\n if (beforeRowDimension) {\n this.syncHierarchyState(beforeRowDimension, targetChildNode);\n }\n }\n });\n }\n }\n getRecordIndexByCell(col: number, row: number): number {\n return undefined;\n }\n getTableIndexByRecordIndex(recordIndex: number): number {\n return undefined;\n }\n getTableIndexByField(field: FieldDef): number {\n return undefined;\n }\n getCellAddrByFieldRecord(field: FieldDef, recordIndex: number): CellAddress {\n return undefined;\n }\n getBodyIndexByRow(row: number): number {\n const { layoutMap } = this.internalProps;\n return layoutMap.getBodyIndexByRow(row);\n }\n getBodyIndexByCol(col: number): number {\n const { layoutMap } = this.internalProps;\n return layoutMap.getBodyIndexByCol(col);\n }\n getFieldData(field: FieldDef | FieldFormat | undefined, col: number, row: number): FieldData {\n if (field === null || field === undefined) {\n return null;\n }\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n return null;\n }\n const rowIndex = this.getBodyIndexByRow(row);\n const colIndex = this.getBodyIndexByCol(col);\n const dataValue = table.dataSource?.getField(rowIndex, colIndex, col, row, this);\n if (typeof field !== 'string') {\n //field为函数format\n const cellHeaderPaths = table.internalProps.layoutMap.getCellHeaderPaths(col, row);\n return getField({ dataValue, ...cellHeaderPaths }, field, col, row, this, emptyFn as any);\n }\n return dataValue;\n }\n\n getCellValue(col: number, row: number): FieldData {\n if (this.internalProps.layoutMap.isHeader(col, row)) {\n const { title, fieldFormat } = this.internalProps.layoutMap.getHeader(col, row);\n return typeof fieldFormat === 'function' ? fieldFormat(title) : title;\n }\n if (this.dataset) {\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const aggregator = this.dataset.getAggregator(\n !this.internalProps.layoutMap.indicatorsAsCol ? rowKeys.slice(0, -1) : rowKeys,\n this.internalProps.layoutMap.indicatorsAsCol ? colKeys.slice(0, -1) : colKeys,\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).getIndicatorKey(col, row)\n );\n return aggregator.formatValue ? aggregator.formatValue(col, row, this) : '';\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const valueNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n const { fieldFormat } = this.internalProps.layoutMap.getBody(col, row);\n return typeof fieldFormat === 'function'\n ? fieldFormat(valueNode?.record, col, row, this)\n : valueNode?.value ?? '';\n }\n const { fieldFormat } = this.internalProps.layoutMap.getBody(col, row);\n const rowIndex = this.getBodyIndexByRow(row);\n const colIndex = this.getBodyIndexByCol(col);\n const dataValue = this.records[rowIndex]?.[colIndex];\n const cellHeaderPaths = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n\n if (typeof fieldFormat === 'function') {\n const fieldResult = fieldFormat({ dataValue, ...cellHeaderPaths }, col, row, this);\n return fieldResult;\n }\n return dataValue;\n // return this.getFieldData(fieldFormat || field, col, row);\n }\n\n getCellOriginValue(col: number, row: number): FieldData {\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n const { title } = table.internalProps.layoutMap.getHeader(col, row);\n return typeof title === 'function' ? title() : title;\n }\n if (this.dataset) {\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const aggregator = this.dataset.getAggregator(\n !this.internalProps.layoutMap.indicatorsAsCol ? rowKeys.slice(0, -1) : rowKeys,\n this.internalProps.layoutMap.indicatorsAsCol ? colKeys.slice(0, -1) : colKeys,\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).getIndicatorKey(col, row)\n );\n return aggregator.value ? aggregator.value() : undefined;\n // return ''\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const treeNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n return treeNode?.value;\n }\n const rowIndex = this.getBodyIndexByRow(row);\n const colIndex = this.getBodyIndexByCol(col);\n const dataValue = this.records[rowIndex]?.[colIndex];\n return dataValue;\n // const { field } = table.internalProps.layoutMap.getBody(col, row);\n // return table.getFieldData(field, col, row);\n }\n\n // 获取原始数据\n getCellOriginRecord(col: number, row: number) {\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n return undefined;\n }\n if (this.dataset) {\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const aggregator = this.dataset.getAggregator(\n !this.internalProps.layoutMap.indicatorsAsCol ? rowKeys.slice(0, -1) : rowKeys,\n this.internalProps.layoutMap.indicatorsAsCol ? colKeys.slice(0, -1) : colKeys,\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).getIndicatorKey(col, row)\n );\n return aggregator.records;\n // return ''\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const treeNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n return treeNode?.record;\n }\n const rowIndex = this.getBodyIndexByRow(row);\n const colIndex = this.getBodyIndexByCol(col);\n const dataValue = this.records[rowIndex]?.[colIndex];\n return dataValue;\n }\n /**\n * 全量更新排序规则 TODO 待完善\n * @param sortRules\n */\n updateSortRules(sortRules: SortRules) {\n this.internalProps.dataConfig.sortRules = sortRules;\n this.dataset.updateSortRules(sortRules);\n // (this.internalProps.layoutMap as PivotLayoutMap).updateDataset(this.dataset);\n // 清空单元格内容\n this.scenegraph.clearCells();\n this.refreshHeader();\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n this.render();\n }\n /**\n * 更新排序状态\n * @param pivotSortStateConfig.dimensions 排序状态维度对应关系;pivotSortStateConfig.order 排序状态\n */\n updatePivotSortState(\n pivotSortStateConfig: {\n dimensions: IDimensionInfo[];\n order: SortOrder;\n }[]\n ) {\n // // dimensions: IDimensionInfo[], order: SortOrder\n // // 清空当前 pivot sort 状态\n // const cells = this.pivotSortState.map((cell) => ({ col: cell.col, row: cell.row }));\n // this.pivotSortState.length = 0;\n // cells.map((cell) => {\n // this.invalidateCellRange(this.getCellRange(cell.col, cell.row));\n // });\n\n // 更新 pivot sort 状态\n for (let i = 0; i < pivotSortStateConfig.length; i++) {\n const { dimensions, order } = pivotSortStateConfig[i];\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotCellAdress(dimensions);\n\n cellAddress &&\n this.pivotSortState.push({\n col: cellAddress.col,\n row: cellAddress.row,\n order\n });\n }\n\n // // 更新相关单元格样式\n // this.pivotSortState.map((cell) => {\n // this.invalidateCellRange(this.getCellRange(cell.col, cell.row));\n // });\n }\n\n getPivotSortState(col: number, row: number): SortOrder {\n if (!this.pivotSortState) {\n return undefined;\n }\n const cellRange = this.getCellRange(col, row);\n for (let i = 0; i < this.pivotSortState.length; i++) {\n const { col: sortCol, row: sortRow, order } = this.pivotSortState[i];\n\n if (cellInRange(cellRange, sortCol, sortRow)) {\n return order;\n }\n }\n return undefined;\n }\n /**\n * 拖拽移动表头位置\n * @param source 移动源位置\n * @param target 移动目标位置\n */\n moveHeaderPosition(source: CellAddress, target: CellAddress) {\n // 调用布局类 布局数据结构调整为移动位置后的\n const moveContext = (this.internalProps.layoutMap as PivotHeaderLayoutMap).moveHeaderPosition(source, target);\n if (moveContext) {\n if (moveContext.moveType === 'column') {\n // 是扁平数据结构 需要将二维数组this.records进行调整\n if (this.options.records?.[0]?.constructor === Array) {\n for (let row = 0; row < this.internalProps.records.length; row++) {\n const sourceColumns = (this.internalProps.records[row] as unknown as number[]).splice(\n moveContext.sourceIndex - this.rowHeaderLevelCount,\n moveContext.moveSize\n );\n sourceColumns.unshift((moveContext.targetIndex as any) - this.rowHeaderLevelCount, 0 as any);\n Array.prototype.splice.apply(this.internalProps.records[row] as unknown as number[], sourceColumns);\n }\n }\n //colWidthsMap 中存储着每列的宽度 根据移动 sourceCol targetCol 调整其中的位置\n this.colWidthsMap.adjustOrder(moveContext.sourceIndex, moveContext.targetIndex, moveContext.moveSize);\n //下面代码取自refreshHeader列宽设置逻辑\n //设置列宽极限值 TODO 目前是有问题的 最大最小宽度限制 移动列位置后不正确\n for (let col = 0; col < this.internalProps.layoutMap.columnWidths.length; col++) {\n const { minWidth, maxWidth } = this.internalProps.layoutMap.columnWidths?.[col] ?? {};\n if (minWidth && ((typeof minWidth === 'number' && minWidth > 0) || typeof minWidth === 'string')) {\n this.setMinColWidth(col, minWidth);\n }\n if (maxWidth && ((typeof maxWidth === 'number' && maxWidth > 0) || typeof maxWidth === 'string')) {\n this.setMaxColWidth(col, maxWidth);\n }\n }\n } else if (moveContext.moveType === 'row') {\n // 是扁平数据结构 需要将二维数组this.records进行调整\n if (this.options.records?.[0]?.constructor === Array) {\n const sourceRows = (this.internalProps.records as unknown as number[]).splice(\n moveContext.sourceIndex - this.columnHeaderLevelCount,\n moveContext.moveSize\n );\n sourceRows.unshift((moveContext.targetIndex as any) - this.columnHeaderLevelCount, 0 as any);\n Array.prototype.splice.apply(this.internalProps.records, sourceRows);\n }\n //colWidthsMap 中存储着每列的宽度 根据移动 sourceCol targetCol 调整其中的位置\n this.rowHeightsMap.adjustOrder(moveContext.sourceIndex, moveContext.targetIndex, moveContext.moveSize);\n }\n return true;\n }\n return false;\n }\n /**\n * 表头切换层级状态\n * @param col\n * @param row\n */\n toggleHierarchyState(col: number, row: number) {\n const hierarchyState = this.getHierarchyState(col, row);\n if (hierarchyState === HierarchyState.expand) {\n this.fireListeners(PIVOT_TABLE_EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE, {\n col: col,\n row: row,\n hierarchyState: HierarchyState.collapse\n });\n } else if (hierarchyState === HierarchyState.collapse) {\n this.fireListeners(PIVOT_TABLE_EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE, {\n col: col,\n row: row,\n hierarchyState: HierarchyState.expand,\n originData: this.getCellOriginRecord(col, row)\n });\n }\n\n const result = (this.internalProps.layoutMap as PivotHeaderLayoutMap).toggleHierarchyState(col, row);\n //影响行数\n this.refreshRowColCount();\n // this.scenegraph.clearCells();\n // this.scenegraph.createSceneGraph();\n // this.invalidate();\n this.clearCellStyleCache();\n this.scenegraph.updateHierarchyIcon(col, row);\n this.scenegraph.updateRow(result.removeCellPositions, result.addCellPositions, result.updateCellPositions);\n }\n /**\n * 通过表头的维度值路径来计算单元格位置 getCellAddressByHeaderPaths接口更强大一些 不限表头 不限参数格式\n * @param dimensionPaths\n * @returns\n */\n getHeaderCellAddressByPath(dimensionPaths: IDimensionInfo[]): CellAddress {\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotCellAdress(dimensionPaths);\n return cellAddress;\n }\n /**\n * 通过表头的维度值路径来计算单元格位置\n * @param dimensionPaths\n * @returns\n */\n getCellAddressByHeaderPaths(\n dimensionPaths:\n | {\n colHeaderPaths: IDimensionInfo[];\n rowHeaderPaths: IDimensionInfo[];\n cellLocation: CellLocation;\n }\n | IDimensionInfo[]\n ): CellAddress {\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getCellAdressByHeaderPath(\n dimensionPaths\n );\n return cellAddress;\n }\n\n /**\n * 通过传入的坐标 获取该位置当前单元格的维度路径;\n * @param coordinate 从body左上角为原点 coordinate为偏移距离 去计算单元格的headerPath;\n * 如不传coordinate坐标则按取body中左上角第一个单元格的维度路径\n * @returns\n */\n getHeaderPathByXY(coordinate?: { x: number; y: number }): ICellHeaderPaths {\n let cellAddr;\n if (coordinate) {\n cellAddr = this.getCellAt(\n coordinate.x + this.getFrozenColsWidth() + this.scrollLeft + 1,\n coordinate.y + this.getFrozenRowsHeight() + this.scrollTop + 1\n );\n } else {\n cellAddr = this.getCellAt(\n this.getFrozenColsWidth() + this.scrollLeft + 1,\n this.getFrozenRowsHeight() + this.scrollTop + 1\n );\n }\n const cellHeaderPaths = this.internalProps.layoutMap.getCellHeaderPaths(cellAddr.col, cellAddr.row);\n return cellHeaderPaths;\n }\n getHierarchyState(col: number, row: number): HierarchyState {\n return this._getHeaderLayoutMap(col, row)?.hierarchyState;\n }\n /** 获取行头树结构 */\n getLayoutRowTree(): LayouTreeNode[] {\n const layoutMap = this.internalProps.layoutMap;\n return layoutMap.getLayoutRowTree();\n }\n /** 获取表格行头树形结构的占位的总节点数 */\n getLayoutRowTreeCount(): number {\n const layoutMap = this.internalProps.layoutMap;\n return layoutMap.getLayoutRowTreeCount();\n }\n hasHierarchyTreeHeader() {\n return (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType === 'tree';\n }\n\n getMenuInfo(col: number, row: number, type: string): DropDownMenuEventInfo {\n const dimensionInfos = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotDimensionInfo(col, row);\n const result: DropDownMenuEventInfo = {\n dimensionKey: dimensionInfos[dimensionInfos.length - 1].dimensionKey,\n value: this.getCellValue(col, row),\n cellLocation: this.getCellLocation(col, row),\n isPivotCorner: this.isCornerHeader(col, row)\n };\n return result;\n }\n\n /**\n * 设置表格数据 及排序状态\n * @param records\n * @param sort\n */\n setRecords(records: Array<any>): void {\n this.options.records = this.internalProps.records = records;\n const options = this.options;\n const internalProps = this.internalProps;\n if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {\n this.dataset.setRecords(records);\n internalProps.layoutMap = new PivotHeaderLayoutMap(this, this.dataset);\n this.pivotSortState = [];\n if (options.pivotSortState) {\n this.updatePivotSortState(options.pivotSortState);\n }\n } else if (Array.isArray(this.internalProps.columnTree) || Array.isArray(this.internalProps.rowTree)) {\n //判断如果数据是二维数组 则标识已经分析过 直接从二维数组挨个读取渲染即可\n //不是二维数组 对应是个object json对象 则表示flat数据,需要对应行列维度进行转成方便数据查询的行列树结构\n if (records?.[0]?.constructor !== Array) {\n this.flatDataToObjects = new FlatDataToObjects(\n {\n rows: internalProps.layoutMap.fullRowDimensionKeys,\n columns: internalProps.layoutMap.colDimensionKeys,\n indicators: internalProps.layoutMap.indicatorKeys,\n indicatorsAsCol: internalProps.layoutMap.indicatorsAsCol,\n indicatorDimensionKey: internalProps.layoutMap.indicatorDimensionKey\n },\n records\n );\n }\n }\n\n // 更新表头\n this.refreshHeader();\n\n // 清空单元格内容\n this.scenegraph.clearCells();\n // this.internalProps.frozenColCount = this.options.frozenColCount || this.rowHeaderLevelCount;\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n\n if (this.internalProps.title && !this.internalProps.title.isReleased) {\n this._updateSize();\n this.internalProps.title.resize();\n this.scenegraph.resize();\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/PivotTable.ts"],"names":[],"mappings":"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","file":"PivotTable.js","sourcesContent":["import type {\n FieldData,\n FieldDef,\n FieldFormat,\n PivotTableAPI,\n SortRules,\n PivotSortState,\n CellAddress,\n ICellHeaderPaths,\n DropDownMenuEventInfo,\n FieldKeyDef,\n PivotTableConstructorOptions,\n IHeaderTreeDefine,\n IDimensionInfo,\n SortOrder,\n IPagination,\n CellLocation\n} from './ts-types';\nimport { HierarchyState } from './ts-types';\nimport { PivotHeaderLayoutMap } from './layout/pivot-header-layout';\nimport { getField } from './data/DataSource';\nimport { FlatDataToObjects } from './dataset/flatDataToObject';\nimport { PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\nimport { cellInRange, emptyFn } from './tools/helper';\nimport { Dataset } from './dataset/dataset';\nimport { _setDataSource } from './core/tableHelper';\nimport { BaseTable } from './core/BaseTable';\nimport type { PivotTableProtected } from './ts-types/base-table';\nimport { Title } from './components/title/title';\nimport { cloneDeep } from '@visactor/vutils';\nimport { Env } from './tools/env';\nimport type { LayouTreeNode } from './layout/pivot-layout-helper';\n\nexport class PivotTable extends BaseTable implements PivotTableAPI {\n declare internalProps: PivotTableProtected;\n declare options: PivotTableConstructorOptions;\n pivotSortState: PivotSortState[];\n\n dataset?: Dataset; //数据处理对象 开启数据透视分析的表\n flatDataToObjects?: FlatDataToObjects; //数据处理对象 聚合后的flat数据 转成便于查询的行列二维数组\n // drillMenu: Menu; //上卷下钻的按钮\n // eslint-disable-next-line default-param-last\n constructor(options: PivotTableConstructorOptions);\n constructor(container: HTMLElement, options: PivotTableConstructorOptions);\n constructor(container?: HTMLElement | PivotTableConstructorOptions, options?: PivotTableConstructorOptions) {\n if (Env.mode === 'node') {\n options = container as PivotTableConstructorOptions;\n container = null;\n } else if (!(container instanceof HTMLElement)) {\n options = container as PivotTableConstructorOptions;\n if ((container as PivotTableConstructorOptions).container) {\n container = (container as PivotTableConstructorOptions).container;\n } else {\n container = null;\n }\n }\n super(container as HTMLElement, options);\n if ((options as any).layout) {\n //TODO hack处理之前的demo都是定义到layout上的 所以这里直接并到options中\n Object.assign(options, (options as any).layout);\n }\n this.internalProps.columns = cloneDeep(options.columns);\n this.internalProps.rows = cloneDeep(options.rows);\n this.internalProps.indicators = cloneDeep(options.indicators);\n this.internalProps.columnTree =\n options.indicatorsAsCol && !options.columns?.length && !options.columnTree ? [] : cloneDeep(options.columnTree);\n this.internalProps.rowTree =\n !options.indicatorsAsCol && !options.rows?.length && !options.rowTree ? [] : cloneDeep(options.rowTree);\n this.internalProps.records = options.records;\n\n //分页配置\n this.pagination = options.pagination;\n this.internalProps.columnResizeType = options.columnResizeType ?? 'column';\n this.internalProps.dataConfig = cloneDeep(options.dataConfig);\n\n this.internalProps.enableDataAnalysis = options.enableDataAnalysis;\n const records = this.internalProps.records;\n if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {\n const rowKeys =\n options.rows?.reduce((keys, rowObj) => {\n if (typeof rowObj === 'string') {\n keys.push(rowObj);\n } else {\n keys.push(rowObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const columnKeys =\n options.columns?.reduce((keys, columnObj) => {\n if (typeof columnObj === 'string') {\n keys.push(columnObj);\n } else {\n keys.push(columnObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const indicatorKeys =\n options.indicators?.reduce((keys, indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n }\n return keys;\n }, []) ?? [];\n this.dataset = new Dataset(\n this.internalProps.dataConfig,\n // this.pagination,\n rowKeys,\n columnKeys,\n // options.indicatorsAsCol === false ? rowKeys.concat(IndicatorDimensionKeyPlaceholder) : rowKeys,\n // options.indicatorsAsCol !== false ? columnKeys.concat(IndicatorDimensionKeyPlaceholder) : columnKeys,\n indicatorKeys,\n this.internalProps.indicators,\n options.indicatorsAsCol ?? true,\n options.records,\n options.rowHierarchyType,\n this.internalProps.columnTree, //传递自定义树形结构会在dataset中补充指标节点children\n this.internalProps.rowTree\n );\n this.internalProps.layoutMap = new PivotHeaderLayoutMap(this, this.dataset);\n } else if (Array.isArray(this.internalProps.columnTree) || Array.isArray(this.internalProps.rowTree)) {\n this.internalProps.layoutMap = new PivotHeaderLayoutMap(this, null);\n //判断如果数据是二维数组 则标识已经分析过 直接从二维数组挨个读取渲染即可\n //不是二维数组 对应是个object json对象 则表示flat数据,需要对应行列维度进行转成方便数据查询的行列树结构\n if (records?.[0]?.constructor !== Array) {\n this.flatDataToObjects = new FlatDataToObjects(\n {\n rows: this.internalProps.layoutMap.fullRowDimensionKeys,\n columns: this.internalProps.layoutMap.colDimensionKeys,\n indicators: this.internalProps.layoutMap.indicatorKeys,\n indicatorsAsCol: this.internalProps.layoutMap.indicatorsAsCol,\n indicatorDimensionKey: this.internalProps.layoutMap.indicatorDimensionKey\n },\n records\n );\n }\n } else {\n console.warn('VTable Warn: your option is invalid, please check it!');\n return;\n }\n this.pivotSortState = [];\n if (options.pivotSortState) {\n this.updatePivotSortState(options.pivotSortState);\n }\n this.refreshHeader();\n this.stateManeger.initCheckedState(records);\n // this.internalProps.frozenColCount = this.options.frozenColCount || this.rowHeaderLevelCount;\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n // this.render();\n\n if (options.title) {\n this.internalProps.title = new Title(options.title, this);\n this.scenegraph.resize();\n }\n }\n static get EVENT_TYPE(): typeof PIVOT_TABLE_EVENT_TYPE {\n return PIVOT_TABLE_EVENT_TYPE;\n }\n isListTable(): false {\n return false;\n }\n isPivotTable(): true {\n return true;\n }\n isPivotChart(): false {\n return false;\n }\n _canResizeColumn(col: number, row: number): boolean {\n const ifCan = super._canResizeColumn(col, row);\n if (ifCan) {\n if (!this.internalProps.layoutMap.indicatorsAsCol) {\n // 列上是否配置了禁止拖拽列宽的配置项disableColumnResize\n const cellDefine = this.internalProps.layoutMap.getBody(col, this.columnHeaderLevelCount);\n if (cellDefine?.disableColumnResize) {\n return false;\n }\n }\n }\n return ifCan;\n }\n updateOption(options: PivotTableConstructorOptions, accelerateFirstScreen = false) {\n const internalProps = this.internalProps;\n //维护选中状态\n // const range = internalProps.selection.range; //保留原有单元格选中状态\n super.updateOption(options);\n this.internalProps.columns = cloneDeep(options.columns);\n this.internalProps.rows = cloneDeep(options.rows);\n this.internalProps.indicators = !options.indicators?.length ? [] : cloneDeep(options.indicators);\n this.internalProps.columnTree =\n options.indicatorsAsCol && !options.columns?.length && !options.columnTree ? [] : cloneDeep(options.columnTree);\n this.internalProps.rowTree =\n !options.indicatorsAsCol && !options.rows?.length && !options.rowTree ? [] : cloneDeep(options.rowTree);\n options.records && (this.internalProps.records = options.records);\n this.stateManeger.initCheckedState(this.internalProps.records);\n\n //分页配置\n this.pagination = options.pagination;\n // 更新protectedSpace\n internalProps.columnResizeType = options.columnResizeType ?? 'column';\n internalProps.dataConfig = cloneDeep(options.dataConfig);\n internalProps.enableDataAnalysis = options.enableDataAnalysis;\n\n //维护tree树形结构的展开状态\n if (\n options?.rowHierarchyType === 'tree' &&\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType === 'tree' &&\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowExpandLevel === options?.rowExpandLevel\n ) {\n const beforeRowDimensions = (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowDimensionTree.tree.children;\n this.internalProps.rowTree?.forEach((node: IHeaderTreeDefine, index: number) => {\n const beforeRowDimension = beforeRowDimensions.find(\n item => item.dimensionKey === node.dimensionKey && item.value === node.value\n );\n if (beforeRowDimension) {\n this.syncHierarchyState(beforeRowDimension, node);\n }\n });\n }\n const records = this.internalProps.records;\n //TODO 这里需要加上判断 dataConfig是否有配置变化\n if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {\n const rowKeys = options.rows?.reduce((keys, rowObj) => {\n if (typeof rowObj === 'string') {\n keys.push(rowObj);\n } else {\n keys.push(rowObj.dimensionKey);\n }\n return keys;\n }, []);\n const columnKeys = options.columns?.reduce((keys, columnObj) => {\n if (typeof columnObj === 'string') {\n keys.push(columnObj);\n } else {\n keys.push(columnObj.dimensionKey);\n }\n return keys;\n }, []);\n const indicatorKeys = options.indicators?.reduce((keys, indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n }\n return keys;\n }, []);\n this.dataset = new Dataset(\n internalProps.dataConfig,\n // this.pagination,\n rowKeys,\n columnKeys,\n indicatorKeys,\n this.internalProps.indicators,\n options.indicatorsAsCol ?? true,\n options.records,\n options.rowHierarchyType,\n this.internalProps.columnTree, //传递自定义树形结构会在dataset中补充指标节点children\n this.internalProps.rowTree\n );\n internalProps.layoutMap = new PivotHeaderLayoutMap(this, this.dataset);\n } else if (Array.isArray(this.internalProps.columnTree) || Array.isArray(this.internalProps.rowTree)) {\n internalProps.layoutMap = new PivotHeaderLayoutMap(this, null);\n //判断如果数据是二维数组 则标识已经分析过 直接从二维数组挨个读取渲染即可\n //不是二维数组 对应是个object json对象 则表示flat数据,需要对应行列维度进行转成方便数据查询的行列树结构\n if (records?.[0]?.constructor !== Array) {\n this.flatDataToObjects = new FlatDataToObjects(\n {\n rows: internalProps.layoutMap.fullRowDimensionKeys,\n columns: internalProps.layoutMap.colDimensionKeys,\n indicators: internalProps.layoutMap.indicatorKeys,\n indicatorsAsCol: internalProps.layoutMap.indicatorsAsCol,\n indicatorDimensionKey: internalProps.layoutMap.indicatorDimensionKey\n },\n records\n );\n }\n } else {\n console.warn('VTable Warn: your option is invalid, please check it!');\n return this;\n }\n this.pivotSortState = [];\n if (options.pivotSortState) {\n this.updatePivotSortState(options.pivotSortState);\n }\n // 更新表头\n this.refreshHeader();\n\n // this.hasMedia = null; // 避免重复绑定\n // 清空目前数据\n if (internalProps.releaseList) {\n internalProps.releaseList.forEach(releaseObj => releaseObj?.release?.());\n internalProps.releaseList = null;\n }\n // // 恢复selection状态\n // internalProps.selection.range = range;\n // this._updateSize();\n\n // 清空单元格内容\n this.scenegraph.clearCells();\n // this.internalProps.frozenColCount = this.options.frozenColCount || this.rowHeaderLevelCount;\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n\n // if (this.internalProps.title && !this.internalProps.title.isReleased) {\n // this._updateSize();\n // this.internalProps.title.resize();\n // this.scenegraph.resize();\n // }\n if (options.title) {\n this.internalProps.title = new Title(options.title, this);\n this.scenegraph.resize();\n }\n\n // this.render();\n return new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n }\n\n /**\n * 更新页码\n * @param pagination 修改页码\n */\n updatePagination(pagination?: IPagination): void {\n if (pagination) {\n if (!this.pagination) {\n this.pagination = { currentPage: 0, perPageCount: 0 };\n }\n typeof pagination.currentPage === 'number' &&\n pagination.currentPage >= 0 &&\n (this.pagination.currentPage = pagination.currentPage);\n pagination.perPageCount &&\n (this.pagination.perPageCount = pagination.perPageCount || this.pagination.perPageCount);\n // 清空单元格内容\n this.scenegraph.clearCells();\n //数据源缓存数据更新\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).setPagination(this.pagination);\n // this.refreshHeader();\n //刷新表头,原来这里是_refreshRowCount 后改名为_refreshRowColCount 因为表头定义会影响行数,而转置模式下会影响列数\n this.refreshRowColCount();\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n this.render();\n } else if (this.pagination) {\n // 原来有分页 现在更新成不分页\n this.pagination = undefined;\n // 清空单元格内容\n this.scenegraph.clearCells();\n //数据源缓存数据更新\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).setPagination(undefined);\n // this.refreshHeader();\n //刷新表头,原来这里是_refreshRowCount 后改名为_refreshRowColCount 因为表头定义会影响行数,而转置模式下会影响列数\n this.refreshRowColCount();\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n this.render();\n }\n }\n\n refreshHeader(): void {\n const internalProps = this.internalProps;\n //设置列宽\n for (let col = 0; col < internalProps.layoutMap.columnWidths.length; col++) {\n const { width, minWidth, maxWidth } = internalProps.layoutMap.columnWidths?.[col] ?? {};\n // width 为 \"auto\" 时先不存储ColWidth\n if (width && ((typeof width === 'string' && width !== 'auto') || (typeof width === 'number' && width > 0))) {\n this.setColWidth(col, width);\n }\n if (minWidth && ((typeof minWidth === 'number' && minWidth > 0) || typeof minWidth === 'string')) {\n this.setMinColWidth(col, minWidth);\n }\n if (maxWidth && ((typeof maxWidth === 'number' && maxWidth > 0) || typeof maxWidth === 'string')) {\n this.setMaxColWidth(col, maxWidth);\n }\n }\n //刷新表头,原来这里是_refreshRowCount 后改名为_refreshRowColCount 因为表头定义会影响行数,而转置模式下会影响列数\n this.refreshRowColCount();\n }\n\n refreshRowColCount(): void {\n const table = this;\n const { layoutMap } = table.internalProps;\n if (!layoutMap) {\n return;\n }\n table.colCount = layoutMap.colCount ?? 0;\n table.rowCount = layoutMap.rowCount ?? 0;\n // table.frozenColCount = layoutMap.rowHeaderLevelCount; //这里不要这样写 这个setter会检查扁头宽度 可能将frozenColCount置为0\n table.internalProps.frozenColCount = layoutMap.rowHeaderLevelCount ?? 0;\n table.frozenRowCount = layoutMap.headerLevelCount;\n\n table.bottomFrozenRowCount = this.options.bottomFrozenRowCount ?? 0;\n table.rightFrozenColCount = this.options.rightFrozenColCount ?? 0;\n this.stateManeger.setFrozenCol(this.internalProps.frozenColCount);\n }\n protected _getSortFuncFromHeaderOption(\n columns: undefined,\n field: FieldDef,\n fieldKey?: FieldKeyDef\n ): ((v1: any, v2: any, order: SortOrder) => 0 | 1 | -1) | undefined {\n return undefined;\n }\n /**\n * Get rowHierarchyType of pivotTable\n */\n get rowHierarchyType(): 'grid' | 'tree' {\n return (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType;\n }\n /**\n * 将现有tree中的的hierarchyState同步到rows透视树中\n * @param sourceNode\n * @param targetNode\n */\n private syncHierarchyState(sourceNode: any, targetNode: IHeaderTreeDefine) {\n if (sourceNode.value === targetNode.value && sourceNode.dimensionKey === targetNode.dimensionKey) {\n targetNode.hierarchyState =\n targetNode.hierarchyState ?? (targetNode?.children ? sourceNode.hierarchyState : undefined);\n targetNode?.children?.forEach((targetChildNode: IHeaderTreeDefine, index: number) => {\n if (sourceNode?.children?.[index] && targetChildNode) {\n const beforeRowDimension = sourceNode.children.find(\n (item: any) => item.dimensionKey === targetChildNode.dimensionKey && item.value === targetChildNode.value\n );\n if (beforeRowDimension) {\n this.syncHierarchyState(beforeRowDimension, targetChildNode);\n }\n }\n });\n }\n }\n getRecordIndexByCell(col: number, row: number): number {\n return undefined;\n }\n getTableIndexByRecordIndex(recordIndex: number): number {\n return undefined;\n }\n getTableIndexByField(field: FieldDef): number {\n return undefined;\n }\n getCellAddrByFieldRecord(field: FieldDef, recordIndex: number): CellAddress {\n return undefined;\n }\n getBodyIndexByRow(row: number): number {\n const { layoutMap } = this.internalProps;\n return layoutMap.getBodyIndexByRow(row);\n }\n getBodyIndexByCol(col: number): number {\n const { layoutMap } = this.internalProps;\n return layoutMap.getBodyIndexByCol(col);\n }\n getFieldData(field: FieldDef | FieldFormat | undefined, col: number, row: number): FieldData {\n if (field === null || field === undefined) {\n return null;\n }\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n return null;\n }\n const rowIndex = this.getBodyIndexByRow(row);\n const colIndex = this.getBodyIndexByCol(col);\n const dataValue = table.dataSource?.getField(rowIndex, colIndex, col, row, this);\n if (typeof field !== 'string') {\n //field为函数format\n const cellHeaderPaths = table.internalProps.layoutMap.getCellHeaderPaths(col, row);\n return getField({ dataValue, ...cellHeaderPaths }, field, col, row, this, emptyFn as any);\n }\n return dataValue;\n }\n\n getCellValue(col: number, row: number): FieldData {\n if (this.internalProps.layoutMap.isHeader(col, row)) {\n const { title, fieldFormat } = this.internalProps.layoutMap.getHeader(col, row);\n return typeof fieldFormat === 'function' ? fieldFormat(title) : title;\n }\n if (this.dataset) {\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const aggregator = this.dataset.getAggregator(\n !this.internalProps.layoutMap.indicatorsAsCol ? rowKeys.slice(0, -1) : rowKeys,\n this.internalProps.layoutMap.indicatorsAsCol ? colKeys.slice(0, -1) : colKeys,\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).getIndicatorKey(col, row)\n );\n return aggregator.formatValue ? aggregator.formatValue(col, row, this) : '';\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const valueNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n const { fieldFormat } = this.internalProps.layoutMap.getBody(col, row);\n return typeof fieldFormat === 'function'\n ? fieldFormat(valueNode?.record, col, row, this)\n : valueNode?.value ?? '';\n }\n const { fieldFormat } = this.internalProps.layoutMap.getBody(col, row);\n const rowIndex = this.getBodyIndexByRow(row);\n const colIndex = this.getBodyIndexByCol(col);\n const dataValue = this.records[rowIndex]?.[colIndex];\n const cellHeaderPaths = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n\n if (typeof fieldFormat === 'function') {\n const fieldResult = fieldFormat({ dataValue, ...cellHeaderPaths }, col, row, this);\n return fieldResult;\n }\n return dataValue;\n // return this.getFieldData(fieldFormat || field, col, row);\n }\n\n getCellOriginValue(col: number, row: number): FieldData {\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n const { title } = table.internalProps.layoutMap.getHeader(col, row);\n return typeof title === 'function' ? title() : title;\n }\n if (this.dataset) {\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const aggregator = this.dataset.getAggregator(\n !this.internalProps.layoutMap.indicatorsAsCol ? rowKeys.slice(0, -1) : rowKeys,\n this.internalProps.layoutMap.indicatorsAsCol ? colKeys.slice(0, -1) : colKeys,\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).getIndicatorKey(col, row)\n );\n return aggregator.value ? aggregator.value() : undefined;\n // return ''\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const treeNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n return treeNode?.value;\n }\n const rowIndex = this.getBodyIndexByRow(row);\n const colIndex = this.getBodyIndexByCol(col);\n const dataValue = this.records[rowIndex]?.[colIndex];\n return dataValue;\n // const { field } = table.internalProps.layoutMap.getBody(col, row);\n // return table.getFieldData(field, col, row);\n }\n\n // 获取原始数据\n getCellOriginRecord(col: number, row: number) {\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n return undefined;\n }\n if (this.dataset) {\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const aggregator = this.dataset.getAggregator(\n !this.internalProps.layoutMap.indicatorsAsCol ? rowKeys.slice(0, -1) : rowKeys,\n this.internalProps.layoutMap.indicatorsAsCol ? colKeys.slice(0, -1) : colKeys,\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).getIndicatorKey(col, row)\n );\n return aggregator.records;\n // return ''\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const treeNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n return treeNode?.record;\n }\n const rowIndex = this.getBodyIndexByRow(row);\n const colIndex = this.getBodyIndexByCol(col);\n const dataValue = this.records[rowIndex]?.[colIndex];\n return dataValue;\n }\n /**\n * 全量更新排序规则 TODO 待完善\n * @param sortRules\n */\n updateSortRules(sortRules: SortRules) {\n this.internalProps.dataConfig.sortRules = sortRules;\n this.dataset.updateSortRules(sortRules);\n // (this.internalProps.layoutMap as PivotLayoutMap).updateDataset(this.dataset);\n // 清空单元格内容\n this.scenegraph.clearCells();\n this.refreshHeader();\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n this.render();\n }\n /**\n * 更新排序状态\n * @param pivotSortStateConfig.dimensions 排序状态维度对应关系;pivotSortStateConfig.order 排序状态\n */\n updatePivotSortState(\n pivotSortStateConfig: {\n dimensions: IDimensionInfo[];\n order: SortOrder;\n }[]\n ) {\n // // dimensions: IDimensionInfo[], order: SortOrder\n // // 清空当前 pivot sort 状态\n // const cells = this.pivotSortState.map((cell) => ({ col: cell.col, row: cell.row }));\n // this.pivotSortState.length = 0;\n // cells.map((cell) => {\n // this.invalidateCellRange(this.getCellRange(cell.col, cell.row));\n // });\n\n // 更新 pivot sort 状态\n for (let i = 0; i < pivotSortStateConfig.length; i++) {\n const { dimensions, order } = pivotSortStateConfig[i];\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotCellAdress(dimensions);\n\n cellAddress &&\n this.pivotSortState.push({\n col: cellAddress.col,\n row: cellAddress.row,\n order\n });\n }\n\n // // 更新相关单元格样式\n // this.pivotSortState.map((cell) => {\n // this.invalidateCellRange(this.getCellRange(cell.col, cell.row));\n // });\n }\n\n getPivotSortState(col: number, row: number): SortOrder {\n if (!this.pivotSortState) {\n return undefined;\n }\n const cellRange = this.getCellRange(col, row);\n for (let i = 0; i < this.pivotSortState.length; i++) {\n const { col: sortCol, row: sortRow, order } = this.pivotSortState[i];\n\n if (cellInRange(cellRange, sortCol, sortRow)) {\n return order;\n }\n }\n return undefined;\n }\n /**\n * 拖拽移动表头位置\n * @param source 移动源位置\n * @param target 移动目标位置\n */\n moveHeaderPosition(source: CellAddress, target: CellAddress) {\n // 调用布局类 布局数据结构调整为移动位置后的\n const moveContext = (this.internalProps.layoutMap as PivotHeaderLayoutMap).moveHeaderPosition(source, target);\n if (moveContext) {\n if (moveContext.moveType === 'column') {\n // 是扁平数据结构 需要将二维数组this.records进行调整\n if (this.options.records?.[0]?.constructor === Array) {\n for (let row = 0; row < this.internalProps.records.length; row++) {\n const sourceColumns = (this.internalProps.records[row] as unknown as number[]).splice(\n moveContext.sourceIndex - this.rowHeaderLevelCount,\n moveContext.moveSize\n );\n sourceColumns.unshift((moveContext.targetIndex as any) - this.rowHeaderLevelCount, 0 as any);\n Array.prototype.splice.apply(this.internalProps.records[row] as unknown as number[], sourceColumns);\n }\n }\n //colWidthsMap 中存储着每列的宽度 根据移动 sourceCol targetCol 调整其中的位置\n this.colWidthsMap.adjustOrder(moveContext.sourceIndex, moveContext.targetIndex, moveContext.moveSize);\n //下面代码取自refreshHeader列宽设置逻辑\n //设置列宽极限值 TODO 目前是有问题的 最大最小宽度限制 移动列位置后不正确\n for (let col = 0; col < this.internalProps.layoutMap.columnWidths.length; col++) {\n const { minWidth, maxWidth } = this.internalProps.layoutMap.columnWidths?.[col] ?? {};\n if (minWidth && ((typeof minWidth === 'number' && minWidth > 0) || typeof minWidth === 'string')) {\n this.setMinColWidth(col, minWidth);\n }\n if (maxWidth && ((typeof maxWidth === 'number' && maxWidth > 0) || typeof maxWidth === 'string')) {\n this.setMaxColWidth(col, maxWidth);\n }\n }\n } else if (moveContext.moveType === 'row') {\n // 是扁平数据结构 需要将二维数组this.records进行调整\n if (this.options.records?.[0]?.constructor === Array) {\n const sourceRows = (this.internalProps.records as unknown as number[]).splice(\n moveContext.sourceIndex - this.columnHeaderLevelCount,\n moveContext.moveSize\n );\n sourceRows.unshift((moveContext.targetIndex as any) - this.columnHeaderLevelCount, 0 as any);\n Array.prototype.splice.apply(this.internalProps.records, sourceRows);\n }\n //colWidthsMap 中存储着每列的宽度 根据移动 sourceCol targetCol 调整其中的位置\n this.rowHeightsMap.adjustOrder(moveContext.sourceIndex, moveContext.targetIndex, moveContext.moveSize);\n }\n return true;\n }\n return false;\n }\n /**\n * 表头切换层级状态\n * @param col\n * @param row\n */\n toggleHierarchyState(col: number, row: number) {\n const hierarchyState = this.getHierarchyState(col, row);\n if (hierarchyState === HierarchyState.expand) {\n this.fireListeners(PIVOT_TABLE_EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE, {\n col: col,\n row: row,\n hierarchyState: HierarchyState.collapse\n });\n } else if (hierarchyState === HierarchyState.collapse) {\n this.fireListeners(PIVOT_TABLE_EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE, {\n col: col,\n row: row,\n hierarchyState: HierarchyState.expand,\n originData: this.getCellOriginRecord(col, row)\n });\n }\n\n const result = (this.internalProps.layoutMap as PivotHeaderLayoutMap).toggleHierarchyState(col, row);\n //影响行数\n this.refreshRowColCount();\n // this.scenegraph.clearCells();\n // this.scenegraph.createSceneGraph();\n // this.invalidate();\n this.clearCellStyleCache();\n this.scenegraph.updateHierarchyIcon(col, row);\n this.scenegraph.updateRow(result.removeCellPositions, result.addCellPositions, result.updateCellPositions);\n }\n /**\n * 通过表头的维度值路径来计算单元格位置 getCellAddressByHeaderPaths接口更强大一些 不限表头 不限参数格式\n * @param dimensionPaths\n * @returns\n */\n getHeaderCellAddressByPath(dimensionPaths: IDimensionInfo[]): CellAddress {\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotCellAdress(dimensionPaths);\n return cellAddress;\n }\n /**\n * 通过表头的维度值路径来计算单元格位置\n * @param dimensionPaths\n * @returns\n */\n getCellAddressByHeaderPaths(\n dimensionPaths:\n | {\n colHeaderPaths: IDimensionInfo[];\n rowHeaderPaths: IDimensionInfo[];\n cellLocation: CellLocation;\n }\n | IDimensionInfo[]\n ): CellAddress {\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getCellAdressByHeaderPath(\n dimensionPaths\n );\n return cellAddress;\n }\n\n /**\n * 通过传入的坐标 获取该位置当前单元格的维度路径;\n * @param coordinate 从body左上角为原点 coordinate为偏移距离 去计算单元格的headerPath;\n * 如不传coordinate坐标则按取body中左上角第一个单元格的维度路径\n * @returns\n */\n getHeaderPathByXY(coordinate?: { x: number; y: number }): ICellHeaderPaths {\n let cellAddr;\n if (coordinate) {\n cellAddr = this.getCellAt(\n coordinate.x + this.getFrozenColsWidth() + this.scrollLeft + 1,\n coordinate.y + this.getFrozenRowsHeight() + this.scrollTop + 1\n );\n } else {\n cellAddr = this.getCellAt(\n this.getFrozenColsWidth() + this.scrollLeft + 1,\n this.getFrozenRowsHeight() + this.scrollTop + 1\n );\n }\n const cellHeaderPaths = this.internalProps.layoutMap.getCellHeaderPaths(cellAddr.col, cellAddr.row);\n return cellHeaderPaths;\n }\n getHierarchyState(col: number, row: number): HierarchyState {\n return this._getHeaderLayoutMap(col, row)?.hierarchyState;\n }\n /** 获取行头树结构 */\n getLayoutRowTree(): LayouTreeNode[] {\n const layoutMap = this.internalProps.layoutMap;\n return layoutMap.getLayoutRowTree();\n }\n /** 获取表格行头树形结构的占位的总节点数 */\n getLayoutRowTreeCount(): number {\n const layoutMap = this.internalProps.layoutMap;\n return layoutMap.getLayoutRowTreeCount();\n }\n hasHierarchyTreeHeader() {\n return (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType === 'tree';\n }\n\n getMenuInfo(col: number, row: number, type: string): DropDownMenuEventInfo {\n const dimensionInfos = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotDimensionInfo(col, row);\n const result: DropDownMenuEventInfo = {\n dimensionKey: dimensionInfos[dimensionInfos.length - 1].dimensionKey,\n value: this.getCellValue(col, row),\n cellLocation: this.getCellLocation(col, row),\n isPivotCorner: this.isCornerHeader(col, row)\n };\n return result;\n }\n\n /**\n * 设置表格数据 及排序状态\n * @param records\n * @param sort\n */\n setRecords(records: Array<any>): void {\n this.options.records = this.internalProps.records = records;\n const options = this.options;\n const internalProps = this.internalProps;\n if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {\n this.dataset.setRecords(records);\n internalProps.layoutMap = new PivotHeaderLayoutMap(this, this.dataset);\n this.pivotSortState = [];\n if (options.pivotSortState) {\n this.updatePivotSortState(options.pivotSortState);\n }\n } else if (Array.isArray(this.internalProps.columnTree) || Array.isArray(this.internalProps.rowTree)) {\n //判断如果数据是二维数组 则标识已经分析过 直接从二维数组挨个读取渲染即可\n //不是二维数组 对应是个object json对象 则表示flat数据,需要对应行列维度进行转成方便数据查询的行列树结构\n if (records?.[0]?.constructor !== Array) {\n this.flatDataToObjects = new FlatDataToObjects(\n {\n rows: internalProps.layoutMap.fullRowDimensionKeys,\n columns: internalProps.layoutMap.colDimensionKeys,\n indicators: internalProps.layoutMap.indicatorKeys,\n indicatorsAsCol: internalProps.layoutMap.indicatorsAsCol,\n indicatorDimensionKey: internalProps.layoutMap.indicatorDimensionKey\n },\n records\n );\n }\n }\n\n // 更新表头\n this.refreshHeader();\n\n // 清空单元格内容\n this.scenegraph.clearCells();\n // this.internalProps.frozenColCount = this.options.frozenColCount || this.rowHeaderLevelCount;\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n\n if (this.internalProps.title && !this.internalProps.title.isReleased) {\n this._updateSize();\n this.internalProps.title.resize();\n this.scenegraph.resize();\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["body-helper/body-helper.ts"],"names":[],"mappings":"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","file":"body-helper.js","sourcesContent":["import type { ColumnIconOption, FontIcon, ImageIcon, SvgIcon } from '../ts-types';\nimport { HierarchyState, InternalIconName } from '../ts-types';\nimport * as registerIcons from '../icons';\nimport { Style } from './style/Style';\nimport { TextStyle } from './style/MultilineTextStyle';\nimport { ProgressBarStyle } from './style/ProgressBarStyle';\nimport { ImageStyle } from './style/ImageStyle';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport * as icons from '../tools/icons';\nimport { obj } from '../tools/helper';\nimport { CheckboxStyle } from './style/CheckboxStyle';\nexport class BodyHelper {\n expandIcon: SvgIcon;\n collapseIcon: SvgIcon;\n _table: BaseTableAPI;\n constructor(_table: BaseTableAPI) {\n this._table = _table;\n const regedIcons = registerIcons.get();\n //展开折叠按钮\n this.expandIcon = regedIcons[InternalIconName.expandIconName] as SvgIcon;\n this.collapseIcon = regedIcons[InternalIconName.collapseIconName] as SvgIcon;\n }\n getIcons(\n col: number,\n row: number,\n cellValue: any,\n dataValue: any,\n context: CanvasRenderingContext2D\n ): ColumnIconOption[] {\n //加入固定列图标 排序 文本中元素\n const iconArr: ColumnIconOption[] = [];\n const { icon: iconDefine } = this._table.getBodyColumnDefine(col, row);\n\n if (iconDefine) {\n let iconResults;\n if (typeof iconDefine === 'function') {\n const arg = {\n col,\n row,\n value: cellValue,\n dataValue,\n table: this._table\n };\n iconResults = iconDefine(arg);\n } else {\n iconResults = iconDefine;\n }\n const regedIcons = registerIcons.get();\n const addIcon = (columnIcon: string | ColumnIconOption) => {\n let icon;\n if (typeof columnIcon === 'string') {\n icon = regedIcons[columnIcon];\n } else {\n icon = columnIcon;\n }\n if (icon) {\n iconArr.push(icon);\n }\n };\n if (Array.isArray(iconResults)) {\n iconResults.forEach((columnIcon: string | ColumnIconOption, index: number) => {\n addIcon(columnIcon);\n });\n } else {\n addIcon(iconResults);\n }\n }\n const hierarchyIcon = this.getHierarchyIcon(col, row);\n if (hierarchyIcon) {\n iconArr.push(hierarchyIcon);\n }\n\n context &&\n iconArr.forEach((i, index) => {\n if ((i as any).content || (<ImageIcon>i).src) {\n iconArr[index] = this.getCellIconFromRecordValue(i, col, row);\n // if ((<FontIcon>i).font)\n // helper.testFontLoad((<FontIcon>i).font, (<FontIcon>i).content, col, row);\n }\n });\n\n return iconArr;\n }\n getStyleClass(\n cellType: 'text' | 'link' | 'image' | 'video' | 'chart' | 'sparkline' | 'progressbar' | 'chart' | 'checkbox'\n ) {\n switch (cellType) {\n case 'text':\n return TextStyle;\n case 'image':\n return ImageStyle;\n case 'video':\n return ImageStyle;\n case 'link':\n return TextStyle;\n case 'chart':\n return Style;\n case 'sparkline':\n return Style;\n case 'progressbar':\n return ProgressBarStyle;\n case 'checkbox':\n return CheckboxStyle;\n }\n }\n getCellIconFromRecordValue(icon: ColumnIconOption, col: number, row: number): ColumnIconOption;\n getCellIconFromRecordValue(icon: ColumnIconOption[], col: number, row: number): ColumnIconOption[];\n getCellIconFromRecordValue(\n icon: ColumnIconOption | ColumnIconOption[],\n col: number,\n row: number\n ): ColumnIconOption | ColumnIconOption[];\n getCellIconFromRecordValue(\n icon: ColumnIconOption | ColumnIconOption[],\n col: number,\n row: number\n ): ColumnIconOption | ColumnIconOption[] {\n if (Array.isArray(icon)) {\n return icon.map(i => this.getCellIconFromRecordValue(i, col, row));\n }\n // icon.positionType = IconPosition.inlineFront;\n if (!obj.isObject(icon) || typeof icon === 'function') {\n return this._table.getFieldData(icon, col, row);\n }\n // 新建对象 挨个属性赋值\n const retIcon: any = {};\n const iconOpt: any = icon;\n icons.iconPropKeys.forEach(k => {\n if (typeof iconOpt[k] !== 'undefined') {\n const f = this._table.getFieldData(iconOpt[k], col, row);\n if (f != null) {\n retIcon[k] = f;\n } else if (!this._table._hasField(iconOpt[k], col, row)) {\n retIcon[k] = iconOpt[k];\n }\n }\n });\n return retIcon;\n }\n\n getHierarchyIcon(col: number, row: number) {\n const hierarchyState = this._table.getHierarchyState(col, row);\n if (hierarchyState === HierarchyState.expand) {\n //展开状态 应该显示-号\n return this.expandIcon;\n } else if (hierarchyState === HierarchyState.collapse) {\n //折叠状态 应该显示-号\n return this.collapseIcon;\n }\n return undefined;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/body-helper/body-helper.ts"],"names":[],"mappings":"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","file":"body-helper.js","sourcesContent":["import type { ColumnIconOption, FontIcon, ImageIcon, SvgIcon } from '../ts-types';\nimport { HierarchyState, InternalIconName } from '../ts-types';\nimport * as registerIcons from '../icons';\nimport { Style } from './style/Style';\nimport { TextStyle } from './style/MultilineTextStyle';\nimport { ProgressBarStyle } from './style/ProgressBarStyle';\nimport { ImageStyle } from './style/ImageStyle';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport * as icons from '../tools/icons';\nimport { obj } from '../tools/helper';\nimport { CheckboxStyle } from './style/CheckboxStyle';\nexport class BodyHelper {\n expandIcon: SvgIcon;\n collapseIcon: SvgIcon;\n _table: BaseTableAPI;\n constructor(_table: BaseTableAPI) {\n this._table = _table;\n const regedIcons = registerIcons.get();\n //展开折叠按钮\n this.expandIcon = regedIcons[InternalIconName.expandIconName] as SvgIcon;\n this.collapseIcon = regedIcons[InternalIconName.collapseIconName] as SvgIcon;\n }\n getIcons(\n col: number,\n row: number,\n cellValue: any,\n dataValue: any,\n context: CanvasRenderingContext2D\n ): ColumnIconOption[] {\n //加入固定列图标 排序 文本中元素\n const iconArr: ColumnIconOption[] = [];\n const { icon: iconDefine } = this._table.getBodyColumnDefine(col, row);\n\n if (iconDefine) {\n let iconResults;\n if (typeof iconDefine === 'function') {\n const arg = {\n col,\n row,\n value: cellValue,\n dataValue,\n table: this._table\n };\n iconResults = iconDefine(arg);\n } else {\n iconResults = iconDefine;\n }\n const regedIcons = registerIcons.get();\n const addIcon = (columnIcon: string | ColumnIconOption) => {\n let icon;\n if (typeof columnIcon === 'string') {\n icon = regedIcons[columnIcon];\n } else {\n icon = columnIcon;\n }\n if (icon) {\n iconArr.push(icon);\n }\n };\n if (Array.isArray(iconResults)) {\n iconResults.forEach((columnIcon: string | ColumnIconOption, index: number) => {\n addIcon(columnIcon);\n });\n } else {\n addIcon(iconResults);\n }\n }\n const hierarchyIcon = this.getHierarchyIcon(col, row);\n if (hierarchyIcon) {\n iconArr.push(hierarchyIcon);\n }\n\n context &&\n iconArr.forEach((i, index) => {\n if ((i as any).content || (<ImageIcon>i).src) {\n iconArr[index] = this.getCellIconFromRecordValue(i, col, row);\n // if ((<FontIcon>i).font)\n // helper.testFontLoad((<FontIcon>i).font, (<FontIcon>i).content, col, row);\n }\n });\n\n return iconArr;\n }\n getStyleClass(\n cellType: 'text' | 'link' | 'image' | 'video' | 'chart' | 'sparkline' | 'progressbar' | 'chart' | 'checkbox'\n ) {\n switch (cellType) {\n case 'text':\n return TextStyle;\n case 'image':\n return ImageStyle;\n case 'video':\n return ImageStyle;\n case 'link':\n return TextStyle;\n case 'chart':\n return Style;\n case 'sparkline':\n return Style;\n case 'progressbar':\n return ProgressBarStyle;\n case 'checkbox':\n return CheckboxStyle;\n }\n }\n getCellIconFromRecordValue(icon: ColumnIconOption, col: number, row: number): ColumnIconOption;\n getCellIconFromRecordValue(icon: ColumnIconOption[], col: number, row: number): ColumnIconOption[];\n getCellIconFromRecordValue(\n icon: ColumnIconOption | ColumnIconOption[],\n col: number,\n row: number\n ): ColumnIconOption | ColumnIconOption[];\n getCellIconFromRecordValue(\n icon: ColumnIconOption | ColumnIconOption[],\n col: number,\n row: number\n ): ColumnIconOption | ColumnIconOption[] {\n if (Array.isArray(icon)) {\n return icon.map(i => this.getCellIconFromRecordValue(i, col, row));\n }\n // icon.positionType = IconPosition.inlineFront;\n if (!obj.isObject(icon) || typeof icon === 'function') {\n return this._table.getFieldData(icon, col, row);\n }\n // 新建对象 挨个属性赋值\n const retIcon: any = {};\n const iconOpt: any = icon;\n icons.iconPropKeys.forEach(k => {\n if (typeof iconOpt[k] !== 'undefined') {\n const f = this._table.getFieldData(iconOpt[k], col, row);\n if (f != null) {\n retIcon[k] = f;\n } else if (!this._table._hasField(iconOpt[k], col, row)) {\n retIcon[k] = iconOpt[k];\n }\n }\n });\n return retIcon;\n }\n\n getHierarchyIcon(col: number, row: number) {\n const hierarchyState = this._table.getHierarchyState(col, row);\n if (hierarchyState === HierarchyState.expand) {\n //展开状态 应该显示-号\n return this.expandIcon;\n } else if (hierarchyState === HierarchyState.collapse) {\n //折叠状态 应该显示-号\n return this.collapseIcon;\n }\n return undefined;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["body-helper/style/CheckboxStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,IAAI,YAA2B,CAAC;AAEhC,MAAM,OAAO,aAAc,SAAQ,KAAK;IAGtC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,YAAY,QAA6B,EAAE,EAAE,cAAmC,EAAE;;QAChF,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,wBAAwB,GAAG,CAAC,MAAA,KAAK,CAAC,uBAAuB,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,IAAY;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IACD,IAAI,uBAAuB,CAAC,uBAA+B;QACzD,IAAI,CAAC,wBAAwB,GAAG,uBAAuB,CAAC;IAC1D,CAAC;IACD,KAAK;QACH,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF","file":"CheckboxStyle.js","sourcesContent":["import type { CheckboxStyleOption, IStyleOption } from '../../ts-types';\nimport { Style } from './Style';\n\nlet defaultStyle: CheckboxStyle;\n\nexport class CheckboxStyle extends Style {\n private _size: number;\n private _spaceBetweenTextAndIcon: number;\n static get DEFAULT(): CheckboxStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new CheckboxStyle());\n }\n constructor(style: CheckboxStyleOption = {}, headerStyle: CheckboxStyleOption = {}) {\n super(style, headerStyle);\n this._size = (style.size ?? headerStyle?.size) || 14;\n this._spaceBetweenTextAndIcon = (style.spaceBetweenTextAndIcon ?? headerStyle?.spaceBetweenTextAndIcon) || 8;\n }\n get size(): number {\n return this._size;\n }\n set size(size: number) {\n this._size = size;\n }\n get spaceBetweenTextAndIcon(): number {\n return this._spaceBetweenTextAndIcon;\n }\n set spaceBetweenTextAndIcon(spaceBetweenTextAndIcon: number) {\n this._spaceBetweenTextAndIcon = spaceBetweenTextAndIcon;\n }\n clone(): CheckboxStyle {\n return new CheckboxStyle(this);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/body-helper/style/CheckboxStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,IAAI,YAA2B,CAAC;AAEhC,MAAM,OAAO,aAAc,SAAQ,KAAK;IAGtC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,YAAY,QAA6B,EAAE,EAAE,cAAmC,EAAE;;QAChF,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,wBAAwB,GAAG,CAAC,MAAA,KAAK,CAAC,uBAAuB,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,IAAY;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IACD,IAAI,uBAAuB,CAAC,uBAA+B;QACzD,IAAI,CAAC,wBAAwB,GAAG,uBAAuB,CAAC;IAC1D,CAAC;IACD,KAAK;QACH,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF","file":"CheckboxStyle.js","sourcesContent":["import type { CheckboxStyleOption, IStyleOption } from '../../ts-types';\nimport { Style } from './Style';\n\nlet defaultStyle: CheckboxStyle;\n\nexport class CheckboxStyle extends Style {\n private _size: number;\n private _spaceBetweenTextAndIcon: number;\n static get DEFAULT(): CheckboxStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new CheckboxStyle());\n }\n constructor(style: CheckboxStyleOption = {}, headerStyle: CheckboxStyleOption = {}) {\n super(style, headerStyle);\n this._size = (style.size ?? headerStyle?.size) || 14;\n this._spaceBetweenTextAndIcon = (style.spaceBetweenTextAndIcon ?? headerStyle?.spaceBetweenTextAndIcon) || 8;\n }\n get size(): number {\n return this._size;\n }\n set size(size: number) {\n this._size = size;\n }\n get spaceBetweenTextAndIcon(): number {\n return this._spaceBetweenTextAndIcon;\n }\n set spaceBetweenTextAndIcon(spaceBetweenTextAndIcon: number) {\n this._spaceBetweenTextAndIcon = spaceBetweenTextAndIcon;\n }\n clone(): CheckboxStyle {\n return new CheckboxStyle(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["body-helper/style/ImageStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,IAAI,YAAwB,CAAC;AAE7B,MAAM,OAAO,UAAW,SAAQ,KAAK;IAInC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,UAAU,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,YAAY,QAA2B,EAAE,EAAE,YAA0B,EAAE;QACrE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAE1B,CAAC;IAQD,KAAK;QACH,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;CACF","file":"ImageStyle.js","sourcesContent":["import type { IImageStyleOption, IStyleOption } from '../../ts-types';\nimport { Style } from './Style';\n\nlet defaultStyle: ImageStyle;\n\nexport class ImageStyle extends Style {\n // private _imageSizing?: 'keep-aspect-ratio';\n // private _imageAutoSizing?: boolean;\n // private _margin: number;\n static get DEFAULT(): ImageStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new ImageStyle());\n }\n constructor(style: IImageStyleOption = {}, bodyStyle: IStyleOption = {}) {\n super(style, bodyStyle);\n // this._margin = style.margin || 4;\n }\n // get margin(): number {\n // return this._margin;\n // }\n // set margin(margin: number) {\n // this._margin = margin;\n // this.doChangeStyle();\n // }\n clone(): ImageStyle {\n return new ImageStyle(this, null);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/body-helper/style/ImageStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,IAAI,YAAwB,CAAC;AAE7B,MAAM,OAAO,UAAW,SAAQ,KAAK;IAInC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,UAAU,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,YAAY,QAA2B,EAAE,EAAE,YAA0B,EAAE;QACrE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAE1B,CAAC;IAQD,KAAK;QACH,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;CACF","file":"ImageStyle.js","sourcesContent":["import type { IImageStyleOption, IStyleOption } from '../../ts-types';\nimport { Style } from './Style';\n\nlet defaultStyle: ImageStyle;\n\nexport class ImageStyle extends Style {\n // private _imageSizing?: 'keep-aspect-ratio';\n // private _imageAutoSizing?: boolean;\n // private _margin: number;\n static get DEFAULT(): ImageStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new ImageStyle());\n }\n constructor(style: IImageStyleOption = {}, bodyStyle: IStyleOption = {}) {\n super(style, bodyStyle);\n // this._margin = style.margin || 4;\n }\n // get margin(): number {\n // return this._margin;\n // }\n // set margin(margin: number) {\n // this._margin = margin;\n // this.doChangeStyle();\n // }\n clone(): ImageStyle {\n return new ImageStyle(this, null);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["body-helper/style/MultilineTextStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,IAAI,YAAuB,CAAC;AAC5B,MAAM,OAAO,SAAU,SAAQ,KAAK;IAGlC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,YAAY,QAA0B,EAAE,EAAE,YAA8B,EAAE;;QAExE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,mCAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC;IAC7D,CAAC;IACD,KAAK;QACH,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,SAAgC;QAC5C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE9B,CAAC;IACD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,YAAiC;QAChD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IAEpC,CAAC;CACF","file":"MultilineTextStyle.js","sourcesContent":["import type { LineClamp, ITextStyleOption, IStyleOption } from '../../ts-types';\nimport { Style } from './Style';\nimport { defaults } from '../../tools/helper';\n\nlet defaultStyle: TextStyle;\nexport class TextStyle extends Style {\n private _autoWrapText?: boolean;\n private _lineClamp?: LineClamp;\n static get DEFAULT(): TextStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new TextStyle());\n }\n constructor(style: ITextStyleOption = {}, bodyStyle: ITextStyleOption = {}) {\n // super(defaults(style, { textBaseline: \"top\" }), bodyStyle);\n super(style, bodyStyle);\n this._autoWrapText = style?.autoWrapText ?? bodyStyle?.autoWrapText;\n this._lineClamp = style?.lineClamp ?? bodyStyle?.lineClamp;\n }\n clone(): TextStyle {\n return new TextStyle(this, null);\n }\n\n get lineClamp(): LineClamp | undefined {\n return this._lineClamp;\n }\n set lineClamp(lineClamp: LineClamp | undefined) {\n this._lineClamp = lineClamp;\n //this.doChangeStyle();\n }\n get autoWrapText(): boolean | undefined {\n return this._autoWrapText;\n }\n set autoWrapText(autoWrapText: boolean | undefined) {\n this._autoWrapText = autoWrapText;\n //this.doChangeStyle();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/body-helper/style/MultilineTextStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,IAAI,YAAuB,CAAC;AAC5B,MAAM,OAAO,SAAU,SAAQ,KAAK;IAGlC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,YAAY,QAA0B,EAAE,EAAE,YAA8B,EAAE;;QAExE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,mCAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC;IAC7D,CAAC;IACD,KAAK;QACH,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,SAAgC;QAC5C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE9B,CAAC;IACD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,YAAiC;QAChD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IAEpC,CAAC;CACF","file":"MultilineTextStyle.js","sourcesContent":["import type { LineClamp, ITextStyleOption, IStyleOption } from '../../ts-types';\nimport { Style } from './Style';\nimport { defaults } from '../../tools/helper';\n\nlet defaultStyle: TextStyle;\nexport class TextStyle extends Style {\n private _autoWrapText?: boolean;\n private _lineClamp?: LineClamp;\n static get DEFAULT(): TextStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new TextStyle());\n }\n constructor(style: ITextStyleOption = {}, bodyStyle: ITextStyleOption = {}) {\n // super(defaults(style, { textBaseline: \"top\" }), bodyStyle);\n super(style, bodyStyle);\n this._autoWrapText = style?.autoWrapText ?? bodyStyle?.autoWrapText;\n this._lineClamp = style?.lineClamp ?? bodyStyle?.lineClamp;\n }\n clone(): TextStyle {\n return new TextStyle(this, null);\n }\n\n get lineClamp(): LineClamp | undefined {\n return this._lineClamp;\n }\n set lineClamp(lineClamp: LineClamp | undefined) {\n this._lineClamp = lineClamp;\n //this.doChangeStyle();\n }\n get autoWrapText(): boolean | undefined {\n return this._autoWrapText;\n }\n set autoWrapText(autoWrapText: boolean | undefined) {\n this._autoWrapText = autoWrapText;\n //this.doChangeStyle();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["body-helper/style/NumberStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,IAAI,YAAyB,CAAC;AAC9B,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,YAAY,QAAsB,EAAE,EAAE,YAA0B,EAAE;QAChE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK;QACH,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;CACF","file":"NumberStyle.js","sourcesContent":["import { Style } from './Style';\nimport { defaults } from '../../tools/helper';\nimport type { IStyleOption } from '../../ts-types';\n\nlet defaultStyle: NumberStyle;\nexport class NumberStyle extends Style {\n static get DEFAULT(): NumberStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new NumberStyle());\n }\n constructor(style: IStyleOption = {}, bodyStyle: IStyleOption = {}) {\n super(style, bodyStyle);\n }\n clone(): NumberStyle {\n return new NumberStyle(this, null);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/body-helper/style/NumberStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,IAAI,YAAyB,CAAC;AAC9B,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,YAAY,QAAsB,EAAE,EAAE,YAA0B,EAAE;QAChE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK;QACH,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;CACF","file":"NumberStyle.js","sourcesContent":["import { Style } from './Style';\nimport { defaults } from '../../tools/helper';\nimport type { IStyleOption } from '../../ts-types';\n\nlet defaultStyle: NumberStyle;\nexport class NumberStyle extends Style {\n static get DEFAULT(): NumberStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new NumberStyle());\n }\n constructor(style: IStyleOption = {}, bodyStyle: IStyleOption = {}) {\n super(style, bodyStyle);\n }\n clone(): NumberStyle {\n return new NumberStyle(this, null);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["body-helper/style/ProgressBarStyle.ts"],"names":[],"mappings":"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","file":"ProgressBarStyle.js","sourcesContent":["import type {\n ColorPropertyDefine,\n IStyleOption,\n ProgressBarStyleOption,\n StylePropertyFunctionArg\n} from '../../ts-types';\nimport { Style } from './Style';\nlet defaultStyle: ProgressBarStyle;\nconst DEFAULT_BAR_COLOR = (args: StylePropertyFunctionArg): string => {\n const num = args.value;\n if (Number(num) > 80) {\n return '#20a8d8';\n }\n if (Number(num) > 50) {\n return '#4dbd74';\n }\n if (Number(num) > 20) {\n return '#ffc107';\n }\n return '#f86c6b';\n};\nexport class ProgressBarStyle extends Style {\n private _showBar: boolean | ((args: StylePropertyFunctionArg) => boolean);\n private _barColor: ColorPropertyDefine;\n private _barBgColor: ColorPropertyDefine;\n private _barPositiveColor: ColorPropertyDefine;\n private _barNegativeColor: ColorPropertyDefine;\n private _barAxisColor: ColorPropertyDefine;\n private _barHeight: number | string;\n private _barBottom: number | string;\n private _barPadding: (number | string)[];\n private _showBarMark: boolean;\n private _barMarkPositiveColor: ColorPropertyDefine;\n private _barMarkNegativeColor: ColorPropertyDefine;\n private _barMarkWidth: number;\n private _barMarkPosition: 'right' | 'bottom';\n private _barRightToLeft: boolean;\n\n static get DEFAULT(): ProgressBarStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new ProgressBarStyle());\n }\n constructor(style: ProgressBarStyleOption = {}, bodyStyle: IStyleOption = {}) {\n super(style, bodyStyle);\n this._showBar = style.showBar ?? true;\n this._barColor = style.barColor ?? DEFAULT_BAR_COLOR;\n this._barPositiveColor = style.barPositiveColor ?? '#4dbd74';\n this._barNegativeColor = style.barNegativeColor ?? '#f86c6b';\n this._barAxisColor = style.barAxisColor ?? 'black';\n this._barBgColor = style.barBgColor;\n this._barHeight = style.barHeight ?? 3;\n this._barHeight = style.barHeight ?? 3;\n this._barBottom = style.barBottom ?? 0;\n this._barPadding = style.barPadding ?? [1, 1, 1, 1];\n this._showBarMark = style.showBarMark ?? false;\n this._barMarkPositiveColor = style.barMarkPositiveColor ?? '#4dbd74';\n this._barMarkNegativeColor = style.barMarkNegativeColor ?? '#f86c6b';\n this._barMarkWidth = style.barMarkWidth ?? 2;\n this._barMarkPosition = style.barMarkPosition ?? 'right';\n this._barRightToLeft = style.barRightToLeft ?? false;\n }\n get showBar(): boolean | ((args: StylePropertyFunctionArg) => boolean) {\n return this._showBar;\n }\n set showBar(value: boolean | ((args: StylePropertyFunctionArg) => boolean)) {\n this._showBar = value;\n //this.doChangeStyle();\n }\n get barColor(): ColorPropertyDefine {\n return this._barColor;\n }\n set barColor(barColor: ColorPropertyDefine) {\n this._barColor = barColor;\n //this.doChangeStyle();\n }\n get barBgColor(): ColorPropertyDefine {\n return this._barBgColor;\n }\n set barBgColor(barBgColor: ColorPropertyDefine) {\n this._barBgColor = barBgColor;\n //this.doChangeStyle();\n }\n get barHeight(): number | string {\n return this._barHeight;\n }\n set barHeight(barHeight: number | string) {\n this._barHeight = barHeight;\n //this.doChangeStyle();\n }\n get barBottom(): number | string {\n return this._barBottom;\n }\n set barBottom(barBottom: number | string) {\n this._barBottom = barBottom;\n //this.doChangeStyle();\n }\n get barPositiveColor(): ColorPropertyDefine {\n return this._barPositiveColor;\n }\n set barPositiveColor(barPositiveColor: ColorPropertyDefine) {\n this._barPositiveColor = barPositiveColor;\n //this.doChangeStyle();\n }\n get barNegativeColor(): ColorPropertyDefine {\n return this._barNegativeColor;\n }\n set barNegativeColor(barNegativeColor: ColorPropertyDefine) {\n this._barNegativeColor = barNegativeColor;\n //this.doChangeStyle();\n }\n get barAxisColor(): ColorPropertyDefine {\n return this._barAxisColor;\n }\n set barAxisColor(barAxisColor: ColorPropertyDefine) {\n this._barAxisColor = barAxisColor;\n //this.doChangeStyle();\n }\n get barPadding(): (number | string)[] {\n return this._barPadding;\n }\n set barPadding(barPadding: (number | string)[]) {\n this._barPadding = barPadding;\n //this.doChangeStyle();\n }\n get showBarMark(): boolean {\n return this._showBarMark;\n }\n set showBarMark(value: boolean) {\n this._showBarMark = value;\n //this.doChangeStyle();\n }\n get barMarkPositiveColor(): ColorPropertyDefine {\n return this._barMarkPositiveColor;\n }\n set barMarkPositiveColor(value: ColorPropertyDefine) {\n this._barMarkPositiveColor = value;\n //this.doChangeStyle();\n }\n get barMarkNegativeColor(): ColorPropertyDefine {\n return this._barMarkNegativeColor;\n }\n set barMarkNegativeColor(value: ColorPropertyDefine) {\n this._barMarkNegativeColor = value;\n //this.doChangeStyle();\n }\n get barMarkWidth(): number {\n return this._barMarkWidth;\n }\n set barMarkWidth(value: number) {\n this._barMarkWidth = value;\n //this.doChangeStyle();\n }\n get barMarkPosition(): 'right' | 'bottom' {\n return this._barMarkPosition;\n }\n set barMarkPosition(value: 'right' | 'bottom') {\n this._barMarkPosition = value;\n //this.doChangeStyle();\n }\n get barRightToLeft(): boolean {\n return this._barRightToLeft;\n }\n set barRightToLeft(value: boolean) {\n this._barRightToLeft = value;\n //this.doChangeStyle();\n }\n clone(): ProgressBarStyle {\n return new ProgressBarStyle(this, null);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/body-helper/style/ProgressBarStyle.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,IAAI,YAA8B,CAAC;AACnC,MAAM,iBAAiB,GAAG,CAAC,IAA8B,EAAU,EAAE;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AACF,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAiBzC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,YAAY,QAAgC,EAAE,EAAE,YAA0B,EAAE;;QAC1E,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAA,KAAK,CAAC,OAAO,mCAAI,IAAI,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,MAAA,KAAK,CAAC,QAAQ,mCAAI,iBAAiB,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,MAAA,KAAK,CAAC,gBAAgB,mCAAI,SAAS,CAAC;QAC7D,IAAI,CAAC,iBAAiB,GAAG,MAAA,KAAK,CAAC,gBAAgB,mCAAI,SAAS,CAAC;QAC7D,IAAI,CAAC,aAAa,GAAG,MAAA,KAAK,CAAC,YAAY,mCAAI,OAAO,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,MAAA,KAAK,CAAC,UAAU,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,MAAA,KAAK,CAAC,WAAW,mCAAI,KAAK,CAAC;QAC/C,IAAI,CAAC,qBAAqB,GAAG,MAAA,KAAK,CAAC,oBAAoB,mCAAI,SAAS,CAAC;QACrE,IAAI,CAAC,qBAAqB,GAAG,MAAA,KAAK,CAAC,oBAAoB,mCAAI,SAAS,CAAC;QACrE,IAAI,CAAC,aAAa,GAAG,MAAA,KAAK,CAAC,YAAY,mCAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,MAAA,KAAK,CAAC,eAAe,mCAAI,OAAO,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,MAAA,KAAK,CAAC,cAAc,mCAAI,KAAK,CAAC;IACvD,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,KAA8D;QACxE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAExB,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,IAAI,QAAQ,CAAC,QAA6B;QACxC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAE5B,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAI,UAAU,CAAC,UAA+B;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAEhC,CAAC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,SAA0B;QACtC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE9B,CAAC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,SAA0B;QACtC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE9B,CAAC;IACD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAI,gBAAgB,CAAC,gBAAqC;QACxD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAE5C,CAAC;IACD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAI,gBAAgB,CAAC,gBAAqC;QACxD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAE5C,CAAC;IACD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,YAAiC;QAChD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IAEpC,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAI,UAAU,CAAC,UAA+B;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAEhC,CAAC;IACD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,WAAW,CAAC,KAAc;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAE5B,CAAC;IACD,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IACD,IAAI,oBAAoB,CAAC,KAA0B;QACjD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IAErC,CAAC;IACD,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IACD,IAAI,oBAAoB,CAAC,KAA0B;QACjD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IAErC,CAAC;IACD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,KAAa;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAE7B,CAAC;IACD,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IACD,IAAI,eAAe,CAAC,KAAyB;QAC3C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAEhC,CAAC;IACD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,IAAI,cAAc,CAAC,KAAc;QAC/B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAE/B,CAAC;IACD,KAAK;QACH,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF","file":"ProgressBarStyle.js","sourcesContent":["import type {\n ColorPropertyDefine,\n IStyleOption,\n ProgressBarStyleOption,\n StylePropertyFunctionArg\n} from '../../ts-types';\nimport { Style } from './Style';\nlet defaultStyle: ProgressBarStyle;\nconst DEFAULT_BAR_COLOR = (args: StylePropertyFunctionArg): string => {\n const num = args.value;\n if (Number(num) > 80) {\n return '#20a8d8';\n }\n if (Number(num) > 50) {\n return '#4dbd74';\n }\n if (Number(num) > 20) {\n return '#ffc107';\n }\n return '#f86c6b';\n};\nexport class ProgressBarStyle extends Style {\n private _showBar: boolean | ((args: StylePropertyFunctionArg) => boolean);\n private _barColor: ColorPropertyDefine;\n private _barBgColor: ColorPropertyDefine;\n private _barPositiveColor: ColorPropertyDefine;\n private _barNegativeColor: ColorPropertyDefine;\n private _barAxisColor: ColorPropertyDefine;\n private _barHeight: number | string;\n private _barBottom: number | string;\n private _barPadding: (number | string)[];\n private _showBarMark: boolean;\n private _barMarkPositiveColor: ColorPropertyDefine;\n private _barMarkNegativeColor: ColorPropertyDefine;\n private _barMarkWidth: number;\n private _barMarkPosition: 'right' | 'bottom';\n private _barRightToLeft: boolean;\n\n static get DEFAULT(): ProgressBarStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new ProgressBarStyle());\n }\n constructor(style: ProgressBarStyleOption = {}, bodyStyle: IStyleOption = {}) {\n super(style, bodyStyle);\n this._showBar = style.showBar ?? true;\n this._barColor = style.barColor ?? DEFAULT_BAR_COLOR;\n this._barPositiveColor = style.barPositiveColor ?? '#4dbd74';\n this._barNegativeColor = style.barNegativeColor ?? '#f86c6b';\n this._barAxisColor = style.barAxisColor ?? 'black';\n this._barBgColor = style.barBgColor;\n this._barHeight = style.barHeight ?? 3;\n this._barHeight = style.barHeight ?? 3;\n this._barBottom = style.barBottom ?? 0;\n this._barPadding = style.barPadding ?? [1, 1, 1, 1];\n this._showBarMark = style.showBarMark ?? false;\n this._barMarkPositiveColor = style.barMarkPositiveColor ?? '#4dbd74';\n this._barMarkNegativeColor = style.barMarkNegativeColor ?? '#f86c6b';\n this._barMarkWidth = style.barMarkWidth ?? 2;\n this._barMarkPosition = style.barMarkPosition ?? 'right';\n this._barRightToLeft = style.barRightToLeft ?? false;\n }\n get showBar(): boolean | ((args: StylePropertyFunctionArg) => boolean) {\n return this._showBar;\n }\n set showBar(value: boolean | ((args: StylePropertyFunctionArg) => boolean)) {\n this._showBar = value;\n //this.doChangeStyle();\n }\n get barColor(): ColorPropertyDefine {\n return this._barColor;\n }\n set barColor(barColor: ColorPropertyDefine) {\n this._barColor = barColor;\n //this.doChangeStyle();\n }\n get barBgColor(): ColorPropertyDefine {\n return this._barBgColor;\n }\n set barBgColor(barBgColor: ColorPropertyDefine) {\n this._barBgColor = barBgColor;\n //this.doChangeStyle();\n }\n get barHeight(): number | string {\n return this._barHeight;\n }\n set barHeight(barHeight: number | string) {\n this._barHeight = barHeight;\n //this.doChangeStyle();\n }\n get barBottom(): number | string {\n return this._barBottom;\n }\n set barBottom(barBottom: number | string) {\n this._barBottom = barBottom;\n //this.doChangeStyle();\n }\n get barPositiveColor(): ColorPropertyDefine {\n return this._barPositiveColor;\n }\n set barPositiveColor(barPositiveColor: ColorPropertyDefine) {\n this._barPositiveColor = barPositiveColor;\n //this.doChangeStyle();\n }\n get barNegativeColor(): ColorPropertyDefine {\n return this._barNegativeColor;\n }\n set barNegativeColor(barNegativeColor: ColorPropertyDefine) {\n this._barNegativeColor = barNegativeColor;\n //this.doChangeStyle();\n }\n get barAxisColor(): ColorPropertyDefine {\n return this._barAxisColor;\n }\n set barAxisColor(barAxisColor: ColorPropertyDefine) {\n this._barAxisColor = barAxisColor;\n //this.doChangeStyle();\n }\n get barPadding(): (number | string)[] {\n return this._barPadding;\n }\n set barPadding(barPadding: (number | string)[]) {\n this._barPadding = barPadding;\n //this.doChangeStyle();\n }\n get showBarMark(): boolean {\n return this._showBarMark;\n }\n set showBarMark(value: boolean) {\n this._showBarMark = value;\n //this.doChangeStyle();\n }\n get barMarkPositiveColor(): ColorPropertyDefine {\n return this._barMarkPositiveColor;\n }\n set barMarkPositiveColor(value: ColorPropertyDefine) {\n this._barMarkPositiveColor = value;\n //this.doChangeStyle();\n }\n get barMarkNegativeColor(): ColorPropertyDefine {\n return this._barMarkNegativeColor;\n }\n set barMarkNegativeColor(value: ColorPropertyDefine) {\n this._barMarkNegativeColor = value;\n //this.doChangeStyle();\n }\n get barMarkWidth(): number {\n return this._barMarkWidth;\n }\n set barMarkWidth(value: number) {\n this._barMarkWidth = value;\n //this.doChangeStyle();\n }\n get barMarkPosition(): 'right' | 'bottom' {\n return this._barMarkPosition;\n }\n set barMarkPosition(value: 'right' | 'bottom') {\n this._barMarkPosition = value;\n //this.doChangeStyle();\n }\n get barRightToLeft(): boolean {\n return this._barRightToLeft;\n }\n set barRightToLeft(value: boolean) {\n this._barRightToLeft = value;\n //this.doChangeStyle();\n }\n clone(): ProgressBarStyle {\n return new ProgressBarStyle(this, null);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["body-helper/style/Style.ts"],"names":[],"mappings":"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","file":"Style.js","sourcesContent":["/* eslint-disable no-undef */\nimport type {\n ColorPropertyDefine,\n ColumnStyle,\n IStyleOption,\n TextOverflow,\n UnderlinePropertyDefine,\n LineThroughPropertyDefine,\n LineDashPropertyDefine,\n ColorsPropertyDefine,\n PaddingsPropertyDefine,\n CursorPropertyDefine,\n LineWidthsPropertyDefine,\n LineDashsPropertyDefine,\n MarkedPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine,\n TextAlignType,\n TextBaselineType\n} from '../../ts-types';\nlet defaultStyle: Style;\nimport { EventTarget } from '../../event/EventTarget';\nconst STYLE_EVENT_TYPE = {\n CHANGE_STYLE: 'change_style' as const\n};\n\nexport class Style extends EventTarget implements ColumnStyle {\n private _color?: ColorPropertyDefine;\n private _fontSize?: FontSizePropertyDefine;\n private _fontFamily?: FontFamilyPropertyDefine;\n private _fontWeight?: FontWeightPropertyDefine;\n private _fontVariant?: FontVariantPropertyDefine;\n private _fontStyle?: FontStylePropertyDefine;\n private _padding?: PaddingsPropertyDefine;\n private _defaultPadding: PaddingsPropertyDefine = [10, 16, 10, 16];\n private _textStick: boolean;\n private _textOverflow?: TextOverflow;\n private _textAlign?: TextAlignType;\n private _textBaseline?: TextBaselineType;\n private _bgColor?: ColorPropertyDefine;\n private _borderColor?: ColorsPropertyDefine;\n private _lineHeight?: number;\n private _underline?: UnderlinePropertyDefine;\n private _underlineColor?: ColorPropertyDefine;\n private _underlineDash?: LineDashPropertyDefine;\n private _lineThrough?: LineThroughPropertyDefine;\n private _lineThroughColor?: ColorPropertyDefine;\n private _lineThroughDash?: LineDashPropertyDefine;\n private _linkColor?: ColorPropertyDefine;\n private _cursor?: CursorPropertyDefine;\n private _borderLineWidth?: LineWidthsPropertyDefine;\n private _borderLineDash?: LineDashsPropertyDefine;\n private _marked?: MarkedPropertyDefine;\n static get EVENT_TYPE(): { CHANGE_STYLE: 'change_style' } {\n return STYLE_EVENT_TYPE;\n }\n static get DEFAULT(): Style {\n return defaultStyle ? defaultStyle : (defaultStyle = new Style());\n }\n constructor(style: IStyleOption = {}, bodyStyle: IStyleOption = {}) {\n super();\n this._textAlign = style?.textAlign ?? bodyStyle?.textAlign; //|| \"left\";\n this._textBaseline = style?.textBaseline ?? bodyStyle?.textBaseline; //|| \"middle\";\n this._color = style?.color ?? bodyStyle?.color;\n // icon为文字前后可添加的图表\n this._fontSize = style.fontSize ?? bodyStyle?.fontSize;\n this._fontFamily = style.fontFamily ?? bodyStyle?.fontFamily;\n this._fontWeight = style.fontWeight ?? bodyStyle?.fontWeight;\n this._fontVariant = style.fontVariant ?? bodyStyle?.fontVariant;\n this._fontStyle = style.fontStyle ?? bodyStyle?.fontStyle;\n //修改不能设置为0的情况\n this._padding = style?.padding ?? bodyStyle?.padding ?? this._defaultPadding;\n this._borderColor = style?.borderColor ?? bodyStyle?.borderColor;\n this._textOverflow = style?.textOverflow ?? bodyStyle?.textOverflow; //|| \"clip\";\n this._textStick = style.textStick ?? bodyStyle?.textStick ?? false;\n this._bgColor = style?.bgColor ?? bodyStyle?.bgColor;\n this._lineHeight = style?.lineHeight ?? bodyStyle?.lineHeight;\n this._underline = style?.underline ?? bodyStyle?.underline;\n this._underlineColor = style?.underlineColor ?? bodyStyle?.underlineColor;\n this._underlineDash = style?.underlineDash ?? bodyStyle?.underlineDash;\n this._lineThrough = style?.lineThrough ?? bodyStyle?.lineThrough;\n this._lineThroughColor = style?.lineThroughColor ?? bodyStyle?.lineThroughColor;\n this._lineThroughDash = style?.lineThroughDash ?? bodyStyle?.lineThroughDash;\n this._linkColor = style?.linkColor ?? bodyStyle?.linkColor;\n this._cursor = style.cursor ?? bodyStyle?.cursor;\n this._borderLineWidth = style.borderLineWidth ?? bodyStyle?.borderLineWidth;\n this._borderLineDash = style.borderLineDash ?? bodyStyle?.borderLineDash;\n this._marked = style.marked ?? bodyStyle?.marked;\n }\n get color(): ColorPropertyDefine | undefined {\n return this._color;\n }\n set color(color: ColorPropertyDefine | undefined) {\n this._color = color;\n // this.doChangeStyle();\n }\n get fontSize(): FontSizePropertyDefine | undefined {\n return this._fontSize;\n }\n set fontSize(fontSize: FontSizePropertyDefine | undefined) {\n this._fontSize = fontSize;\n // this.doChangeStyle();\n }\n get fontFamily(): FontFamilyPropertyDefine | undefined {\n return this._fontFamily;\n }\n set fontFamily(fontFamily: FontFamilyPropertyDefine | undefined) {\n this._fontFamily = fontFamily;\n // this.doChangeStyle();\n }\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return this._fontWeight;\n }\n set fontWeight(fontWeight: FontWeightPropertyDefine | undefined) {\n this._fontWeight = fontWeight;\n // this.doChangeStyle();\n }\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return this._fontVariant;\n }\n set fontVariant(fontVariant: FontVariantPropertyDefine | undefined) {\n this._fontVariant = fontVariant;\n // this.doChangeStyle();\n }\n get fontStyle(): FontStylePropertyDefine | undefined {\n return this._fontStyle;\n }\n set fontStyle(fontStyle: FontStylePropertyDefine | undefined) {\n this._fontStyle = fontStyle;\n // this.doChangeStyle();\n }\n get padding(): PaddingsPropertyDefine | undefined {\n return this._padding;\n }\n set padding(padding: PaddingsPropertyDefine | undefined) {\n this._padding = padding;\n // this.doChangeStyle();\n }\n get textOverflow(): TextOverflow | undefined {\n return this._textOverflow;\n }\n set textOverflow(textOverflow: TextOverflow | undefined) {\n this._textOverflow = textOverflow;\n // this.doChangeStyle();\n }\n get bgColor(): ColorPropertyDefine | undefined {\n return this._bgColor;\n }\n set bgColor(bgColor: ColorPropertyDefine | undefined) {\n this._bgColor = bgColor;\n // this.doChangeStyle();\n }\n get borderColor(): ColorsPropertyDefine | undefined {\n return this._borderColor;\n }\n set borderColor(borderColor: ColorsPropertyDefine | undefined) {\n this._borderColor = borderColor;\n // this.doChangeStyle();\n }\n get textStick(): boolean {\n return this._textStick;\n }\n set textStick(textStick: boolean) {\n this._textStick = textStick;\n // this.doChangeStyle();\n }\n get textAlign(): TextAlignType | undefined {\n return this._textAlign;\n }\n set textAlign(textAlign: TextAlignType | undefined) {\n this._textAlign = textAlign;\n // this.doChangeStyle();\n }\n get textBaseline(): TextBaselineType | undefined {\n return this._textBaseline;\n }\n set textBaseline(textBaseline: TextBaselineType | undefined) {\n this._textBaseline = textBaseline;\n // this.doChangeStyle();\n }\n get lineHeight(): number | undefined {\n return this._lineHeight;\n }\n set lineHeight(lineHeight: number | undefined) {\n this._lineHeight = lineHeight;\n // this.doChangeStyle();\n }\n get underline(): UnderlinePropertyDefine | undefined {\n return this._underline;\n }\n set underline(underline: UnderlinePropertyDefine | undefined) {\n this._underline = underline;\n // this.doChangeStyle();\n }\n get underlineColor(): ColorPropertyDefine | undefined {\n return this._underlineColor;\n }\n set underlineColor(underlineColor: ColorPropertyDefine | undefined) {\n this._underlineColor = underlineColor;\n // this.doChangeStyle();\n }\n get underlineDash(): LineDashPropertyDefine | undefined {\n return this._underlineDash;\n }\n set underlineDash(underlineDash: LineDashPropertyDefine | undefined) {\n this._underlineDash = underlineDash;\n // this.doChangeStyle();\n }\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return this._lineThrough;\n }\n set lineThrough(lineThrough: LineThroughPropertyDefine | undefined) {\n this._lineThrough = lineThrough;\n // this.doChangeStyle();\n }\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return this._lineThroughColor;\n }\n set lineThroughColor(lineThroughColor: ColorPropertyDefine | undefined) {\n this._lineThroughColor = lineThroughColor;\n // this.doChangeStyle();\n }\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return this._lineThroughDash;\n }\n set lineThroughDash(lineThroughDash: LineDashPropertyDefine | undefined) {\n this._lineThroughDash = lineThroughDash;\n // this.doChangeStyle();\n }\n get linkColor(): ColorPropertyDefine | undefined {\n return this._linkColor;\n }\n set linkColor(linkColor: ColorPropertyDefine | undefined) {\n this._linkColor = linkColor;\n // this.doChangeStyle();\n }\n get cursor(): CursorPropertyDefine | undefined {\n return this._cursor;\n }\n set cursor(cursor: CursorPropertyDefine | undefined) {\n this._cursor = cursor;\n // this.doChangeStyle();\n }\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return this._borderLineWidth;\n }\n set borderLineWidth(borderLineWidth: LineWidthsPropertyDefine | undefined) {\n this._borderLineWidth = borderLineWidth;\n // this.doChangeStyle();\n }\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return this._borderLineDash;\n }\n set borderLineDash(borderLineDash: LineDashsPropertyDefine | undefined) {\n this._borderLineDash = borderLineDash;\n // this.doChangeStyle();\n }\n get marked(): MarkedPropertyDefine | undefined {\n return this._marked;\n }\n set marked(marked: MarkedPropertyDefine | undefined) {\n this._marked = marked;\n // this.doChangeStyle();\n }\n // doChangeStyle(): void {\n // this.fireListeners(STYLE_EVENT_TYPE.CHANGE_STYLE, null);\n // }\n clone(): Style {\n return new Style(this, null);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/body-helper/style/Style.ts"],"names":[],"mappings":"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","file":"Style.js","sourcesContent":["/* eslint-disable no-undef */\nimport type {\n ColorPropertyDefine,\n ColumnStyle,\n IStyleOption,\n TextOverflow,\n UnderlinePropertyDefine,\n LineThroughPropertyDefine,\n LineDashPropertyDefine,\n ColorsPropertyDefine,\n PaddingsPropertyDefine,\n CursorPropertyDefine,\n LineWidthsPropertyDefine,\n LineDashsPropertyDefine,\n MarkedPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine,\n TextAlignType,\n TextBaselineType\n} from '../../ts-types';\nlet defaultStyle: Style;\nimport { EventTarget } from '../../event/EventTarget';\nconst STYLE_EVENT_TYPE = {\n CHANGE_STYLE: 'change_style' as const\n};\n\nexport class Style extends EventTarget implements ColumnStyle {\n private _color?: ColorPropertyDefine;\n private _fontSize?: FontSizePropertyDefine;\n private _fontFamily?: FontFamilyPropertyDefine;\n private _fontWeight?: FontWeightPropertyDefine;\n private _fontVariant?: FontVariantPropertyDefine;\n private _fontStyle?: FontStylePropertyDefine;\n private _padding?: PaddingsPropertyDefine;\n private _defaultPadding: PaddingsPropertyDefine = [10, 16, 10, 16];\n private _textStick: boolean;\n private _textOverflow?: TextOverflow;\n private _textAlign?: TextAlignType;\n private _textBaseline?: TextBaselineType;\n private _bgColor?: ColorPropertyDefine;\n private _borderColor?: ColorsPropertyDefine;\n private _lineHeight?: number;\n private _underline?: UnderlinePropertyDefine;\n private _underlineColor?: ColorPropertyDefine;\n private _underlineDash?: LineDashPropertyDefine;\n private _lineThrough?: LineThroughPropertyDefine;\n private _lineThroughColor?: ColorPropertyDefine;\n private _lineThroughDash?: LineDashPropertyDefine;\n private _linkColor?: ColorPropertyDefine;\n private _cursor?: CursorPropertyDefine;\n private _borderLineWidth?: LineWidthsPropertyDefine;\n private _borderLineDash?: LineDashsPropertyDefine;\n private _marked?: MarkedPropertyDefine;\n static get EVENT_TYPE(): { CHANGE_STYLE: 'change_style' } {\n return STYLE_EVENT_TYPE;\n }\n static get DEFAULT(): Style {\n return defaultStyle ? defaultStyle : (defaultStyle = new Style());\n }\n constructor(style: IStyleOption = {}, bodyStyle: IStyleOption = {}) {\n super();\n this._textAlign = style?.textAlign ?? bodyStyle?.textAlign; //|| \"left\";\n this._textBaseline = style?.textBaseline ?? bodyStyle?.textBaseline; //|| \"middle\";\n this._color = style?.color ?? bodyStyle?.color;\n // icon为文字前后可添加的图表\n this._fontSize = style.fontSize ?? bodyStyle?.fontSize;\n this._fontFamily = style.fontFamily ?? bodyStyle?.fontFamily;\n this._fontWeight = style.fontWeight ?? bodyStyle?.fontWeight;\n this._fontVariant = style.fontVariant ?? bodyStyle?.fontVariant;\n this._fontStyle = style.fontStyle ?? bodyStyle?.fontStyle;\n //修改不能设置为0的情况\n this._padding = style?.padding ?? bodyStyle?.padding ?? this._defaultPadding;\n this._borderColor = style?.borderColor ?? bodyStyle?.borderColor;\n this._textOverflow = style?.textOverflow ?? bodyStyle?.textOverflow; //|| \"clip\";\n this._textStick = style.textStick ?? bodyStyle?.textStick ?? false;\n this._bgColor = style?.bgColor ?? bodyStyle?.bgColor;\n this._lineHeight = style?.lineHeight ?? bodyStyle?.lineHeight;\n this._underline = style?.underline ?? bodyStyle?.underline;\n this._underlineColor = style?.underlineColor ?? bodyStyle?.underlineColor;\n this._underlineDash = style?.underlineDash ?? bodyStyle?.underlineDash;\n this._lineThrough = style?.lineThrough ?? bodyStyle?.lineThrough;\n this._lineThroughColor = style?.lineThroughColor ?? bodyStyle?.lineThroughColor;\n this._lineThroughDash = style?.lineThroughDash ?? bodyStyle?.lineThroughDash;\n this._linkColor = style?.linkColor ?? bodyStyle?.linkColor;\n this._cursor = style.cursor ?? bodyStyle?.cursor;\n this._borderLineWidth = style.borderLineWidth ?? bodyStyle?.borderLineWidth;\n this._borderLineDash = style.borderLineDash ?? bodyStyle?.borderLineDash;\n this._marked = style.marked ?? bodyStyle?.marked;\n }\n get color(): ColorPropertyDefine | undefined {\n return this._color;\n }\n set color(color: ColorPropertyDefine | undefined) {\n this._color = color;\n // this.doChangeStyle();\n }\n get fontSize(): FontSizePropertyDefine | undefined {\n return this._fontSize;\n }\n set fontSize(fontSize: FontSizePropertyDefine | undefined) {\n this._fontSize = fontSize;\n // this.doChangeStyle();\n }\n get fontFamily(): FontFamilyPropertyDefine | undefined {\n return this._fontFamily;\n }\n set fontFamily(fontFamily: FontFamilyPropertyDefine | undefined) {\n this._fontFamily = fontFamily;\n // this.doChangeStyle();\n }\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return this._fontWeight;\n }\n set fontWeight(fontWeight: FontWeightPropertyDefine | undefined) {\n this._fontWeight = fontWeight;\n // this.doChangeStyle();\n }\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return this._fontVariant;\n }\n set fontVariant(fontVariant: FontVariantPropertyDefine | undefined) {\n this._fontVariant = fontVariant;\n // this.doChangeStyle();\n }\n get fontStyle(): FontStylePropertyDefine | undefined {\n return this._fontStyle;\n }\n set fontStyle(fontStyle: FontStylePropertyDefine | undefined) {\n this._fontStyle = fontStyle;\n // this.doChangeStyle();\n }\n get padding(): PaddingsPropertyDefine | undefined {\n return this._padding;\n }\n set padding(padding: PaddingsPropertyDefine | undefined) {\n this._padding = padding;\n // this.doChangeStyle();\n }\n get textOverflow(): TextOverflow | undefined {\n return this._textOverflow;\n }\n set textOverflow(textOverflow: TextOverflow | undefined) {\n this._textOverflow = textOverflow;\n // this.doChangeStyle();\n }\n get bgColor(): ColorPropertyDefine | undefined {\n return this._bgColor;\n }\n set bgColor(bgColor: ColorPropertyDefine | undefined) {\n this._bgColor = bgColor;\n // this.doChangeStyle();\n }\n get borderColor(): ColorsPropertyDefine | undefined {\n return this._borderColor;\n }\n set borderColor(borderColor: ColorsPropertyDefine | undefined) {\n this._borderColor = borderColor;\n // this.doChangeStyle();\n }\n get textStick(): boolean {\n return this._textStick;\n }\n set textStick(textStick: boolean) {\n this._textStick = textStick;\n // this.doChangeStyle();\n }\n get textAlign(): TextAlignType | undefined {\n return this._textAlign;\n }\n set textAlign(textAlign: TextAlignType | undefined) {\n this._textAlign = textAlign;\n // this.doChangeStyle();\n }\n get textBaseline(): TextBaselineType | undefined {\n return this._textBaseline;\n }\n set textBaseline(textBaseline: TextBaselineType | undefined) {\n this._textBaseline = textBaseline;\n // this.doChangeStyle();\n }\n get lineHeight(): number | undefined {\n return this._lineHeight;\n }\n set lineHeight(lineHeight: number | undefined) {\n this._lineHeight = lineHeight;\n // this.doChangeStyle();\n }\n get underline(): UnderlinePropertyDefine | undefined {\n return this._underline;\n }\n set underline(underline: UnderlinePropertyDefine | undefined) {\n this._underline = underline;\n // this.doChangeStyle();\n }\n get underlineColor(): ColorPropertyDefine | undefined {\n return this._underlineColor;\n }\n set underlineColor(underlineColor: ColorPropertyDefine | undefined) {\n this._underlineColor = underlineColor;\n // this.doChangeStyle();\n }\n get underlineDash(): LineDashPropertyDefine | undefined {\n return this._underlineDash;\n }\n set underlineDash(underlineDash: LineDashPropertyDefine | undefined) {\n this._underlineDash = underlineDash;\n // this.doChangeStyle();\n }\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return this._lineThrough;\n }\n set lineThrough(lineThrough: LineThroughPropertyDefine | undefined) {\n this._lineThrough = lineThrough;\n // this.doChangeStyle();\n }\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return this._lineThroughColor;\n }\n set lineThroughColor(lineThroughColor: ColorPropertyDefine | undefined) {\n this._lineThroughColor = lineThroughColor;\n // this.doChangeStyle();\n }\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return this._lineThroughDash;\n }\n set lineThroughDash(lineThroughDash: LineDashPropertyDefine | undefined) {\n this._lineThroughDash = lineThroughDash;\n // this.doChangeStyle();\n }\n get linkColor(): ColorPropertyDefine | undefined {\n return this._linkColor;\n }\n set linkColor(linkColor: ColorPropertyDefine | undefined) {\n this._linkColor = linkColor;\n // this.doChangeStyle();\n }\n get cursor(): CursorPropertyDefine | undefined {\n return this._cursor;\n }\n set cursor(cursor: CursorPropertyDefine | undefined) {\n this._cursor = cursor;\n // this.doChangeStyle();\n }\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return this._borderLineWidth;\n }\n set borderLineWidth(borderLineWidth: LineWidthsPropertyDefine | undefined) {\n this._borderLineWidth = borderLineWidth;\n // this.doChangeStyle();\n }\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return this._borderLineDash;\n }\n set borderLineDash(borderLineDash: LineDashsPropertyDefine | undefined) {\n this._borderLineDash = borderLineDash;\n // this.doChangeStyle();\n }\n get marked(): MarkedPropertyDefine | undefined {\n return this._marked;\n }\n set marked(marked: MarkedPropertyDefine | undefined) {\n this._marked = marked;\n // this.doChangeStyle();\n }\n // doChangeStyle(): void {\n // this.fireListeners(STYLE_EVENT_TYPE.CHANGE_STYLE, null);\n // }\n clone(): Style {\n return new Style(this, null);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["body-helper/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAW3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,KAAK,EACL,WAAW,EACX,UAAU,EACV,SAAS,EAKV,CAAC;AACF,MAAM,UAAU,EAAE,CAChB,WAA8B,EAC9B,SAA4B,EAC5B,QAAkC,EAClC,gBAA8B,KAAK,EACnC,kBAA2B;IAE3B,IAAI,WAAW,IAAI,SAAS,EAAE;QAC5B,IAAI,WAAW,YAAY,KAAK,EAAE;YAChC,OAAO,WAAW,CAAC;SACpB;aAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YAC5C,OAAO,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;SAC1F;QACD,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,EAAE,CAAC;SAClB;QACD,IAAI,kBAAkB,IAAI,CAAC,OAAO,CAAE,WAAmB,CAAC,YAAY,CAAC,EAAE;YACpE,WAAmB,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1C;QAED,OAAO,IAAI,aAAa,CAAC,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAQ,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAQ,CAAC,CAAC;KAChF;IACD,OAAO,aAAa,CAAC,OAAO,CAAC;AAC/B,CAAC","file":"style.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type {\n ColumnStyle,\n ColumnStyleOption,\n FullExtendStyle,\n IImageStyleOption,\n ITextStyleOption,\n IStyleOption,\n StylePropertyFunctionArg\n} from '../ts-types';\n\nimport { ImageStyle } from './style/ImageStyle';\nimport { TextStyle } from './style/MultilineTextStyle';\nimport { NumberStyle } from './style/NumberStyle';\nimport { Style } from './style/Style';\n\nconst { EVENT_TYPE } = Style;\nexport {\n EVENT_TYPE,\n Style,\n NumberStyle,\n ImageStyle,\n TextStyle,\n // types\n IStyleOption,\n IImageStyleOption,\n ITextStyleOption\n};\nexport function of(\n columnStyle: ColumnStyleOption,\n bodyStyle: ColumnStyleOption,\n styleArg: StylePropertyFunctionArg,\n StyleClassDef: typeof Style = Style,\n globalAutoWrapText: boolean\n): FullExtendStyle {\n if (columnStyle || bodyStyle) {\n if (columnStyle instanceof Style) {\n return columnStyle;\n } else if (typeof columnStyle === 'function') {\n return of(columnStyle(styleArg), bodyStyle, styleArg, StyleClassDef, globalAutoWrapText);\n }\n if (!columnStyle) {\n columnStyle = {};\n }\n if (globalAutoWrapText && !isValid((columnStyle as any).autoWrapText)) {\n (columnStyle as any).autoWrapText = true;\n }\n\n return new StyleClassDef((columnStyle ?? {}) as any, (bodyStyle ?? {}) as any);\n }\n return StyleClassDef.DEFAULT;\n}\n"]}
1
+ {"version":3,"sources":["../src/body-helper/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAW3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,KAAK,EACL,WAAW,EACX,UAAU,EACV,SAAS,EAKV,CAAC;AACF,MAAM,UAAU,EAAE,CAChB,WAA8B,EAC9B,SAA4B,EAC5B,QAAkC,EAClC,gBAA8B,KAAK,EACnC,kBAA2B;IAE3B,IAAI,WAAW,IAAI,SAAS,EAAE;QAC5B,IAAI,WAAW,YAAY,KAAK,EAAE;YAChC,OAAO,WAAW,CAAC;SACpB;aAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YAC5C,OAAO,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;SAC1F;QACD,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,EAAE,CAAC;SAClB;QACD,IAAI,kBAAkB,IAAI,CAAC,OAAO,CAAE,WAAmB,CAAC,YAAY,CAAC,EAAE;YACpE,WAAmB,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1C;QAED,OAAO,IAAI,aAAa,CAAC,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAQ,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAQ,CAAC,CAAC;KAChF;IACD,OAAO,aAAa,CAAC,OAAO,CAAC;AAC/B,CAAC","file":"style.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type {\n ColumnStyle,\n ColumnStyleOption,\n FullExtendStyle,\n IImageStyleOption,\n ITextStyleOption,\n IStyleOption,\n StylePropertyFunctionArg\n} from '../ts-types';\n\nimport { ImageStyle } from './style/ImageStyle';\nimport { TextStyle } from './style/MultilineTextStyle';\nimport { NumberStyle } from './style/NumberStyle';\nimport { Style } from './style/Style';\n\nconst { EVENT_TYPE } = Style;\nexport {\n EVENT_TYPE,\n Style,\n NumberStyle,\n ImageStyle,\n TextStyle,\n // types\n IStyleOption,\n IImageStyleOption,\n ITextStyleOption\n};\nexport function of(\n columnStyle: ColumnStyleOption,\n bodyStyle: ColumnStyleOption,\n styleArg: StylePropertyFunctionArg,\n StyleClassDef: typeof Style = Style,\n globalAutoWrapText: boolean\n): FullExtendStyle {\n if (columnStyle || bodyStyle) {\n if (columnStyle instanceof Style) {\n return columnStyle;\n } else if (typeof columnStyle === 'function') {\n return of(columnStyle(styleArg), bodyStyle, styleArg, StyleClassDef, globalAutoWrapText);\n }\n if (!columnStyle) {\n columnStyle = {};\n }\n if (globalAutoWrapText && !isValid((columnStyle as any).autoWrapText)) {\n (columnStyle as any).autoWrapText = true;\n }\n\n return new StyleClassDef((columnStyle ?? {}) as any, (bodyStyle ?? {}) as any);\n }\n return StyleClassDef.DEFAULT;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["chartModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC/D,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,UAAU,GAAG;IACjB,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC","file":"chartModule.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { extend } from './tools/helper';\nimport { chartTypes as plugins } from './plugins/chartModules';\nconst builtin = {};\nexport function get(): { [key: string]: any } {\n return extend(builtin, plugins);\n}\n"]}
1
+ {"version":3,"sources":["../src/chartModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC/D,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,UAAU,GAAG;IACjB,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC","file":"chartModule.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { extend } from './tools/helper';\nimport { chartTypes as plugins } from './plugins/chartModules';\nconst builtin = {};\nexport function get(): { [key: string]: any } {\n return extend(builtin, plugins);\n}\n"]}