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

Reply via email to