You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Like the issue #5988 mentioned, support custom animation in custom series.
custom animation should not only be able to applied on shape but probably
also on transform and style(e.g., opacity, and x, y of text).
For example, if we want the init animation to be "the radius increases from 0
and the opacity increase from 0",
the proposed option can be as follows:
renderItem: function(){return{type: 'group',children: [{type: 'circle',shape: {cx: 100,cy: 100,// The final radius is 50r: 50},style: {// The final opacity is 1opacity: 1,fill: 'red'},// Set all initial props there. Notice only needed props// will appear here. Then the initial animation will be// performed on these props. The arguments of the initial// animation will follow the settings like `animationEasing`,// `animationDuration` on seriesModel as other series did.initProps: {// The intial radius is 0shape: {r: 0},// The initial opacify is 0style: {opacity: 0}}},{type: 'rect',shape: {x: 50,y: 50,width: 50,height: 50},style: {fill: 'red'}}]};}
But firstly we need to solve this issue:
If start an animation on an element by calling graphic.updateProp (el.animateTo),
the previous ongoing animation will be terminated firstly. That is probably not expected.
For example, when we dragging the "dataZoom" or some components, we want an element appears
with a "opacity fade-in" effect, and then the subsequent continuous user operations make
it animate to another position. The "fade-in animation" and the "move animation" would have
been independent, that is, the destination of the moving element can be changed at any time
without terminating the "fade-in" animation. But currently we seems unable to to do that.
If we change the destination of moving, the ongoing fade-in animation will be terminated.
Because "fade-in animation" and the "move animation" are both created by graphic.updateProp/initProp.
I am attampting to modify the logic of el.animateTo to resolve this issue:
Define a new class LiteAnimator dedicated for el.animateTo. Each time the el.animateTo
called, a new instance of LiteAnimator (say, liteAnimator) is created and the clips are
create directly add added to the liteAnimator, in which clips are organized by using linked
list. Each clip mapped to a unique "attr path" on the el. If a new calling of el.animateTo
occurs on the same el, liteAnimator is responsible to check the unfinished clips on the el
by the given "attr path" and terminate them. The unfinished clips that are not relevant to this
new calling of el.animateTo will continue to work. The different between LiteAnimator and
the original Animator is that the latter one create and dispose all of its clips all together
while the former one can dispose part of them on demand.
About the transition animation, the new graphic element should be able to linked to the previous one render at the last round of renderItem calling. The link can be based on the name on graphic element or something. For example: if the display of graphic elements controlled by legend, when legend deselect some items to check the details clearly, some of them disappeared, and the remaining need to re-layout, where the transition animation probably necessary to avoid uses to loose focus.
Support custom series on bmap
Support a better clip path
The current clipPointsByPoints is not corrent.
Now that the clip feature has be enhanced since 4.4.0, we can make this feature support custom series.
[Related test case]: /test/custom-feature.html
Get category value in api of renderItem
If a dimension in data is type ordinal (category), how to get the original category value
via api (a parameter of renderItem). Current we can only get the ordinal number via api.
But the original value is probably needed to be printed as labels.
I'm interested in custom series for the parallel coordinate system and would be willing to take a shot at implementing it - would it make sense to break it off into a separate issue first?
custom animation
Like the issue #5988 mentioned, support custom animation in custom series.
custom animation should not only be able to applied on
shape
but probablyalso on
transform
andstyle
(e.g.,opacity
, andx
,y
of text).For example, if we want the init animation to be "the radius increases from 0
and the opacity increase from 0",
the proposed option can be as follows:
But firstly we need to solve this issue:
If start an animation on an element by calling
graphic.updateProp
(el.animateTo
),the previous ongoing animation will be terminated firstly. That is probably not expected.
For example, when we dragging the "dataZoom" or some components, we want an element appears
with a "opacity fade-in" effect, and then the subsequent continuous user operations make
it animate to another position. The "fade-in animation" and the "move animation" would have
been independent, that is, the destination of the moving element can be changed at any time
without terminating the "fade-in" animation. But currently we seems unable to to do that.
If we change the destination of moving, the ongoing fade-in animation will be terminated.
Because "fade-in animation" and the "move animation" are both created by
graphic.updateProp/initProp
.I am attampting to modify the logic of
el.animateTo
to resolve this issue:Define a new class
LiteAnimator
dedicated forel.animateTo
. Each time theel.animateTo
called, a new instance of
LiteAnimator
(say,liteAnimator
) is created and theclips
arecreate directly add added to the
liteAnimator
, in which clips are organized by using linkedlist. Each
clip
mapped to a unique "attr path" on the el. If a new calling ofel.animateTo
occurs on the same
el
,liteAnimator
is responsible to check the unfinished clips on theel
by the given "attr path" and terminate them. The unfinished clips that are not relevant to this
new calling of
el.animateTo
will continue to work. The different betweenLiteAnimator
andthe original
Animator
is that the latter one create and dispose all of its clips all togetherwhile the former one can dispose part of them on demand.
About the transition animation, the new graphic element should be able to linked to the previous one render at the last round of
renderItem
calling. The link can be based on thename
on graphic element or something. For example: if the display of graphic elements controlled by legend, when legend deselect some items to check the details clearly, some of them disappeared, and the remaining need to re-layout, where the transition animation probably necessary to avoid uses to loose focus.Support custom series on bmap
Support a better clip path
The current
clipPointsByPoints
is not corrent.Now that the clip feature has be enhanced since 4.4.0, we can make this feature support custom series.
[Related test case]: /test/custom-feature.html
Get category value in
api
ofrenderItem
If a dimension in
data
is typeordinal
(category
), how to get the original category valuevia
api
(a parameter ofrenderItem
). Current we can only get the ordinal number viaapi
.But the original value is probably needed to be printed as labels.
Enable legend provider
See:
#11869
Custom culling
suppport set
culling
on element. That might be good for performance in some cases.About "merge"
Should we make
$mergeChildren
public?Bugs
prepareCustom.js geo
boundingRect
is not correct. "Transform" is needed to be performed.http://gallery.echartsjs.com/editor.html?c=xHJgtZ0d5Z&v=5
When custom series encode.x is set as an array,
renderItem
will not be called.Fix
updateTransform
not sync:/test/custom-bmap-polygon.html
http://echarts.apache.org/en/gallery/editor.html?c=custom-ohlc hover layer not cleared
Performance optimization (Text)
Try to remove this restriction in
custom.js
to enhance the performance in SVG map.Performance optimization (Roam)
Whether to try
updateTransform
.Or setting
invisible
in some opportunities.Example: test/custom-hexbin.html
The performance of the roam is not good.
Variable length of entries
See #5987
Support custom series in parallel coordinate system
Not sure.
Enable renderItem in treemap and tree
See: #6172
Not sure.
The text was updated successfully, but these errors were encountered: