[jira] [Commented] (WICKET-5372) Cache Disable Headers Break IE8 Under HTTPS
[ https://issues.apache.org/jira/browse/WICKET-5372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782679#comment-13782679 ] Martin Grigorov commented on WICKET-5372: - So, the defaults are actually set by JRResource, not by the framework. The only solution that I see is to add logic in org.apache.wicket.protocol.http.servlet.ServletWebResponse#setHeader and #addHeader methods to check webRequest.getContainerRequest().getScheme() if the header value is Cache-Control and to remove no-store from it. This will slow down the processing for all applications and will fix the behavior for 0.01% of them. You can use custom ServletWebResponse and override these two methods if you think it is better than setting cache duration only for the resource. But I think this change should not be made in the framework because of its performance impact. If you have better solution please share it. If you don't agree with me then please start a discussion at d...@wicket.apache.org mailing list. Maybe someone else will find a solution that works for everyone. Cache Disable Headers Break IE8 Under HTTPS --- Key: WICKET-5372 URL: https://issues.apache.org/jira/browse/WICKET-5372 Project: Wicket Issue Type: Bug Components: wicket Affects Versions: 6.9.0 Reporter: Brandon Fuller Priority: Minor I am serving up a non-cached PDF resource from Wicket with: getRequestCycle().scheduleRequestHandlerAfterCurrent(new ResourceRequestHandler(pdfResource, null)); All is fine for most users. However, our IE8 users cannot perform the download. The get a dialog saying that the resource cannot be downloaded. I did some testing and found that it works fine over HTTP but not HTTPS. I found this stack overflow article that explains: http://stackoverflow.com/questions/1038707/cant-display-pdf-from-https-in-ie-8-on-64-bit-vista I see in WebResponse that Wicket is setting the Cache-Control and Pragma values incorrectly as far as IE8 is concerned. This explains the behavior. To prove, I changed the resource in wicket to have a cache duration of one second and the resource downloads over SSL just fine. Not the worst workaround but I was hoping this could be addressed. -- This message was sent by Atlassian JIRA (v6.1#6144)
svn commit: r1527962 [3/3] - in /wicket/common/site/trunk/_site/guide: ./ gapi/ gapi/DefaultPackage/ gapi/spring/ guide/ guide/pages/ guide/src/docs/guide/
Modified: wicket/common/site/trunk/_site/guide/guide/pages/chapter5_3.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/chapter5_3.html?rev=1527962r1=1527961r2=1527962view=diff == --- wicket/common/site/trunk/_site/guide/guide/pages/chapter5_3.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/chapter5_3.html Tue Oct 1 07:57:59 2013 @@ -99,6 +99,9 @@ function addJsClass() { div class=toc-item style=margin-left:0a href=../../guide/chapter25.htmlstrong25/strongspanLost In Redirection With Apache Wicket (Appendix)/span/a /div +div class=toc-item style=margin-left:0a href=../../guide/chapter26.htmlstrong26/strongspanContributing to this guide (Appendix)/span/a +/div + /div /div /li Modified: wicket/common/site/trunk/_site/guide/guide/pages/chapter5_4.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/chapter5_4.html?rev=1527962r1=1527961r2=1527962view=diff == --- wicket/common/site/trunk/_site/guide/guide/pages/chapter5_4.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/chapter5_4.html Tue Oct 1 07:57:59 2013 @@ -99,6 +99,9 @@ function addJsClass() { div class=toc-item style=margin-left:0a href=../../guide/chapter25.htmlstrong25/strongspanLost In Redirection With Apache Wicket (Appendix)/span/a /div +div class=toc-item style=margin-left:0a href=../../guide/chapter26.htmlstrong26/strongspanContributing to this guide (Appendix)/span/a +/div + /div /div /li Modified: wicket/common/site/trunk/_site/guide/guide/pages/chapter5_5.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/chapter5_5.html?rev=1527962r1=1527961r2=1527962view=diff == --- wicket/common/site/trunk/_site/guide/guide/pages/chapter5_5.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/chapter5_5.html Tue Oct 1 07:57:59 2013 @@ -99,6 +99,9 @@ function addJsClass() { div class=toc-item style=margin-left:0a href=../../guide/chapter25.htmlstrong25/strongspanLost In Redirection With Apache Wicket (Appendix)/span/a /div +div class=toc-item style=margin-left:0a href=../../guide/chapter26.htmlstrong26/strongspanContributing to this guide (Appendix)/span/a +/div + /div /div /li Modified: wicket/common/site/trunk/_site/guide/guide/pages/chapter5_6.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/chapter5_6.html?rev=1527962r1=1527961r2=1527962view=diff == --- wicket/common/site/trunk/_site/guide/guide/pages/chapter5_6.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/chapter5_6.html Tue Oct 1 07:57:59 2013 @@ -99,6 +99,9 @@ function addJsClass() { div class=toc-item style=margin-left:0a href=../../guide/chapter25.htmlstrong25/strongspanLost In Redirection With Apache Wicket (Appendix)/span/a /div +div class=toc-item style=margin-left:0a href=../../guide/chapter26.htmlstrong26/strongspanContributing to this guide (Appendix)/span/a +/div + /div /div /li Modified: wicket/common/site/trunk/_site/guide/guide/pages/chapter5_7.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/chapter5_7.html?rev=1527962r1=1527961r2=1527962view=diff == --- wicket/common/site/trunk/_site/guide/guide/pages/chapter5_7.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/chapter5_7.html Tue Oct 1 07:57:59 2013 @@ -99,6 +99,9 @@ function addJsClass() { div class=toc-item style=margin-left:0a href=../../guide/chapter25.htmlstrong25/strongspanLost In Redirection With Apache Wicket (Appendix)/span/a /div +div class=toc-item style=margin-left:0a href=../../guide/chapter26.htmlstrong26/strongspanContributing to this guide (Appendix)/span/a +/div + /div /div /li Modified:
svn commit: r1527964 [2/4] - in /wicket/common/site/trunk: _includes/ _site/ _site/2009/07/30/ _site/2009/08/21/ _site/2009/10/12/ _site/2009/10/24/ _site/2009/12/13/ _site/2009/12/21/ _site/2010/02/0
Modified: wicket/common/site/trunk/_site/2013/03/03/cve-2012-5636.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/2013/03/03/cve-2012-5636.html?rev=1527964r1=1527963r2=1527964view=diff == --- wicket/common/site/trunk/_site/2013/03/03/cve-2012-5636.html (original) +++ wicket/common/site/trunk/_site/2013/03/03/cve-2012-5636.html Tue Oct 1 08:10:44 2013 @@ -63,6 +63,9 @@ /h5 ul li + a href=/guide title=User GuideUser Guide/a + /li + li a href=/learn/examples title=ExamplesExamples/a /li li Modified: wicket/common/site/trunk/_site/2013/04/12/wicket-6.7.0-released.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/2013/04/12/wicket-6.7.0-released.html?rev=1527964r1=1527963r2=1527964view=diff == --- wicket/common/site/trunk/_site/2013/04/12/wicket-6.7.0-released.html (original) +++ wicket/common/site/trunk/_site/2013/04/12/wicket-6.7.0-released.html Tue Oct 1 08:10:44 2013 @@ -63,6 +63,9 @@ /h5 ul li + a href=/guide title=User GuideUser Guide/a + /li + li a href=/learn/examples title=ExamplesExamples/a /li li @@ -195,7 +198,8 @@ span class='nt'lt;artifactIdgt;/spanwicket-corespan class='nt'lt;/artifactIdgt;/span span class='nt'lt;versiongt;/span6.7.0span class='nt'lt;/versiongt;/span span class='nt'lt;/dependencygt;/span -/code/pre/div +/code/pre +/div pOr download and build the distribution yourself, or use our convenience binary package/p ul Modified: wicket/common/site/trunk/_site/2013/05/17/wicket-6.8.0-released.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/2013/05/17/wicket-6.8.0-released.html?rev=1527964r1=1527963r2=1527964view=diff == --- wicket/common/site/trunk/_site/2013/05/17/wicket-6.8.0-released.html (original) +++ wicket/common/site/trunk/_site/2013/05/17/wicket-6.8.0-released.html Tue Oct 1 08:10:44 2013 @@ -63,6 +63,9 @@ /h5 ul li + a href=/guide title=User GuideUser Guide/a + /li + li a href=/learn/examples title=ExamplesExamples/a /li li @@ -183,7 +186,8 @@ span class='nt'lt;artifactIdgt;/spanwicket-corespan class='nt'lt;/artifactIdgt;/span span class='nt'lt;versiongt;/span6.8.0span class='nt'lt;/versiongt;/span span class='nt'lt;/dependencygt;/span -/code/pre/div +/code/pre +/div pOr download and build the distribution yourself, or use our convenience binary package/p ul Modified: wicket/common/site/trunk/_site/2013/06/27/wicket-6.9.0-released.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/2013/06/27/wicket-6.9.0-released.html?rev=1527964r1=1527963r2=1527964view=diff == --- wicket/common/site/trunk/_site/2013/06/27/wicket-6.9.0-released.html (original) +++ wicket/common/site/trunk/_site/2013/06/27/wicket-6.9.0-released.html Tue Oct 1 08:10:44 2013 @@ -63,6 +63,9 @@ /h5 ul li + a href=/guide title=User GuideUser Guide/a + /li + li a href=/learn/examples title=ExamplesExamples/a /li li @@ -182,7 +185,8 @@ span class='n'getJavaScriptLibrarySettings/spanspan class='o'()/span span class='o'./spanspan class='na'setJQueryReference/spanspan class='o'(/spanspan class='n'DynamicJQueryResourceReference/spanspan class='o'./spanspan class='na'INSTANCE/spanspan class='o');/span span class='o'}/span -/code/pre/div +/code/pre +/div pUpgraded Atmoshpere (1.0.13) and Bootstrap (2.3.2) resources./p h3 id='using_this_release'Using this release/h3 @@ -193,7 +197,8 @@ span class='nt'lt;artifactIdgt;/spanwicket-corespan class='nt'lt;/artifactIdgt;/span span class='nt'lt;versiongt;/span6.9.0span class='nt'lt;/versiongt;/span span class='nt'lt;/dependencygt;/span -/code/pre/div +/code/pre +/div pOr download and build the distribution yourself, or use our convenience binary package/p ul Modified: wicket/common/site/trunk/_site/2013/07/10/wicket-6.9.1-released.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/2013/07/10/wicket-6.9.1-released.html?rev=1527964r1=1527963r2=1527964view=diff == --- wicket/common/site/trunk/_site/2013/07/10/wicket-6.9.1-released.html (original) +++
[jira] [Commented] (WICKET-5321) Incorporate Wicket Guide into website
[ https://issues.apache.org/jira/browse/WICKET-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782710#comment-13782710 ] Martin Grigorov commented on WICKET-5321: - http://wicket.apache.org/guide/guide/chapter26.html Incorporate Wicket Guide into website - Key: WICKET-5321 URL: https://issues.apache.org/jira/browse/WICKET-5321 Project: Wicket Issue Type: Bug Components: site Reporter: Martijn Dashorst Attachments: grails-generator.zip, Wicket free guide_asf.odt, Wicket free guide.odt Andrea del Bene has donated the Wicket Guide to the Apache Software Foundation. This issue will track the progress into incorporating the document into our website. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Comment Edited] (WICKET-5321) Incorporate Wicket Guide into website
[ https://issues.apache.org/jira/browse/WICKET-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782710#comment-13782710 ] Martin Grigorov edited comment on WICKET-5321 at 10/1/13 8:14 AM: -- How to contribute - http://wicket.apache.org/guide/guide/chapter26.html was (Author: mgrigorov): http://wicket.apache.org/guide/guide/chapter26.html Incorporate Wicket Guide into website - Key: WICKET-5321 URL: https://issues.apache.org/jira/browse/WICKET-5321 Project: Wicket Issue Type: Bug Components: site Reporter: Martijn Dashorst Attachments: grails-generator.zip, Wicket free guide_asf.odt, Wicket free guide.odt Andrea del Bene has donated the Wicket Guide to the Apache Software Foundation. This issue will track the progress into incorporating the document into our website. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (WICKET-5321) Incorporate Wicket Guide into website
[ https://issues.apache.org/jira/browse/WICKET-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782712#comment-13782712 ] Martin Grigorov commented on WICKET-5321: - There is a problem with this setup though. The shell scripts that run Jekyll (regenerate.sh and liveedit.sh) delete all files from _site folder, including the guide. They do this to be able to preserve .svn folders. Option 1) use Git for PubSub (.git/ is only in the root folder) Option 2) Use newer Subversion (.svn/ is only in the root folder) Option 3) ??? Incorporate Wicket Guide into website - Key: WICKET-5321 URL: https://issues.apache.org/jira/browse/WICKET-5321 Project: Wicket Issue Type: Bug Components: site Reporter: Martijn Dashorst Attachments: grails-generator.zip, Wicket free guide_asf.odt, Wicket free guide.odt Andrea del Bene has donated the Wicket Guide to the Apache Software Foundation. This issue will track the progress into incorporating the document into our website. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (WICKET-5321) Incorporate Wicket Guide into website
[ https://issues.apache.org/jira/browse/WICKET-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782772#comment-13782772 ] Martijn Dashorst commented on WICKET-5321: -- I suggest using a newer svn. I have done so for the last 8 releases or so, and it works like a charm. With SVN 1.8 there is just one .svn folder in the root, rendering the preservation step moot, and making it a lot faster as well. option 3: make regenerate know about our guide, such that it will regenerate the guide as well. This will ensure that deleted files are actually removed (as long as wel svn rm them...) Incorporate Wicket Guide into website - Key: WICKET-5321 URL: https://issues.apache.org/jira/browse/WICKET-5321 Project: Wicket Issue Type: Bug Components: site Reporter: Martijn Dashorst Attachments: grails-generator.zip, Wicket free guide_asf.odt, Wicket free guide.odt Andrea del Bene has donated the Wicket Guide to the Apache Software Foundation. This issue will track the progress into incorporating the document into our website. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Assigned] (WICKET-5297) Animate ajax DOM manipulation smoothly
[ https://issues.apache.org/jira/browse/WICKET-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin Grigorov reassigned WICKET-5297: --- Assignee: Martin Grigorov 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 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)
git commit: WICKET-5297 Animate ajax DOM manipulation smoothly
Updated Branches: refs/heads/WICKET-5297-ajax-repaint-with-animation [created] e85a8b3cd WICKET-5297 Animate ajax DOM manipulation smoothly Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/e85a8b3c Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e85a8b3c Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e85a8b3c Branch: refs/heads/WICKET-5297-ajax-repaint-with-animation Commit: e85a8b3cd1512cfee79620530c559ea307c2d4d0 Parents: 76b619d Author: Martin Tzvetanov Grigorov mgrigo...@apache.org Authored: Tue Oct 1 12:15:09 2013 +0200 Committer: Martin Tzvetanov Grigorov mgrigo...@apache.org Committed: Tue Oct 1 12:15:09 2013 +0200 -- .../ajax/effects/DisplayNoneBehavior.java | 22 .../org/apache/wicket/ajax/effects/Effect.java | 117 +++ .../org/apache/wicket/ajax/effects/Effects.java | 86 ++ .../wicket/ajax/res/js/wicket-ajax-jquery.js| 22 4 files changed, 247 insertions(+) -- http://git-wip-us.apache.org/repos/asf/wicket/blob/e85a8b3c/wicket-core/src/main/java/org/apache/wicket/ajax/effects/DisplayNoneBehavior.java -- diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/effects/DisplayNoneBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/effects/DisplayNoneBehavior.java new file mode 100644 index 000..d62e8c1 --- /dev/null +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/effects/DisplayNoneBehavior.java @@ -0,0 +1,22 @@ +package org.apache.wicket.ajax.effects; + +import org.apache.wicket.Component; +import org.apache.wicket.behavior.AttributeAppender; +import org.apache.wicket.model.Model; + +/** + * A behavior that hides a component by using CSS emdisplay/em rule + */ +class DisplayNoneBehavior extends AttributeAppender +{ + DisplayNoneBehavior() + { + super(style, Model.of(display: none)); + } + + @Override + public boolean isTemporary(Component component) + { + return true; + } +} http://git-wip-us.apache.org/repos/asf/wicket/blob/e85a8b3c/wicket-core/src/main/java/org/apache/wicket/ajax/effects/Effect.java -- diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/effects/Effect.java b/wicket-core/src/main/java/org/apache/wicket/ajax/effects/Effect.java new file mode 100644 index 000..2110631 --- /dev/null +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/effects/Effect.java @@ -0,0 +1,117 @@ +package org.apache.wicket.ajax.effects; + +import org.apache.wicket.Component; +import org.apache.wicket.util.lang.Args; +import org.apache.wicket.util.time.Duration; + +/** + * An effect is responsible to render the JavaScript that should be + * used to show the animation effect. + */ +public class Effect +{ + /** +* The default duration of all effects which do not specify +* their duration explicitly via {@linkplain #setDuration(org.apache.wicket.util.time.Duration)}. +* +* pNon final so the application can specify/p its own default +*/ + public static Duration DEFAULT_DURATION = Duration.milliseconds(300L); + + /** +* The name of the effect. +*/ + private final String name; + + /** +* The duration of the animation. In milliseconds +*/ + private Duration duration; + + /** +* A flag indicating whether the animation should suspend +* the execution of other Ajax response evaluations. +* By default effects notify when they are finished and other +* evaluations can be executed. +*/ + private boolean notify = true; + + /** +* Constructor. +* +* @param name +* The name of the effect +*/ + protected Effect(String name) + { + this(name, DEFAULT_DURATION); + } + + /** +* Constructor. +* +* @param name +* The name of the effect +* @param duration +* The duration of the animation. +*/ + protected Effect(String name, Duration duration) + { + this.name = Args.notEmpty(name, name); + this.duration = Args.notNull(duration, duration); + } + + public Effect setDuration(Duration duration) + { + this.duration = duration; + return this; + } + + public Duration getDuration() + { + return duration; + } + + public String getName() + { + return name; + } + + public boolean isNotify() + { + return
[jira] [Commented] (WICKET-5297) Animate ajax DOM manipulation smoothly
[ https://issues.apache.org/jira/browse/WICKET-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782788#comment-13782788 ] Martin Grigorov commented on WICKET-5297: - The new functionality doesn't need anything from Wicket 7 so it can be applied to Wicket 6.x if approved. 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)
[jira] [Updated] (WICKET-5297) Animate ajax DOM manipulation smoothly
[ https://issues.apache.org/jira/browse/WICKET-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin Grigorov updated WICKET-5297: Attachment: wicket6-replace-with-effect.tgz I've pushed implementation of this feature at branch WICKET-5297-ajax-repaint-with-animation. Attaching a demo application showing how to use the new functionality. By default Wicket provides Effects for Slide and Fade effects because they are provided by jQuery. The demo application shows how to extend the functionality to use custom effects, e.g. from JQuery UI. 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)
git commit: WICKET-5297 Animate ajax DOM manipulation smoothly
Updated Branches: refs/heads/WICKET-5297-ajax-repaint-with-animation e85a8b3cd - 00cbf54d8 WICKET-5297 Animate ajax DOM manipulation smoothly Add javadoc to Effects helper class Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/00cbf54d Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/00cbf54d Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/00cbf54d Branch: refs/heads/WICKET-5297-ajax-repaint-with-animation Commit: 00cbf54d8b95664d4235ba32bc201757230d8ba5 Parents: e85a8b3 Author: Martin Tzvetanov Grigorov mgrigo...@apache.org Authored: Tue Oct 1 12:24:45 2013 +0200 Committer: Martin Tzvetanov Grigorov mgrigo...@apache.org Committed: Tue Oct 1 12:24:45 2013 +0200 -- .../org/apache/wicket/ajax/effects/Effects.java | 34 +--- 1 file changed, 29 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/wicket/blob/00cbf54d/wicket-core/src/main/java/org/apache/wicket/ajax/effects/Effects.java -- diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/effects/Effects.java b/wicket-core/src/main/java/org/apache/wicket/ajax/effects/Effects.java index 7020332..c40ffad 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/effects/Effects.java +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/effects/Effects.java @@ -5,27 +5,51 @@ import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.time.Duration; +/** + * Helper class to replace component in Ajax responses with JavaScript animation effects.. + */ public class Effects { + /** +* Replaces a component by using 'slideUp' effect to hide the component +* and 'slideDown' to show it. +* +* @param target +* The Ajax request handler +* @param component +* The component to re-render +*/ public static void replace(AjaxRequestTarget target, Component component) { replace(target, component, new SlideUp(), new SlideDown()); } - public static void replace(AjaxRequestTarget target, Component component, Effect in, Effect out) + /** +* Replaces a component by using the provided effects to hide and show the component +* +* @param target +* The Ajax request handler +* @param component +* The component to re-render +* @param hide +* The effect that will hide the old component +* @param show +* The effect that will show the new component +*/ + public static void replace(AjaxRequestTarget target, Component component, Effect hide, Effect show) { Args.notNull(target, target); Args.notNull(component, component); - Args.notNull(in, in); - Args.notNull(out, out); + Args.notNull(hide, hide); + Args.notNull(show, show); component.add(new DisplayNoneBehavior()); - target.prependJavaScript(in.toJavaScript(component)); + target.prependJavaScript(hide.toJavaScript(component)); target.add(component); - target.appendJavaScript(out.toJavaScript(component)); + target.appendJavaScript(show.toJavaScript(component)); } /*
[jira] [Commented] (WICKET-4862) AjaxPagingNavigationLink and AjaxPagingNavigationIncrementLink output inline onclick attributes in addition to Wicket.Ajax.ajax event registration
[ https://issues.apache.org/jira/browse/WICKET-4862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782818#comment-13782818 ] Dries Schulten commented on WICKET-4862: Seeing the same issue using Wicket 6.10.0, we use 'em' tags for our paging. Wicket renders an onclick attribute on the 'em' tag because the AjaxPagingNavigationLink extends from Link which in onComponentTag renders a onclick if the tag is not a 'a' tag. Because the Ajax paging links use a AjaxPagingNavigationBehavior that renders a JavaScript click event the original click is not needed (only for non ajax fallback?). Our current workaround is to remove the generated onclick handler in the onComponentTag of AjaxPagingNavigtionLink but I think it stops ajax fallback from working (our whole application is ajax based so no issue for us). {code:java} protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); tag.remove(onclick); } {code} AjaxPagingNavigationLink and AjaxPagingNavigationIncrementLink output inline onclick attributes in addition to Wicket.Ajax.ajax event registration -- Key: WICKET-4862 URL: https://issues.apache.org/jira/browse/WICKET-4862 Project: Wicket Issue Type: Bug Components: wicket Affects Versions: 6.2.0 Environment: Not env specific Reporter: Barrett Snyder Labels: ajax, inline, javascript Attachments: awqs.zip, WICKET-4862.patch The AjaxPagingNavigation links are outputting inline onclick attributes in addition to being registered via Wicket.Ajax.ajax calls when used with certain tags like span. These are Ajax components so therefore should no longer have inline onclick handlers. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Assigned] (WICKET-4862) AjaxPagingNavigationLink and AjaxPagingNavigationIncrementLink output inline onclick attributes in addition to Wicket.Ajax.ajax event registration
[ https://issues.apache.org/jira/browse/WICKET-4862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin Grigorov reassigned WICKET-4862: --- Assignee: Martin Grigorov AjaxPagingNavigationLink and AjaxPagingNavigationIncrementLink output inline onclick attributes in addition to Wicket.Ajax.ajax event registration -- Key: WICKET-4862 URL: https://issues.apache.org/jira/browse/WICKET-4862 Project: Wicket Issue Type: Bug Components: wicket Affects Versions: 6.2.0 Environment: Not env specific Reporter: Barrett Snyder Assignee: Martin Grigorov Labels: ajax, inline, javascript Attachments: awqs.zip, WICKET-4862.patch The AjaxPagingNavigation links are outputting inline onclick attributes in addition to being registered via Wicket.Ajax.ajax calls when used with certain tags like span. These are Ajax components so therefore should no longer have inline onclick handlers. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Resolved] (WICKET-4862) AjaxPagingNavigationLink and AjaxPagingNavigationIncrementLink output inline onclick attributes in addition to Wicket.Ajax.ajax event registration
[ https://issues.apache.org/jira/browse/WICKET-4862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin Grigorov resolved WICKET-4862. - Resolution: Fixed Fix Version/s: 6.12.0 7.0.0 [~dries.schulten] Your approach looks good to me. Applied! AjaxPagingNavigationLink and AjaxPagingNavigationIncrementLink output inline onclick attributes in addition to Wicket.Ajax.ajax event registration -- Key: WICKET-4862 URL: https://issues.apache.org/jira/browse/WICKET-4862 Project: Wicket Issue Type: Bug Components: wicket Affects Versions: 6.2.0 Environment: Not env specific Reporter: Barrett Snyder Assignee: Martin Grigorov Labels: ajax, inline, javascript Fix For: 7.0.0, 6.12.0 Attachments: awqs.zip, WICKET-4862.patch The AjaxPagingNavigation links are outputting inline onclick attributes in addition to being registered via Wicket.Ajax.ajax calls when used with certain tags like span. These are Ajax components so therefore should no longer have inline onclick handlers. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (WICKET-5297) Animate ajax DOM manipulation smoothly
[ https://issues.apache.org/jira/browse/WICKET-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782849#comment-13782849 ] Martin Grigorov commented on WICKET-5297: - Effect#setNotify(boolean) can be used to control this. The demo application shows how two components are being shown at the same time. If all effects have notify == false then the animations will be executed simultaneously, i.e. they will look like are being done in parallel. 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)
[jira] [Commented] (WICKET-5371) IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process
[ https://issues.apache.org/jira/browse/WICKET-5371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782862#comment-13782862 ] Vojtěch Krása commented on WICKET-5371: --- problems seems to be in org.apache.wicket.atmosphere.AtmosphereRequestHandler#respond Application.get().getMapperContext().getPageInstance(pageKey.getPageId()); is returning null problem is that it affects pages which are in my case half minute old. IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process - Key: WICKET-5371 URL: https://issues.apache.org/jira/browse/WICKET-5371 Project: Wicket Issue Type: Bug Components: wicket-atmosphere Affects Versions: 6.10.0 Reporter: Vojtěch Krása Assignee: Emond Papegaaij I never reproduced it on local, it happens a lot on linux server behind apache proxy(could be just coincidence). I could try to debug it, if you have no idea why it could happen. It also seems that it happens only after server is running for some time. I am sending multiple events to update different panels from asynchronous process like this: EventBus.get(Application.get(WicketApplication.class.getName())).post(new ComponentBuildEvent()); 15:16:36 ERROR o.a.w.DefaultExceptionMapper [refreshExecutor-4]: - Unexpected error occurred java.lang.IllegalArgumentException: Argument 'page' may not be null. at org.apache.wicket.util.lang.Args.notNull(Args.java:41) ~[wicket-util-6.10.0.jar:6.10.0] at org.apache.wicket.ajax.AjaxRequestHandler.init(AjaxRequestHandler.java:112) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:961) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:954) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication.newAjaxRequestTarget(WebApplication.java:805) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.AtmosphereRequestHandler.respond(AtmosphereRequestHandler.java:69) ~[wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:861) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) ~[wicket-request-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:368) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.postToSingleResource(EventBus.java:344) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:319) [wicket-atmosphere-0.13.jar:0.13] at krasa.build.backend.facade.AsyncService.sendRefresh(AsyncService.java:28) [classes/:na] at krasa.build.backend.facade.AsyncService$$FastClassByCGLIB$$8fb726ed.invoke(generated) [spring-core-3.2.3.RELEASE.jar:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) [spring-core-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:89) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0_03] at java.util.concurrent.FutureTask.run(FutureTask.java:166) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0_03] at java.lang.Thread.run(Thread.java:722) [na:1.7.0_03] sometimes it even shows me this page, unfortunatelly I only found out later in not used tabs: http://svn.tmdev:8765/wicket/page?23
[jira] [Commented] (WICKET-5371) IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process
[ https://issues.apache.org/jira/browse/WICKET-5371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782865#comment-13782865 ] Martin Grigorov commented on WICKET-5371: - Is it possible that the page has never been stored due to some error during serialization ? I'm not sure why Application.get().getMapperContext() is used instead of PageProvider. With PageProvider it will throw more descriptive PageExpiredException. IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process - Key: WICKET-5371 URL: https://issues.apache.org/jira/browse/WICKET-5371 Project: Wicket Issue Type: Bug Components: wicket-atmosphere Affects Versions: 6.10.0 Reporter: Vojtěch Krása Assignee: Emond Papegaaij I never reproduced it on local, it happens a lot on linux server behind apache proxy(could be just coincidence). I could try to debug it, if you have no idea why it could happen. It also seems that it happens only after server is running for some time. I am sending multiple events to update different panels from asynchronous process like this: EventBus.get(Application.get(WicketApplication.class.getName())).post(new ComponentBuildEvent()); 15:16:36 ERROR o.a.w.DefaultExceptionMapper [refreshExecutor-4]: - Unexpected error occurred java.lang.IllegalArgumentException: Argument 'page' may not be null. at org.apache.wicket.util.lang.Args.notNull(Args.java:41) ~[wicket-util-6.10.0.jar:6.10.0] at org.apache.wicket.ajax.AjaxRequestHandler.init(AjaxRequestHandler.java:112) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:961) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:954) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication.newAjaxRequestTarget(WebApplication.java:805) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.AtmosphereRequestHandler.respond(AtmosphereRequestHandler.java:69) ~[wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:861) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) ~[wicket-request-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:368) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.postToSingleResource(EventBus.java:344) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:319) [wicket-atmosphere-0.13.jar:0.13] at krasa.build.backend.facade.AsyncService.sendRefresh(AsyncService.java:28) [classes/:na] at krasa.build.backend.facade.AsyncService$$FastClassByCGLIB$$8fb726ed.invoke(generated) [spring-core-3.2.3.RELEASE.jar:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) [spring-core-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:89) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0_03] at java.util.concurrent.FutureTask.run(FutureTask.java:166) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0_03] at java.lang.Thread.run(Thread.java:722) [na:1.7.0_03] sometimes it even shows me this page, unfortunatelly I only found out later in not used tabs: http://svn.tmdev:8765/wicket/page?23
[jira] [Commented] (WICKET-5297) Animate ajax DOM manipulation smoothly
[ https://issues.apache.org/jira/browse/WICKET-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782892#comment-13782892 ] Sven Meier commented on WICKET-5297: I've tried it with the quickstart: Yes, you can execute the show-animation in parallel via notify=false. But if you use notify=false for the hide animation, it will not be visible because Wicket removes the element before the animation has finished. So my complain still holds: all will first disappear and then all will re-appear. That's not very useful. 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)
[jira] [Commented] (WICKET-5297) Animate ajax DOM manipulation smoothly
[ https://issues.apache.org/jira/browse/WICKET-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782900#comment-13782900 ] Martin Grigorov commented on WICKET-5297: - What is the use case that is not supported ? Or let's ask this way: in which case the animation will be useful ? 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)
[jira] [Commented] (WICKET-5371) IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process
[ https://issues.apache.org/jira/browse/WICKET-5371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782907#comment-13782907 ] Vojtěch Krása commented on WICKET-5371: --- I do not think so, there are no other types of errors. IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process - Key: WICKET-5371 URL: https://issues.apache.org/jira/browse/WICKET-5371 Project: Wicket Issue Type: Bug Components: wicket-atmosphere Affects Versions: 6.10.0 Reporter: Vojtěch Krása Assignee: Emond Papegaaij I never reproduced it on local, it happens a lot on linux server behind apache proxy(could be just coincidence). I could try to debug it, if you have no idea why it could happen. It also seems that it happens only after server is running for some time. I am sending multiple events to update different panels from asynchronous process like this: EventBus.get(Application.get(WicketApplication.class.getName())).post(new ComponentBuildEvent()); 15:16:36 ERROR o.a.w.DefaultExceptionMapper [refreshExecutor-4]: - Unexpected error occurred java.lang.IllegalArgumentException: Argument 'page' may not be null. at org.apache.wicket.util.lang.Args.notNull(Args.java:41) ~[wicket-util-6.10.0.jar:6.10.0] at org.apache.wicket.ajax.AjaxRequestHandler.init(AjaxRequestHandler.java:112) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:961) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:954) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication.newAjaxRequestTarget(WebApplication.java:805) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.AtmosphereRequestHandler.respond(AtmosphereRequestHandler.java:69) ~[wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:861) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) ~[wicket-request-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:368) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.postToSingleResource(EventBus.java:344) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:319) [wicket-atmosphere-0.13.jar:0.13] at krasa.build.backend.facade.AsyncService.sendRefresh(AsyncService.java:28) [classes/:na] at krasa.build.backend.facade.AsyncService$$FastClassByCGLIB$$8fb726ed.invoke(generated) [spring-core-3.2.3.RELEASE.jar:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) [spring-core-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:89) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0_03] at java.util.concurrent.FutureTask.run(FutureTask.java:166) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0_03] at java.lang.Thread.run(Thread.java:722) [na:1.7.0_03] sometimes it even shows me this page, unfortunatelly I only found out later in not used tabs: http://svn.tmdev:8765/wicket/page?23 Unexpected RuntimeException Last cause: Argument 'page' may not be null. Stacktrace Root cause: java.lang.IllegalArgumentException: Argument 'page' may not be null. -- This message was sent by
[jira] [Commented] (WICKET-5371) IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process
[ https://issues.apache.org/jira/browse/WICKET-5371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782921#comment-13782921 ] Martin Grigorov commented on WICKET-5371: - What server do you use ? Is it Glassfish by chance ? A quickstart application will be needed to be able to help you more. IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process - Key: WICKET-5371 URL: https://issues.apache.org/jira/browse/WICKET-5371 Project: Wicket Issue Type: Bug Components: wicket-atmosphere Affects Versions: 6.10.0 Reporter: Vojtěch Krása Assignee: Emond Papegaaij I never reproduced it on local, it happens a lot on linux server behind apache proxy(could be just coincidence). I could try to debug it, if you have no idea why it could happen. It also seems that it happens only after server is running for some time. I am sending multiple events to update different panels from asynchronous process like this: EventBus.get(Application.get(WicketApplication.class.getName())).post(new ComponentBuildEvent()); 15:16:36 ERROR o.a.w.DefaultExceptionMapper [refreshExecutor-4]: - Unexpected error occurred java.lang.IllegalArgumentException: Argument 'page' may not be null. at org.apache.wicket.util.lang.Args.notNull(Args.java:41) ~[wicket-util-6.10.0.jar:6.10.0] at org.apache.wicket.ajax.AjaxRequestHandler.init(AjaxRequestHandler.java:112) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:961) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:954) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication.newAjaxRequestTarget(WebApplication.java:805) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.AtmosphereRequestHandler.respond(AtmosphereRequestHandler.java:69) ~[wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:861) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) ~[wicket-request-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:368) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.postToSingleResource(EventBus.java:344) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:319) [wicket-atmosphere-0.13.jar:0.13] at krasa.build.backend.facade.AsyncService.sendRefresh(AsyncService.java:28) [classes/:na] at krasa.build.backend.facade.AsyncService$$FastClassByCGLIB$$8fb726ed.invoke(generated) [spring-core-3.2.3.RELEASE.jar:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) [spring-core-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:89) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0_03] at java.util.concurrent.FutureTask.run(FutureTask.java:166) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0_03] at java.lang.Thread.run(Thread.java:722) [na:1.7.0_03] sometimes it even shows me this page, unfortunatelly I only found out later in not used tabs: http://svn.tmdev:8765/wicket/page?23 Unexpected RuntimeException Last cause: Argument 'page' may not be null. Stacktrace Root cause:
[jira] [Commented] (WICKET-5321) Incorporate Wicket Guide into website
[ https://issues.apache.org/jira/browse/WICKET-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782929#comment-13782929 ] Paul Bors commented on WICKET-5321: --- Quick question about versioning this guide. What would happen when Wicket 7.x is released and there will be some API changes rendering the text in the guide off. Should then the guide's major version match that of Wicket's major version? ie: Instead of starting at v1 start at v6 since it's documenting Wicket 6.x? Then when Wicket 7.x will be release the guide can be branched and updated under v7 thus users will know which version of the guide to refer to for the Wicket version they use. Incorporate Wicket Guide into website - Key: WICKET-5321 URL: https://issues.apache.org/jira/browse/WICKET-5321 Project: Wicket Issue Type: Bug Components: site Reporter: Martijn Dashorst Attachments: grails-generator.zip, Wicket free guide_asf.odt, Wicket free guide.odt Andrea del Bene has donated the Wicket Guide to the Apache Software Foundation. This issue will track the progress into incorporating the document into our website. -- This message was sent by Atlassian JIRA (v6.1#6144)
git commit: Add forgotten file for AMD QUnit tests
Updated Branches: refs/heads/wicket-6.x 721b1d458 - 6502884ed Add forgotten file for AMD QUnit tests Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/6502884e Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/6502884e Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/6502884e Branch: refs/heads/wicket-6.x Commit: 6502884ed36a4b1297ec6aa4d6183cc89ad792df Parents: 721b1d4 Author: Martin Tzvetanov Grigorov mgrigo...@apache.org Authored: Tue Oct 1 15:34:46 2013 +0200 Committer: Martin Tzvetanov Grigorov mgrigo...@apache.org Committed: Tue Oct 1 15:34:46 2013 +0200 -- wicket-core/src/test/js/amd/require.js | 36 + 1 file changed, 36 insertions(+) -- http://git-wip-us.apache.org/repos/asf/wicket/blob/6502884e/wicket-core/src/test/js/amd/require.js -- diff --git a/wicket-core/src/test/js/amd/require.js b/wicket-core/src/test/js/amd/require.js new file mode 100644 index 000..7ff409d --- /dev/null +++ b/wicket-core/src/test/js/amd/require.js @@ -0,0 +1,36 @@ +/* + RequireJS 2.1.8 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved. + Available via the MIT or new BSD license. + see: http://github.com/jrburke/requirejs for details +*/ +var requirejs,require,define; +(function(Z){function H(b){return[object Function]===L.call(b)}function I(b){return[object Array]===L.call(b)}function y(b,c){if(b){var d;for(d=0;db.length(!b[d]||!c(b[d],d,b));d+=1);}}function M(b,c){if(b){var d;for(d=b.length-1;-1d(!b[d]||!c(b[d],d,b));d-=1);}}function s(b,c){return ga.call(b,c)}function l(b,c){return s(b,c)b[c]}function F(b,c){for(var d in b)if(s(b,d)c(b[d],d))break}function Q(b,c,d,h){cF(c,function(c,j){if(d||!s(b,j))hstring!==typeof c?(b[j]||(b[j]={}),Q(b[j], +c,d,h)):b[j]=c});return b}function u(b,c){return function(){return c.apply(b,arguments)}}function aa(b){throw b;}function ba(b){if(!b)return b;var c=Z;y(b.split(.),function(b){c=c[b]});return c}function A(b,c,d,h){c=Error(c+\nhttp://requirejs.org/docs/errors.html#+b);c.requireType=b;c.requireModules=h;d(c.originalError=d);return c}function ha(b){function c(a,f,b){var e,m,c,g,d,h,j,i=ff.split(/);e=i;var n=k.map,p=nn[*];if(a.===a.charAt(0))if(f){e=l(k.pkgs,f)?i=[f]:i.slice(0,i.length- +1);f=a=e.concat(a.split(/));for(e=0;f[e];e+=1)if(m=f[e],.===m)f.splice(e,1),e-=1;else if(..===m)if(1===e(..===f[2]||..===f[0]))break;else 0e(f.splice(e-1,2),e-=2);e=l(k.pkgs,f=a[0]);a=a.join(/);ea===f+/+e.main(a=f)}else 0===a.indexOf(./)(a=a.substring(2));if(bn(i||p)){f=a.split(/);for(e=f.length;0e;e-=1){c=f.slice(0,e).join(/);if(i)for(m=i.length;0m;m-=1)if(b=l(n,i.slice(0,m).join(/)))if(b=l(b,c)){g=b;d=e;break}if(g)break;!h(pl(p,c))(h=l(p,c),j=e)}!g +h(g=h,d=j);g(f.splice(0,d,g),a=f.join(/))}return a}function d(a){zy(document.getElementsByTagName(script),function(f){if(f.getAttribute(data-requiremodule)===af.getAttribute(data-requirecontext)===i.contextName)return f.parentNode.removeChild(f),!0})}function h(a){var f=l(k.paths,a);if(fI(f)1f.length)return d(a),f.shift(),i.require.undef(a),i.require([a]),!0}function $(a){var f,b=a?a.indexOf(!):-1;-1b(f=a.substring(0,b),a=a.substring(b+1,a.length));return[f,a]}function n(a, +f,b,e){var m,B,g=null,d=f?f.name:null,h=a,j=!0,k=;a||(j=!1,a=_@r+(L+=1));a=$(a);g=a[0];a=a[1];g(g=c(g,d,e),B=l(r,g));a(g?k=BB.normalize?B.normalize(a,function(a){return c(a,d,e)}):c(a,d,e):(k=c(a,d,e),a=$(k),g=a[0],k=a[1],b=!0,m=i.nameToUrl(k)));b=g!B!b?_unnormalized+(M+=1):;return{prefix:g,name:k,parentMap:f,unnormalized:!!b,url:m,originalName:h,isDefine:j,id:(g?g+!+k:k)+b}}function q(a){var f=a.id,b=l(p,f);b||(b=p[f]=new i.Module(a));return b}function t(a,f,b){var e=a.id,m=l(p, +e);if(s(r,e)(!m||m.defineEmitComplete))defined===fb(r[e]);else if(m=q(a),m.errorerror===f)b(m.error);else m.on(f,b)}function v(a,f){var b=a.requireModules,e=!1;if(f)f(a);else if(y(b,function(f){if(f=l(p,f))f.error=a,f.events.error(e=!0,f.emit(error,a))}),!e)j.onError(a)}function w(){R.length(ia.apply(G,[G.length-1,0].concat(R)),R=[])}function x(a){delete p[a];delete T[a]}function E(a,f,b){var e=a.map.id;a.error?a.emit(error,a.error):(f[e]=!0,y(a.depMaps,function(e,c){var g=e.id, +d=l(p,g);d(!a.depMatched[c]!b[g])(l(f,g)?(a.defineDep(c,r[g]),a.check()):E(d,f,b))}),b[e]=!0)}function C(){var a,f,b,e,m=(b=1E3*k.waitSeconds)i.startTime+b(new Date).getTime(),c=[],g=[],j=!1,l=!0;if(!U){U=!0;F(T,function(b){a=b.map;f=a.id;if(b.enabled(a.isDefine||g.push(b),!b.error))if(!b.initedm)h(f)?j=e=!0:(c.push(f),d(f));else if(!b.inited(b.fetcheda.isDefine)(j=!0,!a.prefix))return l=!1});if(mc.length)return b=A(timeout,Load timeout for modules: +c,null,c),b.contextName=
[2/2] git commit: Update require.js for AMD based QUnit tests
Update require.js for AMD based QUnit tests Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/f657a690 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/f657a690 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/f657a690 Branch: refs/heads/master Commit: f657a6906da23163500c1cd6ead1d31a6609fe8a Parents: 25233c4 Author: Martin Tzvetanov Grigorov mgrigo...@apache.org Authored: Tue Oct 1 15:35:14 2013 +0200 Committer: Martin Tzvetanov Grigorov mgrigo...@apache.org Committed: Tue Oct 1 15:35:14 2013 +0200 -- wicket-core/src/test/js/amd/require.js | 2055 +-- 1 file changed, 36 insertions(+), 2019 deletions(-) --
[jira] [Commented] (WICKET-5321) Incorporate Wicket Guide into website
[ https://issues.apache.org/jira/browse/WICKET-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782936#comment-13782936 ] Paul Bors commented on WICKET-5321: --- Also, can we have a wicket-guide component in Jira? Incorporate Wicket Guide into website - Key: WICKET-5321 URL: https://issues.apache.org/jira/browse/WICKET-5321 Project: Wicket Issue Type: Bug Components: site Reporter: Martijn Dashorst Attachments: grails-generator.zip, Wicket free guide_asf.odt, Wicket free guide.odt Andrea del Bene has donated the Wicket Guide to the Apache Software Foundation. This issue will track the progress into incorporating the document into our website. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (WICKET-5297) Animate ajax DOM manipulation smoothly
[ https://issues.apache.org/jira/browse/WICKET-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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)
[jira] [Commented] (WICKET-5371) IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process
[ https://issues.apache.org/jira/browse/WICKET-5371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782939#comment-13782939 ] Vojtěch Krása commented on WICKET-5371: --- it is jetty-8.1.9.v20130131 I understand, I am not even able to reproduce it myself on localhost. I can only remote debug it when it starts do this things. IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process - Key: WICKET-5371 URL: https://issues.apache.org/jira/browse/WICKET-5371 Project: Wicket Issue Type: Bug Components: wicket-atmosphere Affects Versions: 6.10.0 Reporter: Vojtěch Krása Assignee: Emond Papegaaij I never reproduced it on local, it happens a lot on linux server behind apache proxy(could be just coincidence). I could try to debug it, if you have no idea why it could happen. It also seems that it happens only after server is running for some time. I am sending multiple events to update different panels from asynchronous process like this: EventBus.get(Application.get(WicketApplication.class.getName())).post(new ComponentBuildEvent()); 15:16:36 ERROR o.a.w.DefaultExceptionMapper [refreshExecutor-4]: - Unexpected error occurred java.lang.IllegalArgumentException: Argument 'page' may not be null. at org.apache.wicket.util.lang.Args.notNull(Args.java:41) ~[wicket-util-6.10.0.jar:6.10.0] at org.apache.wicket.ajax.AjaxRequestHandler.init(AjaxRequestHandler.java:112) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:961) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:954) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication.newAjaxRequestTarget(WebApplication.java:805) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.AtmosphereRequestHandler.respond(AtmosphereRequestHandler.java:69) ~[wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:861) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) ~[wicket-request-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:368) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.postToSingleResource(EventBus.java:344) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:319) [wicket-atmosphere-0.13.jar:0.13] at krasa.build.backend.facade.AsyncService.sendRefresh(AsyncService.java:28) [classes/:na] at krasa.build.backend.facade.AsyncService$$FastClassByCGLIB$$8fb726ed.invoke(generated) [spring-core-3.2.3.RELEASE.jar:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) [spring-core-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:89) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0_03] at java.util.concurrent.FutureTask.run(FutureTask.java:166) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0_03] at java.lang.Thread.run(Thread.java:722) [na:1.7.0_03] sometimes it even shows me this page, unfortunatelly I only found out later in not used tabs: http://svn.tmdev:8765/wicket/page?23 Unexpected RuntimeException Last cause: Argument 'page' may not be null. Stacktrace Root cause:
[jira] [Commented] (WICKET-5297) Animate ajax DOM manipulation smoothly
[ https://issues.apache.org/jira/browse/WICKET-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13782948#comment-13782948 ] Martin Grigorov commented on WICKET-5297: - This is solvable. Let me try it. 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)
[jira] [Commented] (WICKET-5321) Incorporate Wicket Guide into website
[ https://issues.apache.org/jira/browse/WICKET-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13783001#comment-13783001 ] Martijn Dashorst commented on WICKET-5321: -- I've added a guide component to JIRA... Andrea is the component lead. Incorporate Wicket Guide into website - Key: WICKET-5321 URL: https://issues.apache.org/jira/browse/WICKET-5321 Project: Wicket Issue Type: Bug Components: site Reporter: Martijn Dashorst Attachments: grails-generator.zip, Wicket free guide_asf.odt, Wicket free guide.odt Andrea del Bene has donated the Wicket Guide to the Apache Software Foundation. This issue will track the progress into incorporating the document into our website. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (WICKET-5371) IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process
[ https://issues.apache.org/jira/browse/WICKET-5371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13783004#comment-13783004 ] Emond Papegaaij commented on WICKET-5371: - Did you enable session support in atmosphere in your web.xml? init-param param-nameorg.atmosphere.cpr.sessionSupport/param-name param-valuetrue/param-value /init-param IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process - Key: WICKET-5371 URL: https://issues.apache.org/jira/browse/WICKET-5371 Project: Wicket Issue Type: Bug Components: wicket-atmosphere Affects Versions: 6.10.0 Reporter: Vojtěch Krása Assignee: Emond Papegaaij I never reproduced it on local, it happens a lot on linux server behind apache proxy(could be just coincidence). I could try to debug it, if you have no idea why it could happen. It also seems that it happens only after server is running for some time. I am sending multiple events to update different panels from asynchronous process like this: EventBus.get(Application.get(WicketApplication.class.getName())).post(new ComponentBuildEvent()); 15:16:36 ERROR o.a.w.DefaultExceptionMapper [refreshExecutor-4]: - Unexpected error occurred java.lang.IllegalArgumentException: Argument 'page' may not be null. at org.apache.wicket.util.lang.Args.notNull(Args.java:41) ~[wicket-util-6.10.0.jar:6.10.0] at org.apache.wicket.ajax.AjaxRequestHandler.init(AjaxRequestHandler.java:112) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:961) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:954) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication.newAjaxRequestTarget(WebApplication.java:805) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.AtmosphereRequestHandler.respond(AtmosphereRequestHandler.java:69) ~[wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:861) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) ~[wicket-request-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:368) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.postToSingleResource(EventBus.java:344) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:319) [wicket-atmosphere-0.13.jar:0.13] at krasa.build.backend.facade.AsyncService.sendRefresh(AsyncService.java:28) [classes/:na] at krasa.build.backend.facade.AsyncService$$FastClassByCGLIB$$8fb726ed.invoke(generated) [spring-core-3.2.3.RELEASE.jar:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) [spring-core-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:89) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0_03] at java.util.concurrent.FutureTask.run(FutureTask.java:166) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0_03] at java.lang.Thread.run(Thread.java:722) [na:1.7.0_03] sometimes it even shows me this page, unfortunatelly I only found out later in not used tabs: http://svn.tmdev:8765/wicket/page?23 Unexpected RuntimeException Last cause: Argument 'page' may not be null.
[jira] [Commented] (WICKET-5371) IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process
[ https://issues.apache.org/jira/browse/WICKET-5371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13783007#comment-13783007 ] Vojtěch Krása commented on WICKET-5371: --- Yes, see https://github.com/krasa/SVNMergeInfo/blob/master/src/main/webapp/WEB-INF/web.xml IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process - Key: WICKET-5371 URL: https://issues.apache.org/jira/browse/WICKET-5371 Project: Wicket Issue Type: Bug Components: wicket-atmosphere Affects Versions: 6.10.0 Reporter: Vojtěch Krása Assignee: Emond Papegaaij I never reproduced it on local, it happens a lot on linux server behind apache proxy(could be just coincidence). I could try to debug it, if you have no idea why it could happen. It also seems that it happens only after server is running for some time. I am sending multiple events to update different panels from asynchronous process like this: EventBus.get(Application.get(WicketApplication.class.getName())).post(new ComponentBuildEvent()); 15:16:36 ERROR o.a.w.DefaultExceptionMapper [refreshExecutor-4]: - Unexpected error occurred java.lang.IllegalArgumentException: Argument 'page' may not be null. at org.apache.wicket.util.lang.Args.notNull(Args.java:41) ~[wicket-util-6.10.0.jar:6.10.0] at org.apache.wicket.ajax.AjaxRequestHandler.init(AjaxRequestHandler.java:112) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:961) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication$DefaultAjaxRequestTargetProvider.get(WebApplication.java:954) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.protocol.http.WebApplication.newAjaxRequestTarget(WebApplication.java:805) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.AtmosphereRequestHandler.respond(AtmosphereRequestHandler.java:69) ~[wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:861) ~[wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) ~[wicket-request-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) [wicket-core-6.10.0.jar:6.10.0] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:368) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.postToSingleResource(EventBus.java:344) [wicket-atmosphere-0.13.jar:0.13] at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:319) [wicket-atmosphere-0.13.jar:0.13] at krasa.build.backend.facade.AsyncService.sendRefresh(AsyncService.java:28) [classes/:na] at krasa.build.backend.facade.AsyncService$$FastClassByCGLIB$$8fb726ed.invoke(generated) [spring-core-3.2.3.RELEASE.jar:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) [spring-core-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:89) [spring-aop-3.2.3.RELEASE.jar:3.2.3.RELEASE] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0_03] at java.util.concurrent.FutureTask.run(FutureTask.java:166) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0_03] at java.lang.Thread.run(Thread.java:722) [na:1.7.0_03] sometimes it even shows me this page, unfortunatelly I only found out later in not used tabs: http://svn.tmdev:8765/wicket/page?23 Unexpected RuntimeException Last cause: Argument 'page' may not be null. Stacktrace Root cause: java.lang.IllegalArgumentException: Argument 'page' may not be null.
[jira] [Commented] (WICKET-5321) Incorporate Wicket Guide into website
[ https://issues.apache.org/jira/browse/WICKET-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13783014#comment-13783014 ] Martijn Dashorst commented on WICKET-5321: -- Re: versioning I think it is better to inline the differences in the reference guide for different versions rather than branch it out. Most text is reusable and only some examples will become different. This way the reference guide can also function as a migration guide. On the other hand, a migration guide would be easier as one chapter. Basically I'd rather have us focus on one guide and make it high quality than on 3 versions of the guide and do a mediocre job of maintaining it. Incorporate Wicket Guide into website - Key: WICKET-5321 URL: https://issues.apache.org/jira/browse/WICKET-5321 Project: Wicket Issue Type: Bug Components: site Reporter: Martijn Dashorst Attachments: grails-generator.zip, Wicket free guide_asf.odt, Wicket free guide.odt Andrea del Bene has donated the Wicket Guide to the Apache Software Foundation. This issue will track the progress into incorporating the document into our website. -- This message was sent by Atlassian JIRA (v6.1#6144)
git commit: WICKET-5297 Animate ajax DOM manipulation smoothly
Updated Branches: refs/heads/WICKET-5297-ajax-repaint-with-animation 00cbf54d8 - 881f1a9b7 WICKET-5297 Animate ajax DOM manipulation smoothly Re-order automatically any Effect JavaScript so the one with the longest duration is executed last and has notify=true, so any following JavaScripts should wait for it. Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/881f1a9b Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/881f1a9b Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/881f1a9b Branch: refs/heads/WICKET-5297-ajax-repaint-with-animation Commit: 881f1a9b7e0ece194cb23f4b945773effbe56f4e Parents: 00cbf54 Author: Martin Tzvetanov Grigorov mgrigo...@apache.org Authored: Tue Oct 1 16:58:19 2013 +0200 Committer: Martin Tzvetanov Grigorov mgrigo...@apache.org Committed: Tue Oct 1 16:58:19 2013 +0200 -- .../apache/wicket/ajax/AjaxRequestHandler.java | 59 +- .../org/apache/wicket/ajax/XmlAjaxResponse.java | 24 +++- .../ajax/effects/DisplayNoneBehavior.java | 16 + .../org/apache/wicket/ajax/effects/Effect.java | 65 +--- .../org/apache/wicket/ajax/effects/Effects.java | 21 ++- 5 files changed, 171 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/wicket/blob/881f1a9b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java -- diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java index 3c6faf1..ba67bb8 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java @@ -18,6 +18,7 @@ package org.apache.wicket.ajax; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; import java.util.HashSet; import java.util.LinkedList; import java.util.List; @@ -28,6 +29,7 @@ import org.apache.wicket.Application; import org.apache.wicket.Component; import org.apache.wicket.MarkupContainer; import org.apache.wicket.Page; +import org.apache.wicket.ajax.effects.Effect; import org.apache.wicket.core.request.handler.PageProvider; import org.apache.wicket.core.request.handler.RenderPageRequestHandler; import org.apache.wicket.core.request.handler.logger.PageLogData; @@ -169,11 +171,66 @@ public class AjaxRequestHandler implements AjaxRequestTarget listenersFrozen = false; } - }; + + addListener(new EffectsListener()); + } + + /** +* A listener that reorders any Effect prepend/append JavaScripts. +* It also sets notify = true to the last effect. This way any other JavaScripts +* should wait the effect to finish to be executed. +*/ + private class EffectsListener extends AbstractListener + { + @Override + public void onBeforeRespond(MapString, Component map, AjaxRequestTarget target) + { + super.onBeforeRespond(map, target); + + Collections.sort(responseObject.prependJavaScripts, new EffectComparator()); + notifyLast(responseObject.prependJavaScripts); + + Collections.sort(responseObject.appendJavaScripts, new EffectComparator()); + notifyLast(responseObject.appendJavaScripts); + } + + private void notifyLast(ListCharSequence effects) + { + if (effects != null effects.isEmpty() == false) + { + for (int i = effects.size() - 1; i = 0; i--) + { + CharSequence sequence = effects.get(i); + if (sequence instanceof Effect) + { + ((Effect) sequence).setNotify(true); + break; + } + } + } + } } /** +* Used to re-order the Effect append/prepend JavaScripts +*/ + private static class EffectComparator implements ComparatorCharSequence + { + @Override + public int compare(CharSequence o1, CharSequence o2) + { + if (o1 instanceof Effect o2 instanceof Effect) + { + Effect e1 = (Effect) o1; +
[jira] [Updated] (WICKET-5297) Animate ajax DOM manipulation smoothly
[ https://issues.apache.org/jira/browse/WICKET-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin Grigorov updated WICKET-5297: Attachment: wicket6-replace-with-effect.tgz 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, 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)
[jira] [Commented] (WICKET-5297) Animate ajax DOM manipulation smoothly
[ https://issues.apache.org/jira/browse/WICKET-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13783025#comment-13783025 ] Martin Grigorov commented on WICKET-5297: - OK. I added some logic to handle 'notify' property automatically. Now the longest animation will have notify=true. I've also updated the demo app with the new API. 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, 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)
[jira] [Commented] (WICKET-5321) Incorporate Wicket Guide into website
[ https://issues.apache.org/jira/browse/WICKET-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13783057#comment-13783057 ] Paul Bors commented on WICKET-5321: --- Then having the guide against the latest version is fine as long as for each migration there is a chapter (or at least migrating from the last major version). My first migration was from a Wicket 1.3.x to 1.5.x and I had to read all migration wiki pages that I aggregated into a single doc and spread it out into different tasks that my team and I had to go through to migrate over the entire project. Wasn't a pleasant mini-project but we did it! I'm not sure if the migration doc really belongs in this guide because of 2 reasons I can think of: # That chapter on migrating will keep growing over time What would happen with older migration guides? # It would be harder for the community to add new sections to the migration as they run into them A wiki is easier to edit and contribute to that this guide that requires code to be checked out, create patches, push requests and etc. Incorporate Wicket Guide into website - Key: WICKET-5321 URL: https://issues.apache.org/jira/browse/WICKET-5321 Project: Wicket Issue Type: Bug Components: site Reporter: Martijn Dashorst Attachments: grails-generator.zip, Wicket free guide_asf.odt, Wicket free guide.odt Andrea del Bene has donated the Wicket Guide to the Apache Software Foundation. This issue will track the progress into incorporating the document into our website. -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Created] (WICKET-5383) AutoCompleteTextField not positionned correctly
Antoine Dupuis created WICKET-5383: -- Summary: AutoCompleteTextField not positionned correctly Key: WICKET-5383 URL: https://issues.apache.org/jira/browse/WICKET-5383 Project: Wicket Issue Type: Bug Components: wicket-extensions Affects Versions: 6.11.0 Reporter: Antoine Dupuis Priority: Minor Hello, I recently upgraded to wicket 6.11.0 because I needed WICKET-5315 to fix a problem with AjaxFormComponentUpdatingBehavior not being properly triggered on an AutoCompleteTextField redrawn via ajax. However, it seems another fix released in this version, WICKET-5343, is now interfering with the position of the choices list : they are now located a few hundred pixels away from their input. This behavior is consistent across all major browsers. I took a quick look at the JavaScript code of this component to check if I could fix this, but honestly I found it far too complex to be edited and maintained without side effects. I had to revert the 6.11.0 code back to the 6.10.0 version to get the input working properly again. The main problem I see here is that this component is so complex that any change in its code is likely to break it for a few people. How do you propose to address such issues ? Furthermore, shouldn't such JavaScript matters be delegated to 3rd party libraries, such as jQuery's position() ? -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Updated] (WICKET-5383) AutoCompleteTextField not positionned correctly
[ https://issues.apache.org/jira/browse/WICKET-5383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Antoine Dupuis updated WICKET-5383: --- Description: Hello, I recently upgraded to wicket 6.11.0 because I needed WICKET-5315 to fix a problem with AjaxFormComponentUpdatingBehavior not being properly triggered on an AutoCompleteTextField redrawn via ajax. However, it seems another fix released in this version, WICKET-5343, is now interfering with the position of the choices list : they are now located a few hundred pixels away from their input. This behavior is consistent across all major browsers. I took a quick look at the JavaScript code of this component to check if I could fix this, but honestly I found it far too complex to be edited and maintained without side effects. I had to revert the 6.11.0 code back to the 6.10.0 version to get the input working properly again. The main problem I see here is that this component is so complex that any change in its code is likely to break it for a few people. How do you propose to address this issue ? Shouldn't such JavaScript matters be delegated to 3rd party libraries, such as jQuery UI position() ? was: Hello, I recently upgraded to wicket 6.11.0 because I needed WICKET-5315 to fix a problem with AjaxFormComponentUpdatingBehavior not being properly triggered on an AutoCompleteTextField redrawn via ajax. However, it seems another fix released in this version, WICKET-5343, is now interfering with the position of the choices list : they are now located a few hundred pixels away from their input. This behavior is consistent across all major browsers. I took a quick look at the JavaScript code of this component to check if I could fix this, but honestly I found it far too complex to be edited and maintained without side effects. I had to revert the 6.11.0 code back to the 6.10.0 version to get the input working properly again. The main problem I see here is that this component is so complex that any change in its code is likely to break it for a few people. How do you propose to address this issue ? Shouldn't such JavaScript matters be delegated to 3rd party libraries, such as jQuery's position() ? AutoCompleteTextField not positionned correctly --- Key: WICKET-5383 URL: https://issues.apache.org/jira/browse/WICKET-5383 Project: Wicket Issue Type: Bug Components: wicket-extensions Affects Versions: 6.11.0 Reporter: Antoine Dupuis Priority: Minor Hello, I recently upgraded to wicket 6.11.0 because I needed WICKET-5315 to fix a problem with AjaxFormComponentUpdatingBehavior not being properly triggered on an AutoCompleteTextField redrawn via ajax. However, it seems another fix released in this version, WICKET-5343, is now interfering with the position of the choices list : they are now located a few hundred pixels away from their input. This behavior is consistent across all major browsers. I took a quick look at the JavaScript code of this component to check if I could fix this, but honestly I found it far too complex to be edited and maintained without side effects. I had to revert the 6.11.0 code back to the 6.10.0 version to get the input working properly again. The main problem I see here is that this component is so complex that any change in its code is likely to break it for a few people. How do you propose to address this issue ? Shouldn't such JavaScript matters be delegated to 3rd party libraries, such as jQuery UI position() ? -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Updated] (WICKET-5383) AutoCompleteTextField not positionned correctly
[ https://issues.apache.org/jira/browse/WICKET-5383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Antoine Dupuis updated WICKET-5383: --- Description: Hello, I recently upgraded to wicket 6.11.0 because I needed WICKET-5315 to fix a problem with AjaxFormComponentUpdatingBehavior not being properly triggered on an AutoCompleteTextField redrawn via ajax. However, it seems another fix released in this version, WICKET-5343, is now interfering with the position of the choices list : they are now located a few hundred pixels away from their input. This behavior is consistent across all major browsers. I took a quick look at the JavaScript code of this component to check if I could fix this, but honestly I found it far too complex to be edited and maintained without side effects. I had to revert the 6.11.0 code back to the 6.10.0 version to get the input working properly again. The main problem I see here is that this component is so complex that any change in its code is likely to break it for a few people. How do you propose to address this issue ? Shouldn't such JavaScript matters be delegated to 3rd party libraries, such as jQuery's position() ? was: Hello, I recently upgraded to wicket 6.11.0 because I needed WICKET-5315 to fix a problem with AjaxFormComponentUpdatingBehavior not being properly triggered on an AutoCompleteTextField redrawn via ajax. However, it seems another fix released in this version, WICKET-5343, is now interfering with the position of the choices list : they are now located a few hundred pixels away from their input. This behavior is consistent across all major browsers. I took a quick look at the JavaScript code of this component to check if I could fix this, but honestly I found it far too complex to be edited and maintained without side effects. I had to revert the 6.11.0 code back to the 6.10.0 version to get the input working properly again. The main problem I see here is that this component is so complex that any change in its code is likely to break it for a few people. How do you propose to address such issues ? Furthermore, shouldn't such JavaScript matters be delegated to 3rd party libraries, such as jQuery's position() ? AutoCompleteTextField not positionned correctly --- Key: WICKET-5383 URL: https://issues.apache.org/jira/browse/WICKET-5383 Project: Wicket Issue Type: Bug Components: wicket-extensions Affects Versions: 6.11.0 Reporter: Antoine Dupuis Priority: Minor Hello, I recently upgraded to wicket 6.11.0 because I needed WICKET-5315 to fix a problem with AjaxFormComponentUpdatingBehavior not being properly triggered on an AutoCompleteTextField redrawn via ajax. However, it seems another fix released in this version, WICKET-5343, is now interfering with the position of the choices list : they are now located a few hundred pixels away from their input. This behavior is consistent across all major browsers. I took a quick look at the JavaScript code of this component to check if I could fix this, but honestly I found it far too complex to be edited and maintained without side effects. I had to revert the 6.11.0 code back to the 6.10.0 version to get the input working properly again. The main problem I see here is that this component is so complex that any change in its code is likely to break it for a few people. How do you propose to address this issue ? Shouldn't such JavaScript matters be delegated to 3rd party libraries, such as jQuery's position() ? -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (WICKET-5321) Incorporate Wicket Guide into website
[ https://issues.apache.org/jira/browse/WICKET-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13783106#comment-13783106 ] Andrea Del Bene commented on WICKET-5321: - Thank you for your work to put the guide online! About versioning: I think that it would be better to create branches/tags for different version as I also don't think that a migration guide should be part of the user guide. About setup: it would be grate if we could implement the third option proposed by Martijn. Incorporate Wicket Guide into website - Key: WICKET-5321 URL: https://issues.apache.org/jira/browse/WICKET-5321 Project: Wicket Issue Type: Bug Components: site Reporter: Martijn Dashorst Attachments: grails-generator.zip, Wicket free guide_asf.odt, Wicket free guide.odt Andrea del Bene has donated the Wicket Guide to the Apache Software Foundation. This issue will track the progress into incorporating the document into our website. -- This message was sent by Atlassian JIRA (v6.1#6144)