[ 
https://issues.apache.org/jira/browse/WICKET-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782935#comment-13782935
 ] 

Sven Meier commented on WICKET-5297:
------------------------------------

As I see it, this solution is useful to update a single component while drawing 
attention to the update with an animation: simple, straight-forward, but 
nothing that has to be in Wicket because it builds on-top of existing solutions 
(behavior/prependJavascript/appendJavascript).

For anything more complicated than that, i.e. updating multiple components, 
you'll have to carefully orchestrate a series of effects with/without "notify" 
to be able to update them all at once. This will be a major headache if you 
have multiple places in a page, each adding components to the ART for an update.

*I* don't expect anyone wanting to wait for all components to be updated 
consecutively. 

As I understand the title of this issue, "an easy hands-off way to animate 
*most* changes [in] ajax requests" (emphasis mine), this calls for a more 
sophisticated solution.

> Animate ajax DOM manipulation smoothly
> --------------------------------------
>
>                 Key: WICKET-5297
>                 URL: https://issues.apache.org/jira/browse/WICKET-5297
>             Project: Wicket
>          Issue Type: Improvement
>            Reporter: Antti Lankila
>            Assignee: Martin Grigorov
>            Priority: Minor
>              Labels: ajax
>         Attachments: wicket6-replace-with-effect.tgz
>
>
> Wicket should have an easy hands-off way to animate most changes which occur 
> when ajax requests get new HTML data to visualize in the markup. For 
> instance, the content within the element (if any) could fade or shrink away, 
> and new content would replace it, taking its place.
> The animations should be as minimal as possible, but noticeable enough that 
> the user can see them occurring. I'd suggest at least two types of 
> animations: fade-ins and resizes.
> - In fade animation, the old panel would have its opacity decrease until it 
> becomes invisible, and the new content would then take its place. In case the 
> old panel was just a placeholder, only the fade-in of the new content occurs. 
> This type of animation would be suitable for alert box like elements which 
> occur in the middle of the screen or otherwise are detached from the page 
> flow.
> - In resize animation, JavaScript code should measure the dimensions of the 
> old panel (about to go away) and the new panel (about to replace it). During 
> animation, the old panel would be kept in its place, but its dimensions would 
> be adjusted from the old values to the new values through manipulating its 
> width and height using linear interpolation, and then an instantenous switch 
> would replace the old content with the new content when the new dimensions 
> have been reached. If the old panel was just a placeholder, the animation 
> would resize the content of the new panel instead. This type of animation 
> would be most suitable for elements in the page flow.
> User should be able to control the duration and type of the animation, and 
> whether animation is applied by default via settings. In addition to that, 
> the animation parameters should be controllable per ajax request.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to