<html>
<head>
</head>
<body class='hmmessage'><div dir='ltr'>

<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style>
<div dir="ltr">Here's a little demo that should illustrate what you're attempting to do:<div><br></div><div>==============</div><div><div><span style="font-size: 12pt;">WAComponent &nbsp;&gt;&nbsp;</span>IndexComponent</div><div>==============</div><div>Class &gt;&nbsp;canBeRoot</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>^true.</div><div><div>Instance &gt; renderContentOn: html</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>html div</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>id: 'parent';</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>with: ChildA new.</div><div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>html paragraph &nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>id: 'hiddenComponent';</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>style: 'display: none;';</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>with: 'I was hidden! But no longer!'.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>html button</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>bePush;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>" using a script returned from the server (in this case, it's inline, but it could be a method call) via AJAX "</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>" the #fadeOut: method is exactly the same as the jQuery docs. it's signature is fadeOut( [ duration Number ][, callback Function ] )"</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>onClick: ( (html jQuery: '#parent') children first fadeOut: 1 second callback: ( html jQuery ajax script: [ :s | s add: ( (s jQuery: '#parent') html: ChildB new ) ] ) );</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>value: 'Replace component via AJAX'.</div><div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>html break.</div><div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>html button</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>bePush;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>" notice this is using JQAnimate to do the same thing "</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>" also notice that if you use this twice in the demo, the other two buttons won't load anything because there is no longer a child in #parent "</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>onClick: ( (html jQuery: '#parent') children first animate opacity: 0; duration: 1 second; onComplete: ( (html jQuery: '#parent') empty, (html jQuery: '#hiddenComponent') appendTo: (html jQuery: '#parent'); fadeIn: 1 second ) );</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>value: 'Move hidden component and show it'.</div><div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>html break.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>html button</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>bePush;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>" this one just inserts some pre-rendered content "</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>onClick: ( (html jQuery: '#parent') children first fadeOut: 1 second callback: ( (html jQuery: '#parent') html: [ :r | r paragraph: 'blah blah' ] ) );</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>value: 'Replace component with static content'.</div></div><div><br></div><div><div><span style="font-size: 12pt;">Instance &nbsp;&gt;&nbsp;</span>updateRoot: html</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>super updateRoot: html.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>html title: 'Fade out child component in parent with a different child.'.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>html javascript url: 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'.</div></div><div><br></div><div>=======</div><div><span style="font-size: 12pt;">WAComponent &nbsp;&gt;&nbsp;</span>ChildA</div><div>=======</div><div><span style="font-size: 12pt;">Instance &nbsp;&gt;&nbsp;</span>renderContentOn: html</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>html paragraph: 'Child A'.</div><div><br></div><div>======</div><div>WAComponent &gt; ChildB</div><div>======</div><div><div><span style="font-size: 12pt;">Instance &nbsp;&gt;&nbsp;</span>renderContentOn: html</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>html paragraph: 'Child B'.</div></div><div><br></div><div>RS</div><div><hr id="stopSpelling">From: watchlala@hotmail.com<br>To: seaside@lists.squeakfoundation.org<br>Subject: RE: [Seaside] A welcome; and chaining jQuery events<br>Date: Tue, 15 Oct 2013 13:34:19 -0600<br><br>

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}

