[Seaside] Re: Re: Ajax callback question: how to update componenttreebefore #children gets called?

itsme213 itsme213 at hotmail.com
Fri Feb 8 11:01:51 UTC 2008


"Lukas Renggli" <renggli at gmail.com> wrote in message

> The question is, does your code works without AJAX?

Yes, it works without Ajax, and fails with Ajax.

I just made a test (attached fileout) of child component modifying parent 
component structure.
- Seaside 2.8 + SU, Squeak 3.9
- Hacks TheTabTestPanel as a global for the test
- Try non-Ajax link, then click on tabs;
- Try Ajax-links, then click on tabs. Only difference is Ajax.

Thanks - Sophie 


begin 666 C1C2.st
M3V)J96-T('-U8F-L87-S.B C04I486(-"6EN<W1A;F-E5F%R:6%B;&5.86UE
M<SH@)VQA8F5L(&-O;7!O;F5N="<-"6-L87-S5F%R:6%B;&5.86UE<SH@)R<-
M"7!O;VQ$:6-T:6]N87)I97,Z("<G#0EC871E9V]R>3H@)T,Q0S(G(0T-(4%*
M5&%B(&UE=&AO9'-&;W(Z("=A8V-E<W-I;F<G('-T86UP.B G<VD@,2\Q-R\R
M,# X(#$Y.C(R)R$-8V]M<&]N96YT#0E>(&-O;7!O;F5N="$@(0T-(4%*5&%B
M(&UE=&AO9'-&;W(Z("=A8V-E<W-I;F<G('-T86UP.B G<VD@,2\Q-R\R,# X
M(#$Y.C(R)R$-8V]M<&]N96YT.B!A;D]B:F5C=" -"6-O;7!O;F5N=" Z/2!A
M;D]B:F5C="$@(0T-(4%*5&%B(&UE=&AO9'-&;W(Z("=A8V-E<W-I;F<G('-T
M86UP.B G<VD@,2\Q-R\R,# X(#$Y.C(R)R$-;&%B96P-"5X@;&%B96PA("$-
M#2%!2E1A8B!M971H;V1S1F]R.B G86-C97-S:6YG)R!S=&%M<#H@)W-I(#$O
M,3<O,C P." Q.3HR,B<A#6QA8F5L.B!A;D]B:F5C=" -"6QA8F5L(#H](&%N
M3V)J96-T(2 A#0T,#5=!0V]M<&]N96YT('-U8F-L87-S.B C04I486)086YE
M; T):6YS=&%N8V5687)I86)L94YA;65S.B G:60@=&%B<R!S96QE8W1E9"<-
M"6-L87-S5F%R:6%B;&5.86UE<SH@)R<-"7!O;VQ$:6-T:6]N87)I97,Z("<G
M#0EC871E9V]R>3H@)T,Q0S(G(0T-(4%*5&%B4&%N96P@;65T:&]D<T9O<CH@
M)V%S('EE="!U;F-L87-S:69I960G('-T86UP.B G<VD@,B\W+S(P,#@@,C$Z
M-3,G(0UA9&0Z(&%#;VUP;VYE;G0@;&%B96PZ(&QA8F5L3W)";&]C:PT)?"!T
M86(@? T)=&%B(#H]($%*5&%B(&YE=PT)"6QA8F5L.B!L86)E;$]R0FQO8VL@
M.PT)"6-O;7!O;F5N=#H at 84-O;7!O;F5N=" [#0D)>6]U<G-E;&8N#0ET86)S
M(&%D9#H@=&%B+ at T)<V5L9B!S96QE8W1E9#H@=&%B(2 A#0TA04I486)086YE
M;"!M971H;V1S1F]R.B G87,@>65T('5N8VQA<W-I9FEE9"<@<W1A;7 Z("=S
M:2 R+S at O,C P." P,3HS-B<A#6-H:6QD<F5N#0E\(&MI9',@? T):VED<R Z
M/2!!<G)A>2!W:71H.B!S96QF('-E;&5C=&5D(&-O;7!O;F5N="X-"5X@:VED
M<R$@(0T-(4%*5&%B4&%N96P@;65T:&]D<T9O<CH@)V%S('EE="!U;F-L87-S
M:69I960G('-T86UP.B G<VD@,B\W+S(P,#@@,C,Z,34G(0UI9 T)7B!I9"$@
M(0T-(4%*5&%B4&%N96P@;65T:&]D<T9O<CH@)V%S('EE="!U;F-L87-S:69I
M960G('-T86UP.B G<VD@,B\W+S(P,#@@,C$Z-#4G(0UI;FET:6%L:7IE#0ES
M=7!E<B!I;FET:6%L:7IE+ at T)=&%B<R Z/2!/<F1E<F5D0V]L;&5C=&EO;B!N
M97<N#2$@(0T-(4%*5&%B4&%N96P@;65T:&]D<T9O<CH@)V%S('EE="!U;F-L
M87-S:69I960G('-T86UP.B G<VD@,2\Q-R\R,# X(#$Y.C$S)R$-<F5M;W9E
M5&%B.B!A5&%B#0DH=&%B<R!S:7IE(#X@,2D@:694<G5E.B!;=&%B<R!R96UO
M=F4Z(&%486)=+ at T)*'-E;&5C=&5D(#T](&%486(I(&EF5')U93H at 6PT)"7-E
M;&5C=&5D(#H](&YI;"X-"0ES96QF('-E;&5C=&5D(%TA("$-#2%!2E1A8E!A
M;F5L(&UE=&AO9'-&;W(Z("=A<R!Y970@=6YC;&%S<VEF:65D)R!S=&%M<#H@
M)W-I(#(O-R\R,# X(#(S.C$T)R$-<F5N9&5R0F]D>4]N.B!H=&UL#0EH=&UL
M('5N;W)D97)E9$QI<W0-"0EC;&%S<SH@)W1A8FYA=B<[#0D):60Z(&ED("P@
M)U]T86)S)R [#0D)=VET:#H@#0D)"5L@<V5L9B!R96YD97)486)S3VXZ(&AT
M;6Q=+ at T):'1M;"!D:78-"0EC;&%S<SH@)V)O9'DG.PT)"7=I=&@Z(%MS96QF
M('-E;&5C=&5D(&EF3F]T3FEL.B!;(&AT;6P@<F5N9&5R.B!S96QF('-E;&5C
M=&5D(&-O;7!O;F5N="!=72X-(2 A#0TA04I486)086YE;"!M971H;V1S1F]R
M.B G87,@>65T('5N8VQA<W-I9FEE9"<@<W1A;7 Z("=S:2 R+S<O,C P." R
M,SHQ,"<A#7)E;F1E<D-O;G1E;G1/;CH@:'1M;" -"6AT;6P at 9&EV#0D):60Z
M("AI9" Z/2!H=&UL(&YE>'1)9"D at .PT)"6-L87-S.B G=&%B<&%N96PG(#L-
M"0EW:71H.B -"0D)6R!S96QF(')E;F1E<D)O9'E/;CH@:'1M;"!=(2 A#0TA
M04I486)086YE;"!M971H;V1S1F]R.B G87,@>65T('5N8VQA<W-I9FEE9"<@
M<W1A;7 Z("=S:2 R+S at O,C P." P,3HS-B<A#7)E;F1E<E1A8G-/;CH@:'1M
M; T)=&%B<R!D;SH@#0D)6R Z(&5A8V@@?" -"0EH=&UL(&QI<W1)=&5M#0D)
M"6-L87-S.B G=&%B)R L("@H<V5L9B!S96QE8W1E9" ]/2!E86-H*0EI9E1R
M=64Z(%L@)R!A8W1I=F4G(%T@:69&86QS93H at 6R G)R!=*2 [#0D)"7=I=&@Z
M( T)"0D)6R!H=&UL('-P86XZ( T)"0D)"5MH=&UL(&%N8VAO<@T)"0D)"6]N
M0VQI8VLZ("AH=&UL('5P9&%T97(@:60Z(&ED(#L-"0D)"0D)"6-A;&QB86-K
M.B!;(#H@<B!\( T)"0D)"0D)"7-E;&8@<V5L96-T960Z(&5A8V at N#0D)"0D)
M"0D)<V5L9B!R96YD97)";V1Y3VXZ(&AT;6Q=*2 [#0D)"0D)=VET:#H at 96%C
M:"!L86)E;"!V86QU92X-"0D)"6AT;6P at 86YC:&]R#0D)"0D);VY#;&EC:SH@
M*&AT;6P@=7!D871E<B!I9#H@:60 at +" G7W1A8G,G(#L-"0D)"0D)8V%L;&)A
M8VLZ(%L at .B!R('P@#0D)"0D)"0D)<V5L9B!R96UO=F5486(Z(&5A8V at N#0D)
M"0D)"0D)<V5L9B!R96YD97)486)S3VXZ(&AT;6Q=*2 [#0D)"0D)=VET:#H@
M)W at G(%U=72$@(0T-(4%*5&%B4&%N96P@;65T:&]D<T9O<CH@)V%S('EE="!U
M;F-L87-S:69I960G('-T86UP.B G<VD@,2\Q-R\R,# X(#(R.C,Y)R$-<F5S
M>6YC#0E\(&-O;7 @? T)<V5L9B!S96QE8W1E9"!I9DYO=$YI;#H at 6R H8V]M
M<" Z/2!S96QE8W1E9"!C;VUP;VYE;G0I( T)"6EF3F]T3FEL.B!;("AC;VUP
M(')E<W!O;F1S5&\Z("-R97-Y;F,I(&EF5')U93H at 6V-O;7 @<F5S>6YC(%U=
M72$@(0T-(4%*5&%B4&%N96P@;65T:&]D<T9O<CH@)V%S('EE="!U;F-L87-S
M:69I960G('-T86UP.B G<VD@,B\W+S(P,#@@,C,Z,C8G(0US96QE8W1E9 T)
M7B!S96QE8W1E9"!I9DYI;#H at 6W-E;&5C=&5D(#H]("AT86)S(&EF3F]T14%*
M5'DZ(%MT86)S(&9I<G-T72E=(&EF3F]T3FEL.B!;<V5L96-T961=(2 A#0TA
M04I486)086YE;"!M971H;V1S1F]R.B G87,@>65T('5N8VQA<W-I9FEE9"<@
M<W1A;7 Z("=S:2 R+S<O,C P." R,SHR-B<A#7-E;&5C=&5D.B!A5&%B#0ES
M96QE8W1E9" Z/2!A5&%B+ at T)<V5L9B!R97-Y;F,A("$-#0TA04I486)086YE
M;"!M971H;V1S1F]R.B G<F5N9&5R:6YG)R!S=&%M<#H@)W-I(#(O-R\R,# X
M(# P.C,P)R$-<W1Y;&4 at 7B G#0UU;"YT86)N878@>R -"71E>'0M86QI9VXZ
M(&QE9G0[#0EM87)G:6XZ(#%E;2 P(#%E;2 P.PT)9F]N=#H at 8F]L9" Q,7!X
M('9E<F1A;F$L(&%R:6%L+"!S86YS+7-E<FEF.PT)8F]R9&5R+6)O='1O;3H@
M,7!X('-O;&ED(",V8S8[#0EL:7-T+7-T>6QE+71Y<&4Z(&YO;F4[#0EP861D
M:6YG.B S<'@@,3!P>" S<'@@,3!P>#L at +RH@5$A)4D0@;G5M8F5R(&UU<W0@
M8VAA;F=E('=I=&@@<F5S<&5C="!T;R!P861D:6YG+71O<" H6"D at 8F5L;W<@
M*B\-?0T-=6PN=&%B;F%V(#X@;&D@>PT@(" @9&ES<&QA>3H@:6YL:6YE.PU]
M#0TO*B!S971T:6YG<R!F;W(@<V5L96-T960@=&%B("HO#75L+G1A8FYA=B ^
M(&QI+F%C=&EV92![( T@(" @8F]R9&5R+6)O='1O;3H@,7!X('-O;&ED("-F
M9F8[("\J(&)O<F1E<B!C;VQO<B ]('!A9V4 at 8F%C:V=R;W5N9" J+PT@(" @
M8F%C:V=R;W5N9"UC;VQO<CH@(V9F9CL at +RH@8F%C:V=R;W5N9"!C;VQO<B ]
M(&)O<F1E<B!C;VQO<B J+PU]#0TO*B!S971T:6YG<R!F;W(@<V5L96-T960@
M=&%B(&QI;FL@*B\-=6PN=&%B;F%V(#X@;&DN86-T:79E('-P86X@>PT@(" @
M8F%C:V=R;W5N9"UC;VQO<CH@(V9F9CL at +RH@=&%B(&)A8VMG<F]U;F0 at 8V]L
M;W(@9&5S:7)E9" J+PT@(" @8V]L;W(Z(",P,# [("\J('1A8B!L:6YK(&-O
M;&]R(&%S(&1E<VER960@*B\-(" @('!O<VET:6]N.B!R96QA=&EV93L-(" @
M('1O<#H@,7!X.PT@(" @<&%D9&EN9RUT;W Z(#1P>#L at +RH@8VAA;F=E('=I
M=&@@<F5S<&5C="!T;R!P861D:6YG("A8*2!A8F]V92!A;F0 at 8F5L;W<@*B\-
M?0T-+RH@<V5T=&EN9W, at 9F]R(&%L;"!T86(@;&EN:W,@*B\-=6PN=&%B;F%V
M(#X@;&D@<W!A;B![#2 @("!P861D:6YG.B S<'@@-'!X.R O*B!S970@<&%D
M9&EN9R H=&%B('-I>F4I(&%S(&1E<VER960[($9)4E-4(&YU;6)E<B!M=7-T
M(&-H86YG92!W:71H(')E<W!E8W0@=&\@<&%D9&EN9RUT;W @*%@I(&%B;W9E
M("HO#2 @("!B;W)D97(Z(#%P>"!S;VQI9" C-F,V.R O*B!S970 at 8F]R9&5R
M($-/3$]2(&%S(&1E<VER960[('5S=6%L;'D@;6%T8VAE<R!B;W)D97(@8V]L
M;W(@<W!E8VEF:65D(&EN("-T86)N878@*B\-(" @(&)A8VMG<F]U;F0M8V]L
M;W(Z("-C9F,[("\J('-E="!U;G-E;&5C=&5D('1A8B!B86-K9W)O=6YD(&-O
M;&]R(&%S(&1E<VER960@*B\-(" @(&-O;&]R.B C-C8V.R O*B!S970@=6YS
M96QE8W1E9"!T86(@;&EN:R!C;VQO<B!A<R!D97-I<F5D("HO#2 @("!M87)G
M:6XM<FEG:'0Z(#-P>#L at +RH@<V5T(&%D9&ET:6]N86P@<W!A8VEN9R!B971W
M965N('1A8G, at 87, at 9&5S:7)E9" J+PT@(" @8F]R9&5R+6)O='1O;3H@;F]N
M93L-?0T-=6PN=&%B;F%V(&$@>R!T97AT+61E8V]R871I;VXZ(&YO;F4[('T-
M#75L+G1A8FYA=B!S<&%N.FAO=F5R('L at +RH@<V5T=&EN9W, at 9F]R(&AO=F5R
M(&5F9F5C=" J+PT@(" @8F%C:V=R;W5N9#H@(V9F9CL at +RH@<V5T(&1E<VER
M960@:&]V97(@8V]L;W(@*B\-?0T-+RH at 96YD(&-S<R!T86)S("HO#0T-#2<A
M("$-#0P-04I486)086YE;"!S=6)C;&%S<SH@(T%*5&%B4&%N96Q497-T#0EI
M;G-T86YC959A<FEA8FQE3F%M97,Z("<G#0EC;&%S<U9A<FEA8FQE3F%M97,Z
M("<G#0EP;V]L1&EC=&EO;F%R:65S.B G)PT)8V%T96=O<GDZ("=#,4,R)R$-
M#2%!2E1A8E!A;F5L5&5S="!M971H;V1S1F]R.B G87,@>65T('5N8VQA<W-I
M9FEE9"<@<W1A;7 Z("=S:2 R+S at O,C P." P,CHU,2<A#6EN:71I86QI>F4-
M"7-U<&5R(&EN:71I86QI>F4N#0E4:&5486)497-T4&%N96P at .CT@<V5L9BX)
M#0ES96QF(&%D9#H@*%-50V]U;G1E<E1E<W0@;F5W*2!L86)E;#H@)W1A8B Q
M)RX-"7-E;&8 at 861D.B H4U5#;W5N=&5R5&5S="!N97<I(&QA8F5L.B G=&%B
M(#(G+ at TA("$-#2%!2E1A8E!A;F5L5&5S="!M971H;V1S1F]R.B G87,@>65T
M('5N8VQA<W-I9FEE9"<@<W1A;7 Z("=S:2 R+S at O,C P." P,CHP."<A#7)E
M;F1E<D)O9'E/;CH@:'1M; T)<W5P97(@<F5N9&5R0F]D>4]N.B!H=&UL+ at T)
M:'1M;"!A;F-H;W(-"0EO;D-L:6-K.B H:'1M;"!U<&1A=&5R#0D)"6ED.B!I
M9#L-"0D)8V%L;&)A8VLZ(%LZ<B!\( T)"0D)<V5L9B!A9&0Z("A354-O=6YT
M97)497-T(&YE=RD@;&%B96PZ("=A;F]T:&5R)RX-"0D)"7-E;&8@<F5N9&5R
M0F]D>4]N.B!R72D[#0D)=VET:#H@)V%D9"<N(2 A#0TB+2T at +2T@+2T at +2T@
M+2T at +2T@+2T at +2T@+2T at +2T@+2T at +2T@+2T at +2T@+2T at +2T@+2T at +2T@(B$-
M#4%*5&%B4&%N96Q497-T(&-L87-S#0EI;G-T86YC959A<FEA8FQE3F%M97,Z
M("<G(0T-(4%*5&%B4&%N96Q497-T(&-L87-S(&UE=&AO9'-&;W(Z("=A<R!Y
M970@=6YC;&%S<VEF:65D)R!S=&%M<#H@)W-I(#(O-R\R,# X(#(Q.C0W)R$-
M8V%N0F52;V]T#0E>('1R=64A("$-#2%!2E1A8E!A;F5L5&5S="!C;&%S<R!M
M971H;V1S1F]R.B G87,@>65T('5N8VQA<W-I9FEE9"<@<W1A;7 Z("=S:2 R
M+S at O,C P." P-#HT-B<A#6EN:71I86QI>F4-"7P at 87!P('P-"6%P<" Z/2!S
M96QF(')E9VES=&5R07-!<'!L:6-A=&EO;CH@(V,Q8S(N#0EA<' @861D3&EB
M<F%R>3H at 4U5,:6)R87)Y+ at T)(2 A#0T,#5-51G5N8W1I;VYA;%1E<W0@<W5B
M8VQA<W,Z("-354-O=6YT97)497-T#0EI;G-T86YC959A<FEA8FQE3F%M97,Z
M("=C;W5N="<-"6-L87-S5F%R:6%B;&5.86UE<SH@)R<-"7!O;VQ$:6-T:6]N
M87)I97,Z("<G#0EC871E9V]R>3H@)T,Q0S(G(0T-(5-50V]U;G1E<E1E<W0@
M;65T:&]D<T9O<CH@)V%C=&EO;G,G('-T86UP.B G;'(@,R\Q,B\R,# V(#$S
M.C(S)R$-9&5C<F5A<V4-"6-O=6YT(#H](&-O=6YT("T@,2$@(0T-(5-50V]U
M;G1E<E1E<W0@;65T:&]D<T9O<CH@)V%C=&EO;G,G('-T86UP.B G;'(@,R\Q
M,B\R,# V(#$S.C(S)R$-:6YC<F5A<V4-"6-O=6YT(#H](&-O=6YT("L@,2$@
M(0T-#2%354-O=6YT97)497-T(&UE=&AO9'-&;W(Z("=I;FET:6%L:7IA=&EO
M;B<@<W1A;7 Z("=L<B S+S$R+S(P,#8@,3,Z,C,G(0UI;FET:6%L:7IE#0ES
M=7!E<B!I;FET:6%L:7IE+ at T)8V]U;G0 at .CT@,"$@(0T-#2%354-O=6YT97)4
M97-T(&UE=&AO9'-&;W(Z("=R96YD97)I;F<G('-T86UP.B G<VD@,B\X+S(P
M,#@@,#0Z-#,G(0UR96YD97)#;VYT96YT3VXZ(&AT;6P-"7P@:60@? T):60@
M.CT@:'1M;"!N97AT260N#0EH=&UL('!A<F%G<F%P:#H at 6PT)"6AT;6P@<W!A
M;@T)"0EI9#H@)V-O=6YT97)?)R L(&ED.PT)"0EW:71H.B!C;W5N="X-"0EH
M=&UL('-P86-E+ at T)"6AT;6P at 86YC:&]R#0D)"6]N0VQI8VLZ("AH=&UL('5P
M9&%T97(-"0D)"6ED.B G8V]U;G1E<E\G("P@:60[#0D)"0EC86QL8F%C:SH@
M6R Z<F5N9&5R('P@<V5L9B!I;F-R96%S93L@<F5N9&5R0V]U;G1/;CH@<F5N
M9&5R(%TI.PT)"0EW:71H.B G*RLG+ at T)"6AT;6P@<W!A8V4N#0D):'1M;"!A
M;F-H;W(-"0D);VY#;&EC:SH@*&AT;6P@=7!D871E<@T)"0D):60Z("=C;W5N
M=&5R7R<@+"!I9#L-"0D)"6-A;&QB86-K.B!;(#IR96YD97(@?"!S96QF(&1E
M8W)E87-E.R!R96YD97)#;W5N=$]N.B!R96YD97(@72D[#0D)"7=I=&@Z("<M
M+2<@72X-#0EH=&UL(&1I=CH at 6VAT;6P at 86YC:&]R#0D)8V%L;&)A8VLZ(%M4
M:&5486)497-T4&%N96P at 861D.B H4U5#;W5N=&5R5&5S="!N97<I(&QA8F5L
M.B G86YO=&AE<B==.PT)"7=I=&@Z("=N;VXM86IA>"!A9&0 at 9G)O;2!N97-T
M960 at 4U5#;W5N=&5R)RY=+ at T)"0T):'1M;"!D:78Z(%MH=&UL(&%N8VAO<@T)
M"6]N0VQI8VLZ("AH=&UL('5P9&%T97(-"0D):60Z(%1H951A8E1E<W1086YE
M;"!I9#L-"0D)8V%L;&)A8VLZ(%LZ<B!\( T)"0D)5&AE5&%B5&5S=%!A;F5L
M(&%D9#H@*%-50V]U;G1E<E1E<W0@;F5W*2!L86)E;#H@)V%N;W1H97(G+ at T)
M"0D)5&AE5&%B5&5S=%!A;F5L(')E;F1E<D)O9'E/;CH@<ETI.PT)"7=I=&@Z
M("=!2D%8(&%D9"!F<F]M(&YE<W1E9"!354-O=6YT97(G+ETN(2 A#0TA4U5#
M;W5N=&5R5&5S="!M971H;V1S1F]R.B G<F5N9&5R:6YG)R!S=&%M<#H@)VQR
M(#,O,3(O,C P-B Q,SHR-B<A#7)E;F1E<D-O=6YT3VXZ(&AT;6P-"6AT;6P@
L<F5N9&5R.B!C;W5N="$@(0T-04I486)086YE;%1E<W0@:6YI=&EA;&EZ92$`
`
end




More information about the seaside mailing list