[
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)