--></style>
<div dir="ltr">You should be able to&nbsp;cascade&nbsp;an&nbsp;#onComplete block to&nbsp;the JQAnimate object.&nbsp;I have a bunch of code&nbsp;at home I can&nbsp;send you&nbsp;later, but it should look something like this:<br>
&nbsp;<br>
(html jQuery: id)&nbsp;fadeOut: 0.5; onComplete: (html jQuery: id) ....<br>
&nbsp;<br>
Check out the examples as well: <a href="http://demo.seaside.st/javascript/jquery/animations" target="_blank">http://demo.seaside.st/javascript/jquery/animations</a><br>
&nbsp;<br>
RS<br>&nbsp;<br>
<div>&gt; From: wojtekk@kofeina.net<br>&gt; Date: Tue, 15 Oct 2013 16:46:00 +0200<br>&gt; Subject: Re: [Seaside] A welcome; and chaining jQuery events<br>&gt; To: seaside@lists.squeakfoundation.org<br>&gt; <br>&gt; Hi,<br>&gt; this is obvious, isn't it? Now how to do this not leaving Smalltalk<br>&gt; and not introducing literal javascript?<br>&gt; <br>&gt; W.<br>&gt; <br>&gt; On Tue, Oct 15, 2013 at 4:38 PM, Karsten Kusche &lt;karsten@heeg.de&gt; wrote:<br>&gt; &gt; try the documentation:<br>&gt; &gt;<br>&gt; &gt; http://api.jquery.com/fadeout/ there's an options parameter that you can<br>&gt; &gt; pass to fadeout. In that dictionary you can specify a done-function.<br>&gt; &gt;<br>&gt; &gt; Kind Regards<br>&gt; &gt; Karsten<br>&gt; &gt;<br>&gt; &gt; --<br>&gt; &gt; Karsten Kusche - Dipl. Inf. (FH) - karsten@heeg.de<br>&gt; &gt; Georg Heeg eK - Köthen<br>&gt; &gt; Handelsregister: Amtsgericht Dortmund A 12812<br>&gt; &gt;<br>&gt; &gt; Am Dienstag, 15. Oktober 2013 um 16:04 schrieb Wojciech Kaczmarek:<br>&gt; &gt;<br>&gt; &gt; Hello,<br>&gt; &gt;<br>&gt; &gt; I'd like to welcome everyone on this list. I was playing with Seaside<br>&gt; &gt; many years ago and I'm very glad to see it not only survived but being<br>&gt; &gt; still active and evolving :)<br>&gt; &gt;<br>&gt; &gt; Now I'm trying to get my head around the idea of interactive web<br>&gt; &gt; components I always wanted to have in a library. Looks like with some<br>&gt; &gt; creativity and discipline Seaside may be the platform it's possible to<br>&gt; &gt; have such thing on.<br>&gt; &gt;<br>&gt; &gt; I am experimenting now with giving the components visual behavior via<br>&gt; &gt; jquery effects. Say I want to: fade out some dom element, then replace<br>&gt; &gt; it with another and fade in this new one. My tries now boil down to a<br>&gt; &gt; very specific question:<br>&gt; &gt;<br>&gt; &gt; How to properly chain jQuery effects?<br>&gt; &gt;<br>&gt; &gt; If I do something like:<br>&gt; &gt;<br>&gt; &gt; html fooElement<br>&gt; &gt; id: id;<br>&gt; &gt; onClick: (html jQuery ajax script: [ :s |<br>&gt; &gt; s &lt;&lt; (s jQuery: id) fadeOut: 2 seconds.<br>&gt; &gt; s &lt;&lt; (s jQuery: id) parent html: OtherFoo new.<br>&gt; &gt; ]<br>&gt; &gt;<br>&gt; &gt; then the fade-out action will be fired -- meaning: started, but then<br>&gt; &gt; the dom replacement will be also fired right-away, effectively<br>&gt; &gt; replacing the element being faded out.<br>&gt; &gt; I need a method for chaining actions - not only pre-existing effects<br>&gt; &gt; but also dom manipulation, and, ideally, any javascript, so that one<br>&gt; &gt; is starting upon completion of another.<br>&gt; &gt; I realize it'd require to have some Seaside API over what goes into js<br>&gt; &gt; complete() callback handlers - is there anything like this, possibly<br>&gt; &gt; undocumented?<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; cheers,<br>&gt; &gt;<br>&gt; &gt; Wojtek<br>&gt; _______________________________________________<br>&gt; seaside mailing list<br>&gt; seaside@lists.squeakfoundation.org<br>&gt; http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside<br></div>                                               </div>
<br>_______________________________________________
seaside mailing list
seaside@lists.squeakfoundation.org
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</div></div></div>
                                               </div></body>
</html>