@visactor/vchart 2.0.3-alpha.0 → 2.0.3-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +980 -897
  3. package/build/index.js +981 -896
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/index.js +2 -1
  7. package/cjs/animation/interface.js +1 -2
  8. package/cjs/animation/utils.js +1 -1
  9. package/cjs/animation/utils.js.map +1 -1
  10. package/cjs/chart/base/base-chart-transformer.js +3 -3
  11. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  12. package/cjs/chart/base/base-chart.d.ts +1 -0
  13. package/cjs/chart/base/base-chart.js +5 -8
  14. package/cjs/chart/base/base-chart.js.map +1 -1
  15. package/cjs/chart/index.d.ts +2 -2
  16. package/cjs/chart/index.js +7 -2
  17. package/cjs/chart/index.js.map +1 -1
  18. package/cjs/chart/interface/chart.d.ts +1 -0
  19. package/cjs/chart/interface/chart.js.map +1 -1
  20. package/cjs/chart/interface/common.d.ts +1 -1
  21. package/cjs/chart/interface/common.js.map +1 -1
  22. package/cjs/chart/util.js +2 -1
  23. package/cjs/compile/compiler.d.ts +1 -0
  24. package/cjs/compile/compiler.js +13 -5
  25. package/cjs/compile/compiler.js.map +1 -1
  26. package/cjs/compile/interface/compilable-item.d.ts +1 -0
  27. package/cjs/compile/interface/compilable-item.js.map +1 -1
  28. package/cjs/compile/interface/compiler.d.ts +5 -0
  29. package/cjs/compile/interface/compiler.js.map +1 -1
  30. package/cjs/component/axis/base-axis.js +14 -13
  31. package/cjs/component/axis/base-axis.js.map +1 -1
  32. package/cjs/component/axis/cartesian/band-axis.d.ts +8 -0
  33. package/cjs/component/axis/cartesian/band-axis.js +9 -0
  34. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  35. package/cjs/component/axis/interface/common.js.map +1 -1
  36. package/cjs/component/axis/mixin/band-axis-mixin.d.ts +2 -0
  37. package/cjs/component/axis/mixin/band-axis-mixin.js +15 -1
  38. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  39. package/cjs/component/brush/brush.js +6 -6
  40. package/cjs/component/brush/brush.js.map +1 -1
  41. package/cjs/component/brush/interface.d.ts +1 -0
  42. package/cjs/component/brush/interface.js.map +1 -1
  43. package/cjs/component/crosshair/base.d.ts +1 -1
  44. package/cjs/component/crosshair/base.js +1 -1
  45. package/cjs/component/crosshair/base.js.map +1 -1
  46. package/cjs/component/crosshair/utils/cartesian.js +2 -2
  47. package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
  48. package/cjs/component/custom-mark/custom-mark.js +6 -9
  49. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  50. package/cjs/component/data-zoom/data-filter-base-component.d.ts +0 -1
  51. package/cjs/component/data-zoom/data-filter-base-component.js +13 -19
  52. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  53. package/cjs/component/data-zoom/interface.d.ts +0 -3
  54. package/cjs/component/data-zoom/interface.js.map +1 -1
  55. package/cjs/component/data-zoom/util.d.ts +0 -1
  56. package/cjs/component/data-zoom/util.js +3 -4
  57. package/cjs/component/data-zoom/util.js.map +1 -1
  58. package/cjs/component/player/player.js +2 -1
  59. package/cjs/component/player/player.js.map +1 -1
  60. package/cjs/component/tooltip/tooltip.js +8 -3
  61. package/cjs/component/tooltip/tooltip.js.map +1 -1
  62. package/cjs/constant/attribute.js +1 -2
  63. package/cjs/constant/sunburst.js +2 -1
  64. package/cjs/constant/waterfall.js +1 -2
  65. package/cjs/core/index.d.ts +1 -1
  66. package/cjs/core/index.js +1 -1
  67. package/cjs/core/index.js.map +1 -1
  68. package/cjs/core/interface.d.ts +1 -0
  69. package/cjs/core/interface.js.map +1 -1
  70. package/cjs/core/util.js +1 -1
  71. package/cjs/core/vchart.d.ts +2 -0
  72. package/cjs/core/vchart.js +42 -22
  73. package/cjs/core/vchart.js.map +1 -1
  74. package/cjs/data/transforms/obj-flat.js +1 -4
  75. package/cjs/data/transforms/obj-flat.js.map +1 -1
  76. package/cjs/mark/base/base-line.d.ts +1 -1
  77. package/cjs/mark/base/base-line.js.map +1 -1
  78. package/cjs/mark/base/base-mark.d.ts +6 -2
  79. package/cjs/mark/base/base-mark.js +69 -51
  80. package/cjs/mark/base/base-mark.js.map +1 -1
  81. package/cjs/mark/group.d.ts +3 -2
  82. package/cjs/mark/group.js +15 -13
  83. package/cjs/mark/group.js.map +1 -1
  84. package/cjs/mark/interface/common.d.ts +5 -2
  85. package/cjs/mark/interface/common.js.map +1 -1
  86. package/cjs/model/base-model.d.ts +5 -1
  87. package/cjs/model/base-model.js +7 -0
  88. package/cjs/model/base-model.js.map +1 -1
  89. package/cjs/model/interface.d.ts +5 -2
  90. package/cjs/model/interface.js.map +1 -1
  91. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.d.ts +1 -1
  92. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js +4 -3
  93. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  94. package/cjs/plugin/components/tooltip-handler/utils/style.js +4 -4
  95. package/cjs/plugin/components/tooltip-handler/utils/style.js.map +1 -1
  96. package/cjs/region/region.js.map +1 -1
  97. package/cjs/series/base/base-series-transformer.js +1 -1
  98. package/cjs/series/base/base-series-transformer.js.map +1 -1
  99. package/cjs/series/base/base-series.js +2 -3
  100. package/cjs/series/base/base-series.js.map +1 -1
  101. package/cjs/series/dot/dot.d.ts +0 -1
  102. package/cjs/series/dot/dot.js +6 -29
  103. package/cjs/series/dot/dot.js.map +1 -1
  104. package/cjs/series/dot/interface.d.ts +0 -1
  105. package/cjs/series/dot/interface.js.map +1 -1
  106. package/cjs/series/dot/tooltip-helper.js +2 -3
  107. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  108. package/cjs/series/funnel/funnel.js +0 -2
  109. package/cjs/series/funnel/funnel.js.map +1 -1
  110. package/cjs/series/interface/type.d.ts +0 -3
  111. package/cjs/series/interface/type.js +3 -5
  112. package/cjs/series/interface/type.js.map +1 -1
  113. package/cjs/series/link/constant.js +0 -8
  114. package/cjs/series/link/constant.js.map +1 -1
  115. package/cjs/series/link/interface.d.ts +1 -10
  116. package/cjs/series/link/interface.js +1 -5
  117. package/cjs/series/link/interface.js.map +1 -1
  118. package/cjs/series/link/link.d.ts +1 -3
  119. package/cjs/series/link/link.js +16 -46
  120. package/cjs/series/link/link.js.map +1 -1
  121. package/cjs/series/map/map.js +1 -2
  122. package/cjs/series/map/map.js.map +1 -1
  123. package/cjs/series/pie/pie.js +0 -1
  124. package/cjs/series/pie/pie.js.map +1 -1
  125. package/cjs/series/sankey/sankey.d.ts +10 -10
  126. package/cjs/series/sankey/sankey.js +199 -194
  127. package/cjs/series/sankey/sankey.js.map +1 -1
  128. package/cjs/util/mark.d.ts +1 -0
  129. package/cjs/util/mark.js +10 -1
  130. package/cjs/util/mark.js.map +1 -1
  131. package/cjs/util/object.d.ts +1 -0
  132. package/cjs/util/object.js +13 -2
  133. package/cjs/util/object.js.map +1 -1
  134. package/esm/animation/index.js +2 -1
  135. package/esm/animation/interface.js +1 -2
  136. package/esm/animation/utils.js +1 -1
  137. package/esm/animation/utils.js.map +1 -1
  138. package/esm/chart/base/base-chart-transformer.js +3 -3
  139. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  140. package/esm/chart/base/base-chart.d.ts +1 -0
  141. package/esm/chart/base/base-chart.js +5 -8
  142. package/esm/chart/base/base-chart.js.map +1 -1
  143. package/esm/chart/index.d.ts +2 -2
  144. package/esm/chart/index.js +2 -2
  145. package/esm/chart/index.js.map +1 -1
  146. package/esm/chart/interface/chart.d.ts +1 -0
  147. package/esm/chart/interface/chart.js.map +1 -1
  148. package/esm/chart/interface/common.d.ts +1 -1
  149. package/esm/chart/interface/common.js.map +1 -1
  150. package/esm/chart/util.js +2 -1
  151. package/esm/compile/compiler.d.ts +1 -0
  152. package/esm/compile/compiler.js +13 -6
  153. package/esm/compile/compiler.js.map +1 -1
  154. package/esm/compile/interface/compilable-item.d.ts +1 -0
  155. package/esm/compile/interface/compilable-item.js.map +1 -1
  156. package/esm/compile/interface/compiler.d.ts +5 -0
  157. package/esm/compile/interface/compiler.js.map +1 -1
  158. package/esm/component/axis/base-axis.js +8 -8
  159. package/esm/component/axis/base-axis.js.map +1 -1
  160. package/esm/component/axis/cartesian/band-axis.d.ts +8 -0
  161. package/esm/component/axis/cartesian/band-axis.js +9 -1
  162. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  163. package/esm/component/axis/interface/common.js.map +1 -1
  164. package/esm/component/axis/mixin/band-axis-mixin.d.ts +2 -0
  165. package/esm/component/axis/mixin/band-axis-mixin.js +15 -1
  166. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  167. package/esm/component/brush/brush.js +6 -6
  168. package/esm/component/brush/brush.js.map +1 -1
  169. package/esm/component/brush/interface.d.ts +1 -0
  170. package/esm/component/brush/interface.js.map +1 -1
  171. package/esm/component/crosshair/base.d.ts +1 -1
  172. package/esm/component/crosshair/base.js +1 -1
  173. package/esm/component/crosshair/base.js.map +1 -1
  174. package/esm/component/crosshair/utils/cartesian.js +2 -2
  175. package/esm/component/crosshair/utils/cartesian.js.map +1 -1
  176. package/esm/component/custom-mark/custom-mark.js +6 -9
  177. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  178. package/esm/component/data-zoom/data-filter-base-component.d.ts +0 -1
  179. package/esm/component/data-zoom/data-filter-base-component.js +13 -18
  180. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  181. package/esm/component/data-zoom/interface.d.ts +0 -3
  182. package/esm/component/data-zoom/interface.js.map +1 -1
  183. package/esm/component/data-zoom/util.d.ts +0 -1
  184. package/esm/component/data-zoom/util.js +2 -5
  185. package/esm/component/data-zoom/util.js.map +1 -1
  186. package/esm/component/player/player.js +2 -1
  187. package/esm/component/player/player.js.map +1 -1
  188. package/esm/component/tooltip/tooltip.js +8 -3
  189. package/esm/component/tooltip/tooltip.js.map +1 -1
  190. package/esm/constant/attribute.js +1 -2
  191. package/esm/constant/sunburst.js +2 -1
  192. package/esm/constant/waterfall.js +1 -2
  193. package/esm/core/index.d.ts +1 -1
  194. package/esm/core/index.js +1 -1
  195. package/esm/core/index.js.map +1 -1
  196. package/esm/core/interface.d.ts +1 -0
  197. package/esm/core/interface.js.map +1 -1
  198. package/esm/core/util.js +1 -1
  199. package/esm/core/vchart.d.ts +2 -0
  200. package/esm/core/vchart.js +42 -22
  201. package/esm/core/vchart.js.map +1 -1
  202. package/esm/data/transforms/obj-flat.js +1 -4
  203. package/esm/data/transforms/obj-flat.js.map +1 -1
  204. package/esm/mark/base/base-line.d.ts +1 -1
  205. package/esm/mark/base/base-line.js.map +1 -1
  206. package/esm/mark/base/base-mark.d.ts +6 -2
  207. package/esm/mark/base/base-mark.js +69 -50
  208. package/esm/mark/base/base-mark.js.map +1 -1
  209. package/esm/mark/group.d.ts +3 -2
  210. package/esm/mark/group.js +18 -12
  211. package/esm/mark/group.js.map +1 -1
  212. package/esm/mark/interface/common.d.ts +5 -2
  213. package/esm/mark/interface/common.js.map +1 -1
  214. package/esm/model/base-model.d.ts +5 -1
  215. package/esm/model/base-model.js +7 -0
  216. package/esm/model/base-model.js.map +1 -1
  217. package/esm/model/interface.d.ts +5 -2
  218. package/esm/model/interface.js.map +1 -1
  219. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.d.ts +1 -1
  220. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js +4 -3
  221. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  222. package/esm/plugin/components/tooltip-handler/utils/style.js +5 -4
  223. package/esm/plugin/components/tooltip-handler/utils/style.js.map +1 -1
  224. package/esm/region/region.js.map +1 -1
  225. package/esm/series/base/base-series-transformer.js +1 -1
  226. package/esm/series/base/base-series-transformer.js.map +1 -1
  227. package/esm/series/base/base-series.js +2 -3
  228. package/esm/series/base/base-series.js.map +1 -1
  229. package/esm/series/dot/dot.d.ts +0 -1
  230. package/esm/series/dot/dot.js +6 -29
  231. package/esm/series/dot/dot.js.map +1 -1
  232. package/esm/series/dot/interface.d.ts +0 -1
  233. package/esm/series/dot/interface.js.map +1 -1
  234. package/esm/series/dot/tooltip-helper.js +2 -3
  235. package/esm/series/dot/tooltip-helper.js.map +1 -1
  236. package/esm/series/funnel/funnel.js +0 -2
  237. package/esm/series/funnel/funnel.js.map +1 -1
  238. package/esm/series/interface/type.d.ts +0 -3
  239. package/esm/series/interface/type.js +3 -5
  240. package/esm/series/interface/type.js.map +1 -1
  241. package/esm/series/link/constant.js +0 -8
  242. package/esm/series/link/constant.js.map +1 -1
  243. package/esm/series/link/interface.d.ts +1 -10
  244. package/esm/series/link/interface.js +1 -5
  245. package/esm/series/link/interface.js.map +1 -1
  246. package/esm/series/link/link.d.ts +1 -3
  247. package/esm/series/link/link.js +16 -48
  248. package/esm/series/link/link.js.map +1 -1
  249. package/esm/series/map/map.js +1 -2
  250. package/esm/series/map/map.js.map +1 -1
  251. package/esm/series/pie/pie.js +0 -1
  252. package/esm/series/pie/pie.js.map +1 -1
  253. package/esm/series/sankey/sankey.d.ts +10 -10
  254. package/esm/series/sankey/sankey.js +192 -187
  255. package/esm/series/sankey/sankey.js.map +1 -1
  256. package/esm/util/mark.d.ts +1 -0
  257. package/esm/util/mark.js +7 -0
  258. package/esm/util/mark.js.map +1 -1
  259. package/esm/util/object.d.ts +1 -0
  260. package/esm/util/object.js +11 -0
  261. package/esm/util/object.js.map +1 -1
  262. package/package.json +12 -12
  263. package/cjs/animation/animate-manager.d.ts +0 -1
  264. package/cjs/animation/animate-manager.js +0 -2
  265. package/cjs/animation/animate-manager.js.map +0 -1
  266. package/esm/animation/animate-manager.d.ts +0 -1
  267. package/esm/animation/animate-manager.js +0 -2
  268. package/esm/animation/animate-manager.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/base/base-line.ts"],"names":[],"mappings":"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","file":"base-line.js","sourcesContent":["import { isValidScaleType } from '@visactor/vscale';\nimport type { StateValueType } from '../../compile/mark';\nimport type { ConvertToMarkStyleSpec, ILineLikeMarkSpec } from '../../typings/visual';\nimport type { IPointLike } from '@visactor/vutils';\nimport { isFunction, isNil } from '@visactor/vutils';\nimport { BaseMark } from './base-mark';\nimport { DiffState, type IMarkGraphic, type IMarkStyle } from '../interface';\nimport type { Datum } from '../../typings/common';\nimport type { IGroup, ILine, ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { isSegmentAttrEqual } from '../utils/line';\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport { DEFAULT_DATA_KEY } from '../../constant/data';\n\nexport const LINE_SEGMENT_ATTRIBUTES = [\n 'stroke',\n 'strokeOpacity',\n 'lineDash',\n 'lineDashOffset',\n 'lineCap',\n 'lineJoin',\n 'lineWidth',\n 'miterLimit'\n];\n\nexport abstract class BaseLineMark<T extends ILineLikeMarkSpec = ILineLikeMarkSpec> extends BaseMark<T> {\n protected abstract _getIgnoreAttributes(): string[];\n\n protected _getSegmentAttributes() {\n return LINE_SEGMENT_ATTRIBUTES;\n }\n\n protected _segmentStyleKeys: string[] = [];\n\n initStyleWithSpec(spec: IMarkSpec<T>) {\n this._segmentStyleKeys = [];\n\n super.initStyleWithSpec(spec);\n }\n /**\n * @override\n * 之所以覆写是因为 vgrammar 侧默认都会处理 lineSegments,非常耗性能,所以需要 VChart 给一个标志位用于是否执行。\n * 由外部series调用,设置markStyle的接口。\n * @param style\n * @param level\n * @param state\n */\n setStyle<T>(\n style: Partial<ConvertToMarkStyleSpec<T>> | Partial<IMarkStyle<T>>,\n state: StateValueType = 'normal',\n level: number = 0\n ): void {\n if (isNil(style)) {\n return;\n }\n\n if (this.stateStyle[state] === undefined) {\n this.stateStyle[state] = {};\n }\n\n const ignoreAttributes = this._getIgnoreAttributes();\n const segmentAttributes = this._getSegmentAttributes();\n const isUserLevel = this.isUserLevel(level);\n\n Object.keys(style).forEach(attr => {\n const attrStyle = (style as any)[attr];\n if (isNil(attrStyle) || ignoreAttributes.includes(attr)) {\n return;\n }\n if (\n isUserLevel &&\n segmentAttributes.includes(attr) &&\n (isValidScaleType(attrStyle?.type) || attrStyle?.scale || isFunction(attrStyle))\n ) {\n if (!this._segmentStyleKeys.includes(attr)) {\n this._segmentStyleKeys.push(attr);\n }\n }\n\n const styleConverter = this._filterAttribute(attr as any, attrStyle, state, level, isUserLevel);\n\n this.setAttribute(attr as any, styleConverter, state, level);\n });\n }\n\n _isValidPointChannel = (channel: string) => {\n return ['x', 'y', 'defined'].includes(channel);\n };\n\n _getLineSegments(items: any[], points: IPointLike[]) {\n if (!this._segmentStyleKeys || !this._segmentStyleKeys.length) {\n return null;\n }\n\n const segments: { attrs: any; startIndex: number; endIndex?: number }[] = [];\n let prevSegmentAttrs: any = null;\n\n items.forEach((item, index) => {\n if (\n !prevSegmentAttrs ||\n !this._segmentStyleKeys.every(key => {\n return isSegmentAttrEqual(prevSegmentAttrs[key], item[key], key);\n })\n ) {\n if (segments.length) {\n segments[segments.length - 1].endIndex = index;\n }\n\n prevSegmentAttrs = item;\n segments.push({\n attrs: prevSegmentAttrs,\n startIndex: index\n });\n }\n });\n\n if (segments.length >= 2) {\n return segments.map(entry => {\n return {\n ...entry.attrs,\n points: points.slice(entry.startIndex, isNil(entry.endIndex) ? points.length : entry.endIndex)\n };\n });\n }\n\n return null;\n }\n\n _getPrevPoints(g: ILine) {\n const { points, segments } = g.attribute;\n\n return (\n points ??\n (segments\n ? segments.reduce((res: IPointLike[], seg: ILineGraphicAttribute) => {\n if (seg.points) {\n seg.points.forEach((point: IPointLike) => {\n res.push(point);\n });\n }\n\n return res;\n }, [])\n : null)\n );\n }\n\n _runPointsEncoder(newStyles: Record<string, (datum: Datum) => any>, g: IMarkGraphic, attrs: any = {}) {\n const data = g.context.data;\n const lineAttrs: any[] = [];\n const points: IPointLike[] = [];\n const commonAttrs: any = {};\n const progressive = this.renderContext?.progressive;\n const isFirstFrame = progressive && progressive.currentIndex === 0;\n\n data.forEach((datum: Datum, index: number) => {\n points[index] = {} as IPointLike;\n lineAttrs[index] = {};\n\n Object.keys(newStyles).forEach(attrName => {\n if (this._isValidPointChannel(attrName)) {\n (points[index] as any)[attrName] = newStyles[attrName](datum);\n } else if (this._segmentStyleKeys.includes(attrName) && !progressive) {\n lineAttrs[index][attrName] = newStyles[attrName](datum);\n } else if (index === 0 && (!progressive || isFirstFrame)) {\n commonAttrs[attrName] = newStyles[attrName](datum);\n }\n });\n\n // todo 上下文,似乎是动画相关的\n (points[index] as any).context = this._keyGetter(datum) ?? index;\n });\n\n if (progressive) {\n const segments = (g as any).attribute?.segments ?? [];\n\n segments.push({\n points\n });\n return isFirstFrame\n ? {\n ...commonAttrs,\n segments\n }\n : { segments };\n } else if (this._segmentStyleKeys && this._segmentStyleKeys.length) {\n const segments = this._getLineSegments(lineAttrs, points);\n\n if (segments) {\n return {\n ...commonAttrs,\n ...lineAttrs[0],\n segments,\n points: null as IPointLike[]\n };\n }\n }\n\n return {\n ...commonAttrs,\n ...lineAttrs[0],\n points,\n segments: null as any[]\n };\n }\n\n _runEncoderOfGraphic(newStyles: Record<string, (datum: Datum) => any>, g: IMarkGraphic, attrs: any = {}) {\n const data = g.context.data;\n if (newStyles && Object.keys(newStyles).some(this._isValidPointChannel) && data && data.length) {\n return this._runPointsEncoder(newStyles, g, attrs);\n }\n\n return super._runEncoderOfGraphic(newStyles, g, attrs);\n }\n\n protected _getDataByKey(data: Datum[]) {\n return this._dataByGroup;\n }\n\n protected _runProgressiveJoin() {\n const currentIndex = this.renderContext.progressive.currentIndex;\n const graphics: IMarkGraphic[] = [];\n\n this._dataByGroup.keys.forEach((groupKey, index) => {\n const data = this.renderContext.progressive.groupedData.get(groupKey as string);\n const groupStep = this.renderContext.progressive.step;\n const dataSlice = data.slice(currentIndex * groupStep, (currentIndex + 1) * groupStep);\n\n if (currentIndex === 0) {\n const g = {\n context: {\n ...this._getCommonContext(),\n diffState: DiffState.enter,\n data: dataSlice,\n uniqueKey: groupKey,\n key: groupKey,\n groupKey: groupKey\n }\n };\n\n graphics.push(g as IMarkGraphic);\n } else {\n const g = this._graphics[index];\n g.context.data = dataSlice;\n }\n });\n const res = currentIndex === 0 ? graphics : this._graphics;\n\n return {\n graphicsByGroup: { [DEFAULT_DATA_KEY]: res },\n graphics: res,\n needUpdate: false\n };\n }\n\n protected _setCommonAttributesToTheme(g: IMarkGraphic) {\n // do nothing in line/area\n }\n protected _addProgressiveGraphic(parent: IGroup, g: IMarkGraphic) {\n g.incremental = 1;\n (parent as IGroup).appendChild(g);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/mark/base/base-line.ts"],"names":[],"mappings":"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","file":"base-line.js","sourcesContent":["import { isValidScaleType } from '@visactor/vscale';\nimport type { StateValueType } from '../../compile/mark';\nimport type { ConvertToMarkStyleSpec, ILineLikeMarkSpec } from '../../typings/visual';\nimport type { IPointLike } from '@visactor/vutils';\nimport { isFunction, isNil } from '@visactor/vutils';\nimport { BaseMark } from './base-mark';\nimport { DiffState, type IMarkGraphic, type IMarkStyle } from '../interface';\nimport type { Datum } from '../../typings/common';\nimport type { IGroup, ILine, ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { isSegmentAttrEqual } from '../utils/line';\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport { DEFAULT_DATA_KEY } from '../../constant/data';\n\nexport const LINE_SEGMENT_ATTRIBUTES = [\n 'stroke',\n 'strokeOpacity',\n 'lineDash',\n 'lineDashOffset',\n 'lineCap',\n 'lineJoin',\n 'lineWidth',\n 'miterLimit'\n];\n\nexport abstract class BaseLineMark<T extends ILineLikeMarkSpec = ILineLikeMarkSpec> extends BaseMark<T> {\n protected abstract _getIgnoreAttributes(): string[];\n\n protected _getSegmentAttributes() {\n return LINE_SEGMENT_ATTRIBUTES;\n }\n\n protected _segmentStyleKeys: string[] = [];\n\n initStyleWithSpec(spec: IMarkSpec<T>) {\n this._segmentStyleKeys = [];\n\n super.initStyleWithSpec(spec);\n }\n /**\n * @override\n * 之所以覆写是因为 vgrammar 侧默认都会处理 lineSegments,非常耗性能,所以需要 VChart 给一个标志位用于是否执行。\n * 由外部series调用,设置markStyle的接口。\n * @param style\n * @param level\n * @param state\n */\n setStyle<T>(\n style: Partial<ConvertToMarkStyleSpec<T>> | Partial<IMarkStyle<T>>,\n state: StateValueType = 'normal',\n level: number = 0\n ): void {\n if (isNil(style)) {\n return;\n }\n\n if (this.stateStyle[state] === undefined) {\n this.stateStyle[state] = {};\n }\n\n const ignoreAttributes = this._getIgnoreAttributes();\n const segmentAttributes = this._getSegmentAttributes();\n const isUserLevel = this.isUserLevel(level);\n\n Object.keys(style).forEach(attr => {\n const attrStyle = (style as any)[attr];\n if (isNil(attrStyle) || ignoreAttributes.includes(attr)) {\n return;\n }\n if (\n isUserLevel &&\n segmentAttributes.includes(attr) &&\n (isValidScaleType(attrStyle?.type) || attrStyle?.scale || isFunction(attrStyle))\n ) {\n if (!this._segmentStyleKeys.includes(attr)) {\n this._segmentStyleKeys.push(attr);\n }\n }\n\n const styleConverter = this._filterAttribute(attr as any, attrStyle, state, level, isUserLevel);\n\n this.setAttribute(attr as any, styleConverter, state, level);\n });\n }\n\n _isValidPointChannel = (channel: string) => {\n return ['x', 'y', 'defined'].includes(channel);\n };\n\n _getLineSegments(items: any[], points: IPointLike[]) {\n if (!this._segmentStyleKeys || !this._segmentStyleKeys.length) {\n return null;\n }\n\n const segments: { attrs: any; startIndex: number; endIndex?: number }[] = [];\n let prevSegmentAttrs: any = null;\n\n items.forEach((item, index) => {\n if (\n !prevSegmentAttrs ||\n !this._segmentStyleKeys.every(key => {\n return isSegmentAttrEqual(prevSegmentAttrs[key], item[key], key);\n })\n ) {\n if (segments.length) {\n segments[segments.length - 1].endIndex = index;\n }\n\n prevSegmentAttrs = item;\n segments.push({\n attrs: prevSegmentAttrs,\n startIndex: index\n });\n }\n });\n\n if (segments.length >= 2) {\n return segments.map(entry => {\n return {\n ...entry.attrs,\n points: points.slice(entry.startIndex, isNil(entry.endIndex) ? points.length : entry.endIndex)\n };\n });\n }\n\n return null;\n }\n\n _getPrevPoints(g: ILine): IPointLike[] | null {\n const { points, segments } = g.attribute;\n\n return (\n points ??\n (segments\n ? segments.reduce((res: IPointLike[], seg: ILineGraphicAttribute) => {\n if (seg.points) {\n seg.points.forEach((point: IPointLike) => {\n res.push(point);\n });\n }\n\n return res;\n }, [])\n : null)\n );\n }\n\n _runPointsEncoder(newStyles: Record<string, (datum: Datum) => any>, g: IMarkGraphic, attrs: any = {}) {\n const data = g.context.data;\n const lineAttrs: any[] = [];\n const points: IPointLike[] = [];\n const commonAttrs: any = {};\n const progressive = this.renderContext?.progressive;\n const isFirstFrame = progressive && progressive.currentIndex === 0;\n\n data.forEach((datum: Datum, index: number) => {\n points[index] = {} as IPointLike;\n lineAttrs[index] = {};\n\n Object.keys(newStyles).forEach(attrName => {\n if (this._isValidPointChannel(attrName)) {\n (points[index] as any)[attrName] = newStyles[attrName](datum);\n } else if (this._segmentStyleKeys.includes(attrName) && !progressive) {\n lineAttrs[index][attrName] = newStyles[attrName](datum);\n } else if (index === 0 && (!progressive || isFirstFrame)) {\n commonAttrs[attrName] = newStyles[attrName](datum);\n }\n });\n\n // todo 上下文,似乎是动画相关的\n (points[index] as any).context = this._keyGetter(datum) ?? index;\n });\n\n if (progressive) {\n const segments = (g as any).attribute?.segments ?? [];\n\n segments.push({\n points\n });\n return isFirstFrame\n ? {\n ...commonAttrs,\n segments\n }\n : { segments };\n } else if (this._segmentStyleKeys && this._segmentStyleKeys.length) {\n const segments = this._getLineSegments(lineAttrs, points);\n\n if (segments) {\n return {\n ...commonAttrs,\n ...lineAttrs[0],\n segments,\n points: null as IPointLike[]\n };\n }\n }\n\n return {\n ...commonAttrs,\n ...lineAttrs[0],\n points,\n segments: null as any[]\n };\n }\n\n _runEncoderOfGraphic(newStyles: Record<string, (datum: Datum) => any>, g: IMarkGraphic, attrs: any = {}) {\n const data = g.context.data;\n if (newStyles && Object.keys(newStyles).some(this._isValidPointChannel) && data && data.length) {\n return this._runPointsEncoder(newStyles, g, attrs);\n }\n\n return super._runEncoderOfGraphic(newStyles, g, attrs);\n }\n\n protected _getDataByKey(data: Datum[]) {\n return this._dataByGroup;\n }\n\n protected _runProgressiveJoin() {\n const currentIndex = this.renderContext.progressive.currentIndex;\n const graphics: IMarkGraphic[] = [];\n\n this._dataByGroup.keys.forEach((groupKey, index) => {\n const data = this.renderContext.progressive.groupedData.get(groupKey as string);\n const groupStep = this.renderContext.progressive.step;\n const dataSlice = data.slice(currentIndex * groupStep, (currentIndex + 1) * groupStep);\n\n if (currentIndex === 0) {\n const g = {\n context: {\n ...this._getCommonContext(),\n diffState: DiffState.enter,\n data: dataSlice,\n uniqueKey: groupKey,\n key: groupKey,\n groupKey: groupKey\n }\n };\n\n graphics.push(g as IMarkGraphic);\n } else {\n const g = this._graphics[index];\n g.context.data = dataSlice;\n }\n });\n const res = currentIndex === 0 ? graphics : this._graphics;\n\n return {\n graphicsByGroup: { [DEFAULT_DATA_KEY]: res },\n graphics: res,\n needUpdate: false\n };\n }\n\n protected _setCommonAttributesToTheme(g: IMarkGraphic) {\n // do nothing in line/area\n }\n protected _addProgressiveGraphic(parent: IGroup, g: IMarkGraphic) {\n g.incremental = 1;\n (parent as IGroup).appendChild(g);\n }\n}\n"]}
@@ -44,6 +44,9 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
44
44
  protected _animationConfig: Partial<MarkAnimationSpec>;
45
45
  getAnimationConfig(): Partial<MarkAnimationSpec>;
46
46
  setAnimationConfig(config: Partial<MarkAnimationSpec>): void;
47
+ protected _disabledAnimationStates?: string[];
48
+ disableAnimationByState(state: string | string[]): void;
49
+ enableAnimationByState(state: string | string[]): void;
47
50
  private _skipBeforeLayouted;
48
51
  setSkipBeforeLayouted(skip: boolean): void;
49
52
  protected _groupKey?: string;
@@ -123,6 +126,7 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
123
126
  protected _attrsByGroup?: Record<string, T>;
124
127
  protected _getDataByKey(data: Datum[]): GroupedData<Datum>;
125
128
  protected _getCommonContext(): {
129
+ compiler: import("../../compile/interface").ICompiler;
126
130
  markType: MarkTypeEnum;
127
131
  markId: number;
128
132
  modelId: number;
@@ -138,6 +142,7 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
138
142
  protected createAnimationStateList(type: string, animationConfig: Partial<MarkAnimationSpec>): any;
139
143
  protected tryRunMorphing(graphics: IMarkGraphic[]): boolean;
140
144
  protected _runStateAnimation(graphics: IMarkGraphic[]): void;
145
+ protected _setAnimationState(g: IMarkGraphic): void;
141
146
  protected _runJoin(data: Datum[]): void;
142
147
  _runEncoderOfGraphic(styles: Record<string, (datum: Datum) => any>, g: IMarkGraphic, attrs?: any): any;
143
148
  _runGroupEncoder(groupStyles: Record<string, (datum: Datum) => any>): any;
@@ -179,8 +184,7 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
179
184
  protected _runProgressiveApplyGraphic(graphics: IMarkGraphic[]): void;
180
185
  protected _runProgressiveStep(): void;
181
186
  renderProgressive(): void;
182
- updateAnimationState(callback: (graphic: IMarkGraphic) => AnimationStateValues): void;
183
- hasAnimationByState(state: keyof MarkAnimationSpec): boolean;
187
+ hasAnimationByState(state: AnimationStateValues): boolean;
184
188
  hasAnimation(): boolean;
185
189
  runAnimation(): void;
186
190
  }
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
14
14
  value: !0
15
15
  }), exports.BaseMark = void 0;
16
16
 
17
- const enum_1 = require("../interface/enum"), interface_1 = require("../../compile/mark/interface"), vutils_extension_1 = require("@visactor/vutils-extension"), color_1 = require("../../util/color"), scale_1 = require("../../util/scale"), gradient_1 = require("../../constant/gradient"), attribute_1 = require("../../constant/attribute"), vscale_1 = require("@visactor/vscale"), util_1 = require("../../theme/color-scheme/util"), mark_1 = require("../../compile/mark"), vutils_1 = require("@visactor/vutils"), common_1 = require("../utils/common"), interface_2 = require("../../compile/interface"), vrender_core_1 = require("@visactor/vrender-core"), util_2 = require("../../compile/mark/util"), factory_1 = require("../../core/factory"), data_1 = require("../../constant/data"), grammar_item_1 = require("../../compile/grammar-item"), layout_1 = require("../../constant/layout"), interface_3 = require("../../animation/interface"), compilable_data_1 = require("../../compile/data/compilable-data"), util_3 = require("../../util"), morph_1 = require("../../compile/morph");
17
+ const enum_1 = require("../interface/enum"), interface_1 = require("../../compile/mark/interface"), vutils_extension_1 = require("@visactor/vutils-extension"), color_1 = require("../../util/color"), scale_1 = require("../../util/scale"), gradient_1 = require("../../constant/gradient"), attribute_1 = require("../../constant/attribute"), vscale_1 = require("@visactor/vscale"), util_1 = require("../../theme/color-scheme/util"), mark_1 = require("../../compile/mark"), vutils_1 = require("@visactor/vutils"), common_1 = require("../utils/common"), interface_2 = require("../../compile/interface"), vrender_core_1 = require("@visactor/vrender-core"), util_2 = require("../../compile/mark/util"), factory_1 = require("../../core/factory"), data_1 = require("../../constant/data"), grammar_item_1 = require("../../compile/grammar-item"), layout_1 = require("../../constant/layout"), interface_3 = require("../../animation/interface"), compilable_data_1 = require("../../compile/data/compilable-data"), mark_2 = require("../../util/mark"), debug_1 = require("../../util/debug"), morph_1 = require("../../compile/morph");
18
18
 
19
19
  class BaseMark extends grammar_item_1.GrammarItem {
20
20
  commit(render, recursion) {
@@ -72,24 +72,37 @@ class BaseMark extends grammar_item_1.GrammarItem {
72
72
  setAnimationConfig(config) {
73
73
  const defaultPrams = "group" === this.type ? {
74
74
  selfOnly: !0
75
- } : {}, animationConfig = {};
76
- Object.keys(config).forEach((key => {
77
- const value = config[key];
78
- (0, vutils_1.isArray)(value) ? animationConfig[key] = value.map((item => {
79
- var _a;
80
- const options = null !== (_a = item.options) && void 0 !== _a ? _a : {};
81
- return Object.assign(Object.assign(Object.assign({}, defaultPrams), item), {
82
- options: (...args) => {
83
- var _a, _b;
84
- const _options = "function" == typeof options ? options(...args) : options;
75
+ } : {}, formatAnimationCfg = cfg => {
76
+ var _a;
77
+ const options = null !== (_a = cfg.options) && void 0 !== _a ? _a : {};
78
+ return Object.assign(Object.assign(Object.assign({}, defaultPrams), cfg), {
79
+ options: (datum, graphic, customParams) => {
80
+ var _a, _b;
81
+ const _options = "function" == typeof options ? options(datum, graphic, customParams) : options;
82
+ if (graphic && graphic.context && graphic.context.compiler && (0, vutils_1.isValid)(graphic.context.modelId)) {
83
+ const model = null === (_a = graphic.context.compiler.getChart()) || void 0 === _a ? void 0 : _a.getModelById(graphic.context.modelId);
85
84
  return Object.assign(Object.assign({}, _options), {
86
- layoutRect: null === (_b = (_a = this.model).getLayoutRect) || void 0 === _b ? void 0 : _b.call(_a)
85
+ layoutRect: null === (_b = null == model ? void 0 : model.getLayoutRect) || void 0 === _b ? void 0 : _b.call(model)
87
86
  });
88
87
  }
89
- });
90
- })) : animationConfig[key] = Object.assign(Object.assign({}, defaultPrams), config[key]);
88
+ return Object.assign({}, _options);
89
+ }
90
+ });
91
+ }, animationConfig = {};
92
+ Object.keys(config).forEach((key => {
93
+ const value = config[key];
94
+ (0, vutils_1.isArray)(value) ? animationConfig[key] = value.map(formatAnimationCfg) : (0,
95
+ vutils_1.isValid)(value) && (animationConfig[key] = formatAnimationCfg(value));
91
96
  })), this._animationConfig = animationConfig;
92
97
  }
98
+ disableAnimationByState(state) {
99
+ const states = (0, vutils_1.array)(state);
100
+ this._disabledAnimationStates = [ ...new Set([ ...this._disabledAnimationStates, ...states ]) ];
101
+ }
102
+ enableAnimationByState(state) {
103
+ const states = (0, vutils_1.array)(state);
104
+ this._disabledAnimationStates = this._disabledAnimationStates.filter((s => !states.includes(s)));
105
+ }
93
106
  setSkipBeforeLayouted(skip) {
94
107
  this._skipBeforeLayouted = skip;
95
108
  }
@@ -175,9 +188,9 @@ class BaseMark extends grammar_item_1.GrammarItem {
175
188
  super(option), this.type = void 0, this.name = "mark", this._markConfig = {
176
189
  zIndex: layout_1.LayoutZIndex.Mark,
177
190
  morph: !1
178
- }, this._visible = !0, this.stateStyle = {}, this._unCompileChannel = {}, this._skipBeforeLayouted = !1,
179
- this._extensionChannel = {}, this._computeExChannel = {}, this._graphicMap = new Map,
180
- this._graphics = [], this._getEncoderOfStyle = (stateName, style) => {
191
+ }, this._visible = !0, this.stateStyle = {}, this._unCompileChannel = {}, this._disabledAnimationStates = [],
192
+ this._skipBeforeLayouted = !1, this._extensionChannel = {}, this._computeExChannel = {},
193
+ this._graphicMap = new Map, this._graphics = [], this._getEncoderOfStyle = (stateName, style) => {
181
194
  if (style && stateName) {
182
195
  const validEncoder = {};
183
196
  return Object.keys(style).forEach((key => {
@@ -426,6 +439,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
426
439
  }
427
440
  _getCommonContext() {
428
441
  return {
442
+ compiler: this.getCompiler(),
429
443
  markType: this.type,
430
444
  markId: this.id,
431
445
  modelId: this.model.id,
@@ -476,14 +490,17 @@ class BaseMark extends grammar_item_1.GrammarItem {
476
490
  this._dataByGroup = (0, common_1.groupData)(data, this._groupKeyGetter);
477
491
  }
478
492
  createAnimationStateList(type, animationConfig) {
493
+ var _a;
479
494
  let config = animationConfig[type];
480
495
  return config && Array.isArray(config) && (config = 1 === config.length ? config[0] : config),
481
- Array.isArray(config) && (config = config.map(((item, index) => {
496
+ Array.isArray(config) ? config.map(((item, index) => {
482
497
  var _a;
483
498
  return Object.assign(Object.assign({}, item), {
484
499
  priority: null !== (_a = item.priority) && void 0 !== _a ? _a : 1 / 0
485
500
  });
486
- }))), config;
501
+ })) : config ? Object.assign(Object.assign({}, config), {
502
+ priority: "normal" === type ? null !== (_a = config.priority) && void 0 !== _a ? _a : 1 / 0 : config.priority
503
+ }) : config;
487
504
  }
488
505
  tryRunMorphing(graphics) {
489
506
  if (this._lastMark) {
@@ -542,30 +559,38 @@ class BaseMark extends grammar_item_1.GrammarItem {
542
559
  this._product.applyAnimationState([ "normal" ], [ normalConfig ]);
543
560
  }
544
561
  }
562
+ _setAnimationState(g) {
563
+ var _a, _b, _c;
564
+ const callback = ("component" === this.type ? this.model.getAnimationStateCallback() : null === (_c = null === (_b = (_a = this.model).getRegion) || void 0 === _b ? void 0 : _b.call(_a)) || void 0 === _c ? void 0 : _c.getAnimationStateCallback()) || (g => {
565
+ var _a;
566
+ const diffState = null === (_a = g.context) || void 0 === _a ? void 0 : _a.diffState;
567
+ return diffState === interface_3.AnimationStateEnum.exit ? interface_3.AnimationStateEnum.exit : diffState === interface_3.AnimationStateEnum.update ? interface_3.AnimationStateEnum.update : interface_3.AnimationStateEnum.appear;
568
+ }), customizedState = callback(g);
569
+ g.context.animationState = null != customizedState ? customizedState : g.context.diffState,
570
+ g.context.animationState === enum_1.DiffState.exit && (g.context.reusing = !0, g.animates && g.animates.forEach((a => a.stop())));
571
+ }
545
572
  _runJoin(data) {
546
- const newGroupedData = this._getDataByKey(data), prevGroupedData = this._prevDataByKey, newGraphics = [], enterGraphics = new Set(this._graphics.filter((g => g.context.diffState === enum_1.DiffState.enter))), callback = (key, newData, prevData) => {
547
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
573
+ const newGroupedData = this._getDataByKey(data), prevGroupedData = this._prevDataByKey, allGraphics = [], enterGraphics = new Set(this._graphics.filter((g => g.context.diffState === enum_1.DiffState.enter))), callback = (key, newData, prevData) => {
574
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
548
575
  let g, diffState;
549
576
  return (0, vutils_1.isNil)(newData) ? (g = this._graphicMap.get(key), g && (diffState = enum_1.DiffState.exit)) : (0,
550
577
  vutils_1.isNil)(prevData) ? (g = this._graphicMap.has(key) ? this._graphicMap.get(key) : {},
551
- diffState = enum_1.DiffState.enter, g.isExiting = !1, (null === (_a = g.context) || void 0 === _a ? void 0 : _a.diffState) === enum_1.DiffState.exit && (g.context.reusing = !0,
552
- g.animates && g.animates.forEach((a => a.stop()))), this._graphicMap.set(key, g),
553
- newGraphics.push(g)) : (g = this._graphicMap.get(key), g && (diffState = enum_1.DiffState.update,
554
- newGraphics.push(g))), g && (g.context = Object.assign(Object.assign({}, this._getCommonContext()), {
578
+ diffState = enum_1.DiffState.enter, g.isExiting = !1, this._graphicMap.set(key, g),
579
+ allGraphics.push(g)) : (g = this._graphicMap.get(key), g && (diffState = enum_1.DiffState.update,
580
+ allGraphics.push(g))), g && (enterGraphics.delete(g), g.context = Object.assign(Object.assign({}, this._getCommonContext()), {
555
581
  diffState: diffState,
556
- reusing: null === (_b = g.context) || void 0 === _b ? void 0 : _b.reusing,
557
- originalFieldX: null === (_c = g.context) || void 0 === _c ? void 0 : _c.originalFieldX,
558
- originalFieldY: null === (_d = g.context) || void 0 === _d ? void 0 : _d.originalFieldY,
559
- fieldX: null === (_e = g.context) || void 0 === _e ? void 0 : _e.fieldX,
560
- fieldY: null === (_f = g.context) || void 0 === _f ? void 0 : _f.fieldY,
561
- animationState: diffState,
562
- data: null != newData ? newData : null === (_g = g.context) || void 0 === _g ? void 0 : _g.data,
582
+ reusing: null === (_a = g.context) || void 0 === _a ? void 0 : _a.reusing,
583
+ originalFieldX: null === (_b = g.context) || void 0 === _b ? void 0 : _b.originalFieldX,
584
+ originalFieldY: null === (_c = g.context) || void 0 === _c ? void 0 : _c.originalFieldY,
585
+ fieldX: null === (_d = g.context) || void 0 === _d ? void 0 : _d.fieldX,
586
+ fieldY: null === (_e = g.context) || void 0 === _e ? void 0 : _e.fieldY,
587
+ data: null != newData ? newData : null === (_f = g.context) || void 0 === _f ? void 0 : _f.data,
563
588
  uniqueKey: key,
564
- key: newData ? this._keyGetter(newData[0]) : null === (_h = g.context) || void 0 === _h ? void 0 : _h.key,
565
- groupKey: newData ? this._groupKeyGetter(newData[0]) : null === (_j = g.context) || void 0 === _j ? void 0 : _j.groupKey,
589
+ key: newData ? this._keyGetter(newData[0]) : null === (_g = g.context) || void 0 === _g ? void 0 : _g.key,
590
+ groupKey: newData ? this._groupKeyGetter(newData[0]) : null === (_h = g.context) || void 0 === _h ? void 0 : _h.groupKey,
566
591
  indexKey: "__VCHART_DEFAULT_DATA_INDEX",
567
- stateAnimateConfig: null === (_k = this.getAnimationConfig()) || void 0 === _k ? void 0 : _k.state
568
- }), enterGraphics.delete(g)), g;
592
+ stateAnimateConfig: null === (_j = this.getAnimationConfig()) || void 0 === _j ? void 0 : _j.state
593
+ }), this._setAnimationState(g)), g;
569
594
  };
570
595
  if (prevGroupedData && newGroupedData) {
571
596
  const prevMap = new Map(prevGroupedData.data);
@@ -584,10 +609,10 @@ class BaseMark extends grammar_item_1.GrammarItem {
584
609
  this._graphicMap.delete(g.context.uniqueKey), g.parent && g.parent.removeChild(g),
585
610
  g.release();
586
611
  }));
587
- const graphicCount = newGraphics.length;
588
- newGraphics.forEach(((g, index) => {
612
+ const graphicCount = allGraphics.length;
613
+ allGraphics.forEach(((g, index) => {
589
614
  g.context.graphicCount = graphicCount, g.context.graphicIndex = index;
590
- })), this._dataByKey = newGroupedData, this._graphics = newGraphics, this.needClear = !0;
615
+ })), this._dataByKey = newGroupedData, this._graphics = allGraphics, this.needClear = !0;
591
616
  }
592
617
  _runEncoderOfGraphic(styles, g, attrs = {}) {
593
618
  return (0, common_1.runEncoder)(styles, g.context.data[0], attrs);
@@ -631,10 +656,8 @@ class BaseMark extends grammar_item_1.GrammarItem {
631
656
  var _a;
632
657
  const finalAttrs = g.context.finalAttrs, hasStateAnimation = this.hasAnimationByState(g.context.animationState);
633
658
  if (g.setAttributes) {
634
- const prevAttrs = g.getAttributes(!0), diffAttrs = {};
635
- Object.keys(finalAttrs).forEach((key => {
636
- prevAttrs[key] !== finalAttrs[key] && (diffAttrs[key] = finalAttrs[key]);
637
- })), g.context.diffAttrs = diffAttrs, g.context.reusing ? (g.context.lastAttrs = g.attribute,
659
+ const diffAttrs = (0, mark_2.getDiffAttributesOfGraphic)(g, finalAttrs);
660
+ g.context.diffAttrs = diffAttrs, g.context.reusing ? (g.context.lastAttrs = g.attribute,
638
661
  g.initAttributes({}), g.context.reusing = !1) : hasStateAnimation || (hasAnimation ? g.setAttributesAndPreventAnimate(diffAttrs) : g.setAttributes(diffAttrs)),
639
662
  hasAnimation && g.setFinalAttributes(finalAttrs);
640
663
  } else {
@@ -724,7 +747,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
724
747
  }
725
748
  render() {
726
749
  this.isCommited() && (!this.getVisible() || this._skipBeforeLayouted && this.getCompiler().getLayoutState() === interface_2.LayoutState.before || ((0,
727
- util_3.log)(`render mark: ${this.getProductId()}, type is ${this.type}`), this.renderInner()),
750
+ debug_1.log)(`render mark: ${this.getProductId()}, type is ${this.type}`), this.renderInner()),
728
751
  this.uncommit());
729
752
  }
730
753
  updateMarkState(key) {
@@ -740,7 +763,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
740
763
  this._graphicMap.delete(key), g.parent && g.parent.removeChild(g), g.release && g.release();
741
764
  };
742
765
  this._graphicMap.forEach(((g, key) => {
743
- if (g.context.diffState === enum_1.DiffState.exit && !g.isExiting) if (this.hasAnimationByState("exit")) {
766
+ if (g.context.diffState === enum_1.DiffState.exit && !g.isExiting) if (g.context.animationState === enum_1.DiffState.exit && this.hasAnimationByState("exit")) {
744
767
  g.isExiting = !0;
745
768
  const animationConfig = this.getAnimationConfig();
746
769
  if (animationConfig.exit && animationConfig.exit.length) {
@@ -849,13 +872,8 @@ class BaseMark extends grammar_item_1.GrammarItem {
849
872
  var _a;
850
873
  (null === (_a = this.renderContext) || void 0 === _a ? void 0 : _a.beforeTransformProgressive) ? this._runBeforeProgressive() : this.renderContext.progressive && this._runProgressiveStep();
851
874
  }
852
- updateAnimationState(callback) {
853
- this._graphics && this._graphics.length && this._graphics.forEach((g => {
854
- g.context.animationState = callback(g);
855
- }));
856
- }
857
875
  hasAnimationByState(state) {
858
- if (!state || !this._animationConfig || !this._animationConfig[state]) return !1;
876
+ if (!state || !this._animationConfig || !this._animationConfig[state] || this._disabledAnimationStates.includes(state)) return !1;
859
877
  const stateAnimationConfig = this._animationConfig[state];
860
878
  return stateAnimationConfig.length > 0 || (0, vutils_1.isObject)(stateAnimationConfig);
861
879
  }