Here's the more readable version - corrected with help form Richard at
JWeekend... This is the easiest way to do the animation either side of
the Wicket replace function that I know of... If someone would like to
wrap this up into a nice behaviour for the Scriptaculous wicketstuff
library be my guest :) I probably will eventually if we get back to
the project that uses it.
<script type="text/javascript"><!--
var oldF = Wicket.replaceOuterHtml
Wicket.replaceOuterHtml=function(element, text) {
var parent = $(element.id).parentNode;
// the disappear animation
$(element.id).fade({ duration: 0.4, afterFinish: function(effect) {
// call replace function
oldF(element, text)
// render the appear animtion on the replaced element
$(element.id).appear({ duration: 0.4});
}});
}
--></script>
Cheers,
Antony Stubbs,
sharca.com
On 29/07/2009, at 4:54 AM, Antony Stubbs wrote:
I have a workaround and it goes a little something like this:
<script type="text/
javascript">Wicket.replaceOuterHtml=function(element, text) {
new $(element.id).fade({ duration: 0.4, afterFinish:
function(effect) {
if (Wicket.Browser.isIE()) {
Wicket.replaceOuterHtmlIE(element, text);
} else if (Wicket.Browser.isSafari() ||
Wicket.Browser.isOpera()) {
Wicket.replaceOuterHtmlSafari(element, text);
} else /* GECKO */ {
// create range and fragment
var range = element.ownerDocument.createRange();
range.selectNode(element);
var fragment =
range.createContextualFragment(text);
element.parentNode.replaceChild(fragment, element);
}
$(element.id).appear({ duration: 0.4});
}});
}
</script>
Putting that at the top of the html overrides the wicket function,
adds in a javascript effect, then using the onFinish hook, runs the
original Wicket code, the precedes with another effect. This makes
the effects run immediately after the ajax call has completed...
This adds a fade transition every time wicket replaces a dom
element. A better version would allow you to do it with some hooks,
passing in your transition functions.
2009/7/28 Antony Stubbs <antony.stu...@gmail.com>
(sorry, sent to wrong list before)
Is it possible to override certain methods in wicketajax.js ? In
order to modify the behaviour of one of the methods.
but i'd prefer not to run a patched wicket, or have to run on a copy
of the whole wicketajax.js file - but i will if i have to :/
what i want to do is add pre and post hooks
processComponent#Wicket.replaceOuterHtml function - as this will
solve what I want to do - i.e. run an animation on the element to be
replaced, after the ajax call completes, but before the element is
replaced.
p.s. martijn, is there any info available on the plan for the new
ajax system?
I just found - there is a post animation hook in Scriptaculous,
which I have working to run the ajax request in, however this
doesn't quite get there, as there's is of course the delay between
when the animation finishes, and when the ajax request actually
completes - which is too long.
Update:
I've tried overriding the js functions like this:
<script type="text/javascript">
function newProcessComponent: function(steps, node) {
alert('replaced!');
}
Wicket.Ajax.Call.prototype.processComponent = newProcessComponent
</script>
<script type="text/javascript">Wicket.replaceOuterHtml=function()
{alert('replaceOuterHtml');}</script>
<script type="text/
javascript">Wicket.Ajax.Call.prototype.processComponent:
function(steps, node) {{alert('processComponent');}</script>
but only the replaceOuterHtml functions works, i think because the
there's a difference because processComponent is a member of an
object...
I need to replace processComponent so that I can have access to the
Cheers,
Antony Stubbs,
sharca.com
On 27/07/2009, at 9:31 PM, Martijn Dashorst wrote:
Not 100% sure if it's already done, but I've bugged Matej with this
request for 1.5's new Ajax implementation.
Martijn
On Mon, Jul 27, 2009 at 9:40 AM, Antony Stubbs<antony.stu...@gmail.com
> wrote:
Was this ever implemented / solved?:
Nov 21, 2006; 07:09am Re: Using Javascript Effects Before An Ajax
Call
This is possible to do with wicket, however it would require minor
enhancement of the ajax processing code.
We already have infrastructure for asynchronously postponing
processing
steps.
However, I can't do that right now. Maybe in a week or so. So if
anyone
really needs to pause between executing scripts from
"prependJavascript"
and replacing the elements (which is I understand right this is all
about), keep bugging me, I will eventually implement that. :)
-Matej
cygnusx2112 wrote:
Thanks for the clarification Igor. I ended up achieving the
desired affect
by
using an AjaxCallDecarator in combination with a server side pause.
Basically I was trying to do the following:
1) Run animation effect on element
2) Use Ajax request to replace element
3) Run another animation effect on the element
As you noticed, I needed a way to block so that #2 and #3 would
not step
on
#1. As a non-Javascript guru I was unable to find a way to block
the
Javascript "thread" without some kind of CPU beating hack loop.
However,
the
solution I am using seems to work well.
In my efforts to accomplish this I have built some pretty
interesting
subclasses of AjaxEventBehavior that might be worth contributing.
They
basically allow you to cleanly add pre/post visual effects to
components
around an Ajax event.
Regards,
-MT
igor.vaynberg wrote:
....the effect is clearly executed asynchronously from the rest
of the
javascript "thread" so you need to find a way to block until the
effect
is
complete.
-igor
... [show rest of quote]
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to
share your
opinions on IT & business topics through brief surveys - and earn
cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-user mailing list
wicket-u...@...
https://lists.sourceforge.net/lists/listinfo/wicket-user
Cheers,
Antony Stubbs,
sharca.com
--
Become a Wicket expert, learn from the best: http://
wicketinaction.com
Apache Wicket 1.3.5 is released
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
--
___________________________
http://stubbisms.wordpress.com/