100pah opened a new pull request #13358: URL: https://github.com/apache/incubator-echarts/pull/13358
<!-- Please fill in the following information to help us review your PR more efficiently. --> ## Brief Information This pull request is in the type of: - [x] bug fixing - [x] new feature - [ ] others ### What does this PR do? #### feature: custom series support `transition: ['shape', 'style', 'extra']` #### feature: custom series shape morphing storytelling + Support custom series morphing with split/merge effect. + Add `setOption` API to indication how to map old data and new data and perform transition animation. ```js setOption(option, { transition: { from: { seriesIndex: 0, dimension: 'SOME_A' }, to: { seriesIndex: 0, dimension: 'SOME_B' } } // Then the old data dimension SOME_A will be mapped to new data dimension SOME_B, // and the transition animation will happen. // If there is "many-to-one" or "one-to-many" mappping, relative transition animation will happen. }); ``` ![cc](https://user-images.githubusercontent.com/1956569/94397655-e4c88200-0196-11eb-97d2-922a174105b9.gif) #### enhance: data transform enhancement + Clarify the rule of when need to return a new dimension definition in a transform. If the dimension changed, a transform need to return a new dimension definition. Otherwise, do not need to return it. echarts will inherit dimension from the upstream. + Try to freeze the raw data exposed to data transform. If a third-party transform modify the raw data of its upstream, it will bring about uncertain unexpected behavior if multiple transform are combined. This PR resolve it by call `Object.freeze` to freeze the raw data if possible. + Clarify the API method name and behavior of data transform. . #### fix: underlying schedule framework bug When setOption at the second time and change data, there is a bug in dispose task instance. ### Show cases `test/est/custom-shape-morphing2.html` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@echarts.apache.org For additional commands, e-mail: commits-h...@echarts.apache.org