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