Re: script: [...] value parameter

Bob Nemec <[email protected]> Mon, 31 Oct 2022 11:11:10 +0000 (UTC)
Newsgroups gmane.comp.lang.smalltalk.squeak.seaside
Message-ID <[email protected]>
--===============9032032269581407988==
Content-Type: multipart/alternative; 
	boundary="----=_Part_1668720_817008848.1667214670853"

------=_Part_1668720_817008848.1667214670853
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

 Cool, that is good to know. I always assumed that the block order was regi=
stered and used that way.=C2=A0
Bob
    On Thursday, October 27, 2022 at 01:26:30 p.m. EDT, Johan Brichau <joha=
[email protected]> wrote: =20
=20
 Hi Bob,
Good to hear it works out.Just a note: the order in which you send the `scr=
ipt:` and `callback:value:` (or `callback:passenger:`) blocks to the JQAjax=
 instance does not matter. Seaside will always invoke the `script:` block l=
ast since it is the primary callback that generates a response.The followin=
g message orders are equivalent:
| value |html button=C2=A0 =C2=A0passenger: self;=C2=A0 =C2=A0onClick: (htm=
l jQuery ajax=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0script: [ :s | ...value is th=
e passenger, which in this case is self=E2=80=A6 ];=C2=A0 =C2=A0 =C2=A0 =C2=
=A0callback: [ :v | value :=3D v ] passenger: (html jQuery this)

| value |html button=C2=A0 =C2=A0passenger: self;=C2=A0 =C2=A0onClick: (htm=
l jQuery ajax=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0callback: [ :v | value :=3D v=
 ] passenger: (html jQuery this);=C2=A0 =C2=A0 =C2=A0 =C2=A0script: [ :s | =
...value is the passenger, which in this case is self=E2=80=A6 ]



On 26 Oct 2022, at 13:26, Bob Nemec <[email protected]> wrote:
 For those that don't follow Discord, Johan provided a solution with an exa=
mple that works for me.
What I needed to position the script: block after the callback:value: block=
, and have the callback:value: set state that the script: block could use.=
=20
Seems obvious now...=C2=A0
The "script:value:" you are looking for is really the combination of a "cal=
lback:value:" with a "script:" on the same ajax request. You can pass the '=
closest div passenger' to the script block using temporary variables that g=
et assigned in the callback:value: or callback:passenger: block and then us=
e those in the script: block. If you want to see some example combinations =
with event delegation you are referring to, you can check out the Todo exam=
ple:=C2=A0https://github.com/SeasideSt/Seaside/blob/master/repository/Seasi=
de-Examples.package/WATodo.class/instance/renderTodosOn..st
    On Monday, October 24, 2022 at 08:50:43 a.m. EDT, Bob Nemec <bobn@roger=
s.com> wrote: =20
=20
  (Also posted on Discord) ... Thanks: we already use the secondary callbac=
ks & passenger patters. In this case, we have a large calendar component fo=
r which we're trying to avoid rendering too much cell specific code (html c=
ontent gets crazy big).=C2=A0=C2=A0Ideally, I'd have one script for the cal=
endar that uses JQueryInstance>>closest: to get the div id / passenger, pas=
s that to a script: [...] block, and then have the browser run the script b=
lock result.=C2=A0
That works (and we're using it) for static onMouseOver: js script content, =
but having new content on each mouseover provided by a script: [...] block =
is where I'm stuck... using the closest: pattern removes the need for cell =
div specific scripts (with a noticeable render speed=C2=A0 improvement), bu=
t I can't pass along the closest div to the script: [...] block to build ce=
ll specific content.=C2=A0=C2=A0
Feels like it a...=C2=A0script: [:script :value | ...] value: (js script)..=
.pattern should work with a closest: div parameter. Great opportunity for m=
e to learn more Seaside internal :-)=C2=A0=C2=A0
Bob    On Monday, October 24, 2022 at 03:08:24 a.m. EDT, Johan Brichau <joh=
[email protected]> wrote: =20
=20
 I copy/paste my response on the Discord channel:
  =20
   - An ajax request with Seaside JQuery can combine multiple secondary cal=
lbacks and a single primary callback. You can find out which are which in t=
he method comments on JQAjax. In short: a primary callback is a response-ge=
nerating callback, while secondary callbacks are callbacks that pass values=
 from the client to the server. As such, you can construct what you want al=
ready as follows:   | value |
html jQuery ajax=20
   callback: [ :v | value :=3D v ] value: (html jQuery this propertyAt: 'id=
');
   script: [ :s | ...use value in the generation of the script... ]
   - [9:40 AM]Also, take a look at passengers if you want to store objects =
and retrieve them by id. Seaside has this mechanism built-in for you:   | v=
alue |
html button
   passenger: self;
   onClick: (html jQuery ajax=20
       callback: [ :v | value :=3D v ] passenger: (html jQuery this);



On 21 Oct 2022, at 19:48, Bob Nemec <[email protected]> wrote:
Cross posted from Seaside Discord channel...
I would like to have an 'html ajax script: [...]' method that has a callbac=
k:value: pattern.=C2=A0
Something like...=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0html ajax script: [:script :=
value | ...] value: (html jQuery this propertyAt: 'id')=C2=A0
Then in the script block 'value' would get the id of 'this', which in an aj=
ax callback is undefined.=C2=A0This would allow server code to use browser =
information to build the script.=C2=A0
Anyone done this?

Bob Nemec
_______________________________________________
seaside mailing list
[email protected]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[email protected]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
  _______________________________________________
seaside mailing list
[email protected]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
  _______________________________________________
seaside mailing list
[email protected]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[email protected]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
 =20
------=_Part_1668720_817008848.1667214670853
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<html><head></head><body><div class=3D"ydp7928c542yahoo-style-wrap" style=
=3D"font-family:lucida console, sans-serif;font-size:13px;"><div></div>
        <div dir=3D"ltr" data-setdir=3D"false">Cool, that is good to know. =
I always assumed that the block order was registered and used that way.&nbs=
p;</div><div dir=3D"ltr" data-setdir=3D"false"><br></div><div dir=3D"ltr" d=
ata-setdir=3D"false">Bob</div><div><br></div>
       =20
        </div><div id=3D"yahoo_quoted_7518836211" class=3D"yahoo_quoted">
            <div style=3D"font-family:'Helvetica Neue', Helvetica, Arial, s=
ans-serif;font-size:13px;color:#26282a;">
               =20
                <div>
                    On Thursday, October 27, 2022 at 01:26:30 p.m. EDT, Joh=
an Brichau &lt;[email protected]&gt; wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div id=3D"yiv0011550802"><div>Hi Bob,<div class=3D"yi=
v0011550802"><br clear=3D"none" class=3D"yiv0011550802"></div><div class=3D=
"yiv0011550802">Good to hear it works out.</div><div class=3D"yiv0011550802=
">Just a note: the order in which you send the `script:` and `callback:valu=
e:` (or `callback:passenger:`) blocks to the JQAjax instance does not matte=
r. Seaside will always invoke the `script:` block last since it is the prim=
ary callback that generates a response.</div><div class=3D"yiv0011550802">T=
he following message orders are equivalent:</div><div class=3D"yiv001155080=
2"><br clear=3D"none" class=3D"yiv0011550802"></div><div class=3D"yiv001155=
0802"><div class=3D"yiv0011550802">| value |</div><div class=3D"yiv00115508=
02">html button</div><div class=3D"yiv0011550802">&nbsp; &nbsp;passenger: s=
elf;</div><div class=3D"yiv0011550802">&nbsp; &nbsp;onClick: (html jQuery a=
jax&nbsp;</div><div class=3D"yiv0011550802">&nbsp; &nbsp; &nbsp; &nbsp;scri=
pt: [ :s | ...value is the passenger, which in this case is self=E2=80=A6 ]=
;</div></div><div class=3D"yiv0011550802">&nbsp; &nbsp; &nbsp; &nbsp;callba=
ck: [ :v | value :=3D v ] passenger: (html jQuery this)</div><div class=3D"=
yiv0011550802"><br clear=3D"none" class=3D"yiv0011550802"></div><div class=
=3D"yiv0011550802"><br clear=3D"none" class=3D"yiv0011550802"></div><div cl=
ass=3D"yiv0011550802"><div class=3D"yiv0011550802">| value |</div><div clas=
s=3D"yiv0011550802">html button</div><div class=3D"yiv0011550802">&nbsp; &n=
bsp;passenger: self;</div><div class=3D"yiv0011550802">&nbsp; &nbsp;onClick=
: (html jQuery ajax&nbsp;</div><div class=3D"yiv0011550802">&nbsp; &nbsp; &=
nbsp; &nbsp;callback: [ :v | value :=3D v ] passenger: (html jQuery this);<=
/div><div class=3D"yiv0011550802">&nbsp; &nbsp; &nbsp; &nbsp;script: [ :s |=
 ...value is the passenger, which in this case is self=E2=80=A6 ]</div></di=
v><div class=3D"yiv0011550802"><br clear=3D"none" class=3D"yiv0011550802"><=
/div><div class=3D"yiv0011550802"><br clear=3D"none" class=3D"yiv0011550802=
"><div><br clear=3D"none" class=3D"yiv0011550802"><blockquote type=3D"cite"=
 class=3D"yiv0011550802"><div id=3D"yiv0011550802yqt48085" class=3D"yiv0011=
550802yqt5406383101"><div class=3D"yiv0011550802">On 26 Oct 2022, at 13:26,=
 Bob Nemec &lt;<a rel=3D"nofollow noopener noreferrer" shape=3D"rect" ymail=
to=3D"mailto:[email protected]" target=3D"_blank" href=3D"mailto:bobn@rogers.=
com" class=3D"yiv0011550802">[email protected]</a>&gt; wrote:</div><br clear=
=3D"none" class=3D"yiv0011550802Apple-interchange-newline"><div class=3D"yi=
v0011550802"><div class=3D"yiv0011550802"><div style=3D"font-family:lucida =
console, sans-serif;font-size:13px;" class=3D"yiv0011550802ydpe16e7e8fyahoo=
-style-wrap"><div class=3D"yiv0011550802"></div>
        <div dir=3D"ltr" class=3D"yiv0011550802">For those that don't follo=
w Discord, Johan provided a solution with an example that works for me.<br =
clear=3D"none" class=3D"yiv0011550802">What I needed to position the script=
: block after the callback:value: block, and have the callback:value: set s=
tate that the script: block could use. <br clear=3D"none" class=3D"yiv00115=
50802">Seems obvious now...&nbsp;</div><div dir=3D"ltr" class=3D"yiv0011550=
802"><br clear=3D"none" class=3D"yiv0011550802"><span class=3D"yiv001155080=
2">The "script:value:" you are looking for is really the combination of a "=
callback:value:" with a "script:" on the same ajax request. You can pass th=
e 'closest div passenger' to the script block using temporary variables tha=
t get assigned in the callback:value: or callback:passenger: block and then=
 use those in the script: block. If you want to see some example combinatio=
ns with event delegation you are referring to, you can check out the Todo e=
xample:&nbsp;</span><a rel=3D"nofollow noopener noreferrer" shape=3D"rect" =
target=3D"_blank" href=3D"https://github.com/SeasideSt/Seaside/blob/master/=
repository/Seaside-Examples.package/WATodo.class/instance/renderTodosOn..st=
" class=3D"yiv0011550802">https://github.com/SeasideSt/Seaside/blob/master/=
repository/Seaside-Examples.package/WATodo.class/instance/renderTodosOn..st=
</a><br clear=3D"none" class=3D"yiv0011550802"></div>
       =20
        </div><div id=3D"yiv0011550802yahoo_quoted_7027919161" class=3D"yiv=
0011550802yahoo_quoted">
            <div style=3D"font-family:'Helvetica Neue', Helvetica, Arial, s=
ans-serif;font-size:13px;color:#26282a;" class=3D"yiv0011550802">
               =20
                <div class=3D"yiv0011550802">
                    On Monday, October 24, 2022 at 08:50:43 a.m. EDT, Bob N=
emec &lt;<a rel=3D"nofollow noopener noreferrer" shape=3D"rect" ymailto=3D"=
mailto:[email protected]" target=3D"_blank" href=3D"mailto:[email protected]" c=
lass=3D"yiv0011550802">[email protected]</a>&gt; wrote:
                </div>
                <div class=3D"yiv0011550802"><br clear=3D"none" class=3D"yi=
v0011550802"></div>
                <div class=3D"yiv0011550802"><br clear=3D"none" class=3D"yi=
v0011550802"></div>
                <div class=3D"yiv0011550802"><div id=3D"yiv0011550802" clas=
s=3D"yiv0011550802"><div class=3D"yiv0011550802"><div style=3D"font-family:=
lucida console, sans-serif;font-size:13px;" class=3D"yiv0011550802ydp463fbb=
e9yahoo-style-wrap"><div class=3D"yiv0011550802"></div>
        <div dir=3D"ltr" class=3D"yiv0011550802"><div class=3D"yiv001155080=
2"><div dir=3D"ltr" class=3D"yiv0011550802">(Also posted on Discord) ... Th=
anks: we already use the secondary callbacks &amp; passenger patters. In th=
is case, we have a large calendar component for which we're trying to avoid=
 rendering too much cell specific code (html content gets crazy big).</div>=
<div class=3D"yiv0011550802">&nbsp;&nbsp;</div><div class=3D"yiv0011550802"=
>Ideally, I'd have one script for the calendar that uses JQueryInstance&gt;=
&gt;closest: to get the div id / passenger, pass that to a script: [...] bl=
ock, and then have the browser run the script block result.&nbsp;</div><div=
 class=3D"yiv0011550802"><br clear=3D"none" class=3D"yiv0011550802"></div><=
div class=3D"yiv0011550802">That works (and we're using it) for static onMo=
useOver: js script content, but having new content on each mouseover provid=
ed by a script: [...] block is where I'm stuck... using the closest: patter=
n removes the need for cell div specific scripts (with a noticeable render =
speed&nbsp; improvement), but I can't pass along the closest div to the scr=
ipt: [...] block to build cell specific content.&nbsp;&nbsp;</div><div clas=
s=3D"yiv0011550802"><br clear=3D"none" class=3D"yiv0011550802"></div><div c=
lass=3D"yiv0011550802">Feels like it a...&nbsp;</div><div class=3D"yiv00115=
50802">script: [:script :value | ...] value: (js script)</div><div class=3D=
"yiv0011550802">...pattern should work with a closest: div parameter. Great=
 opportunity for me to learn more Seaside internal :-)&nbsp;&nbsp;</div></d=
iv><br clear=3D"none" class=3D"yiv0011550802"></div><div dir=3D"ltr" class=
=3D"yiv0011550802">Bob</div>
       =20
        </div><div id=3D"yiv0011550802yahoo_quoted_7101938615" class=3D"yiv=
0011550802yahoo_quoted">
            <div style=3D"font-family:'Helvetica Neue', Helvetica, Arial, s=
ans-serif;font-size:13px;color:#26282a;" class=3D"yiv0011550802">
               =20
                <div id=3D"yiv0011550802yqt78631" class=3D"yiv0011550802yqt=
9599951790"><div class=3D"yiv0011550802">
                    On Monday, October 24, 2022 at 03:08:24 a.m. EDT, Johan=
 Brichau &lt;<a rel=3D"nofollow noopener noreferrer" shape=3D"rect" ymailto=
=3D"mailto:[email protected]" target=3D"_blank" href=3D"mailto:johan@incep=
tive.be" class=3D"yiv0011550802">[email protected]</a>&gt; wrote:
                </div>
                <div class=3D"yiv0011550802"><br clear=3D"none" class=3D"yi=
v0011550802"></div>
                <div class=3D"yiv0011550802"><br clear=3D"none" class=3D"yi=
v0011550802"></div>
                <div class=3D"yiv0011550802"><div id=3D"yiv0011550802" clas=
s=3D"yiv0011550802"><div class=3D"yiv0011550802">I copy/paste my response o=
n the Discord channel:<div class=3D"yiv0011550802"><br clear=3D"none" class=
=3D"yiv0011550802"></div><div class=3D"yiv0011550802"><ol style=3D"margin:0=
px;padding:0px;border:0px;font-family:Whitney, Helvetica, Arial, sans-serif=
;font-size:16px;vertical-align:baseline;list-style:none;min-height:0px;orph=
ans:2;widows:2;background-color:rgb(255, 255, 255);" class=3D"yiv0011550802=
scrollerInner-2PPAp2"><li id=3D"yiv0011550802chat-messages-1033645149160480=
829" style=3D"margin:0px;padding:0px;border:0px;font-style:inherit;font-fam=
ily:inherit;vertical-align:baseline;outline:none;" class=3D"yiv0011550802me=
ssageListItem-ZZ7v6g"><div style=3D"margin:0px 0px;padding-left:72px;border=
:0px;font-style:inherit;font-family:inherit;vertical-align:baseline;outline=
:0px;position:relative;padding-right:48px !important;" class=3D"yiv00115508=
02groupStart-3Mlgv1 yiv0011550802hasReply-2Cr4KE yiv0011550802message-2CShn=
3 yiv0011550802wrapper-30-Nkg yiv0011550802zalgo-26OfGz yiv0011550802cozyMe=
ssage-1DWF9U yiv0011550802cozy-VmLDNB"><div style=3D"margin:0px;padding:0px=
;border:0px;font-style:inherit;font-family:inherit;vertical-align:baseline;=
outline:0px;" class=3D"yiv0011550802contents-2MsGLg"><div id=3D"yiv00115508=
02message-content-1033645149160480829" style=3D"margin:0px 0px 0px;padding:=
0px 0px 0px 72px;border:0px;font-style:inherit;font-family:inherit;vertical=
-align:baseline;outline:0px;position:relative;overflow:hidden;" class=3D"yi=
v0011550802messageContent-2t3eCI yiv0011550802markup-eYLPri">An ajax reques=
t with Seaside JQuery can combine multiple secondary callbacks and a single=
 primary callback. You can find out which are which in the method comments =
on JQAjax. In short: a primary callback is a response-generating callback, =
while secondary callbacks are callbacks that pass values from the client to=
 the server.=20
As such, you can construct what you want already as follows:
<pre style=3D"margin-top:6px;margin-bottom:0px;padding:0px;border:0px;font-=
style:inherit;font-family:Consolas, Mono Sans Sans Vera Sans Mono Monaco, C=
ourier, monospace;vertical-align:baseline;border-radius:4px;white-space:pre=
-wrap;max-width:90%;" class=3D"yiv0011550802"><code style=3D"margin:0px;pad=
ding:0.5em;border:1px solid;font-style:inherit;font-family:Consolas, Mono S=
ans Sans Vera Sans Mono Monaco, Courier, monospace;vertical-align:baseline;=
display:block;border-radius:4px;" class=3D"yiv0011550802hljs yiv0011550802s=
crollbarGhostHairline-2LpzZ9 yiv0011550802scrollbar-3vVt8d">| value |
html jQuery ajax=20
   callback: [ :v | value :=3D v ] value: (html jQuery this propertyAt: 'id=
');
   script: [ :s | ...use value in the generation of the script... ]</code><=
/pre></div></div><div style=3D"margin:0px;padding:0px;border:0px;font-style=
:inherit;font-family:inherit;vertical-align:baseline;outline:0px;" class=3D=
"yiv0011550802buttonContainer-1502pf"><div style=3D"margin:0px;padding:0px =
14px 0px 32px;border:0px;font-style:inherit;font-family:inherit;vertical-al=
ign:baseline;outline:0px;z-index:1;" class=3D"yiv0011550802container-2gUZhU=
 yiv0011550802buttons-3dF5Kd yiv0011550802isHeader-2bbX-L"><div style=3D"ma=
rgin:0px;padding:0px;border:0px;font-style:inherit;font-family:inherit;vert=
ical-align:baseline;outline:0px;display:grid;min-height:32px;border-radius:=
4px;transition:0.1s ease-out 0s, 0.1s ease-out 0s;position:relative;overflo=
w:hidden;" class=3D"yiv0011550802wrapper-2vIMkT"><div style=3D"margin:0px;p=
adding:4px;border:0px;font-style:inherit;font-family:inherit;vertical-align=
:baseline;outline:0px;display:flex;min-height:24px;min-width:24px;cursor:po=
inter;position:relative;" class=3D"yiv0011550802button-3bklZh"></div><div s=
tyle=3D"margin:0px;padding:4px;border:0px;font-style:inherit;font-family:in=
herit;vertical-align:baseline;outline:0px;display:flex;min-height:24px;min-=
width:24px;cursor:pointer;position:relative;" class=3D"yiv0011550802button-=
3bklZh"></div><div style=3D"margin:0px;padding:4px;border:0px;font-style:in=
herit;font-family:inherit;vertical-align:baseline;outline:0px;display:flex;=
min-height:24px;min-width:24px;cursor:pointer;position:relative;" class=3D"=
yiv0011550802button-3bklZh"></div><div style=3D"margin:0px;padding:4px;bord=
er:0px;font-style:inherit;font-family:inherit;vertical-align:baseline;outli=
ne:0px;display:flex;min-height:24px;min-width:24px;cursor:pointer;position:=
relative;" class=3D"yiv0011550802button-3bklZh"></div></div></div></div></d=
iv></li><li id=3D"yiv0011550802chat-messages-1033646070099623978" style=3D"=
margin:0px;padding:0px;border:0px;font-style:inherit;font-family:inherit;ve=
rtical-align:baseline;outline:none;" class=3D"yiv0011550802messageListItem-=
ZZ7v6g"><div style=3D"margin:0px;padding-left:72px;border:0px;font-style:in=
herit;font-family:inherit;vertical-align:baseline;outline:0px;position:rela=
tive;padding-right:48px !important;" class=3D"yiv0011550802zalgo-26OfGz yiv=
0011550802cozyMessage-1DWF9U yiv0011550802cozy-VmLDNB yiv0011550802message-=
2CShn3 yiv0011550802wrapper-30-Nkg"><div style=3D"margin:0px;padding:0px;bo=
rder:0px;font-style:inherit;font-family:inherit;vertical-align:baseline;out=
line:0px;" class=3D"yiv0011550802contents-2MsGLg"><span style=3D"margin:0px=
 0px 0px;padding:0px;border:0px;font-style:inherit;font-family:inherit;vert=
ical-align:baseline;outline:0px;display:inline-block;cursor:default;width:5=
6px;text-align:right;z-index:1;" class=3D"yiv0011550802timestampVisibleOnHo=
ver-9PEuZS yiv0011550802timestamp-p1Df1m yiv0011550802latin24CompactTimeSta=
mp-2pXUBq yiv0011550802alt-1dvXnH"><span style=3D"width:0px;display:inline-=
block;" class=3D"yiv0011550802separator-AebOhG">[</span>9:40 AM<span style=
=3D"width:0px;display:inline-block;" class=3D"yiv0011550802separator-AebOhG=
">]</span></span><div id=3D"yiv0011550802message-content-103364607009962397=
8" style=3D"margin:0px 0px 0px;padding:0px 0px 0px 72px;border:0px;font-sty=
le:inherit;font-family:inherit;vertical-align:baseline;outline:0px;position=
:relative;overflow:hidden;" class=3D"yiv0011550802messageContent-2t3eCI yiv=
0011550802markup-eYLPri">Also, take a look at passengers if you want to sto=
re objects and retrieve them by id. Seaside has this mechanism built-in for=
 you:
<pre style=3D"margin-top:6px;margin-bottom:0px;padding:0px;border:0px;font-=
style:inherit;font-family:Consolas, Mono Sans Sans Vera Sans Mono Monaco, C=
ourier, monospace;vertical-align:baseline;border-radius:4px;white-space:pre=
-wrap;max-width:90%;" class=3D"yiv0011550802"><code style=3D"margin:0px;pad=
ding:0.5em;border:1px solid;font-style:inherit;font-family:Consolas, Mono S=
ans Sans Vera Sans Mono Monaco, Courier, monospace;vertical-align:baseline;=
display:block;border-radius:4px;" class=3D"yiv0011550802hljs yiv0011550802s=
crollbarGhostHairline-2LpzZ9 yiv0011550802scrollbar-3vVt8d">| value |
html button
   passenger: self;
   onClick: (html jQuery ajax=20
       callback: [ :v | value :=3D v ] passenger: (html jQuery this);</code=
></pre></div></div></div></li></ol><div class=3D"yiv0011550802"><br clear=
=3D"none" class=3D"yiv0011550802"></div><div class=3D"yiv0011550802"><br cl=
ear=3D"none" class=3D"yiv0011550802"><blockquote type=3D"cite" class=3D"yiv=
0011550802"><div id=3D"yiv0011550802yqt33596" class=3D"yiv0011550802yqt7058=
150919"><div class=3D"yiv0011550802">On 21 Oct 2022, at 19:48, Bob Nemec &l=
t;<a rel=3D"nofollow noopener noreferrer" shape=3D"rect" ymailto=3D"mailto:=
[email protected]" target=3D"_blank" href=3D"mailto:[email protected]" class=3D=
"yiv0011550802">[email protected]</a>&gt; wrote:</div><br clear=3D"none" clas=
s=3D"yiv0011550802Apple-interchange-newline"><div class=3D"yiv0011550802"><=
div class=3D"yiv0011550802"><div style=3D"font-family:lucida console, sans-=
serif;font-size:13px;" class=3D"yiv0011550802yahoo-style-wrap"><div dir=3D"=
ltr" class=3D"yiv0011550802">Cross posted from Seaside Discord channel...</=
div><div dir=3D"ltr" class=3D"yiv0011550802"><br clear=3D"none" class=3D"yi=
v0011550802"></div><div dir=3D"ltr" class=3D"yiv0011550802"><div class=3D"y=
iv0011550802"><div class=3D"yiv0011550802">I would like to have an 'html aj=
ax script: [...]' method that has a callback:value: pattern.&nbsp;</div><di=
v class=3D"yiv0011550802"><br clear=3D"none" class=3D"yiv0011550802"></div>=
<div class=3D"yiv0011550802">Something like...&nbsp;</div><div class=3D"yiv=
0011550802">&nbsp;&nbsp;&nbsp;&nbsp;html ajax script: [:script :value | ...=
] value: (html jQuery this propertyAt: 'id')&nbsp;</div><div class=3D"yiv00=
11550802"><br clear=3D"none" class=3D"yiv0011550802"></div><div class=3D"yi=
v0011550802">Then in the script block 'value' would get the id of 'this', w=
hich in an ajax callback is undefined.&nbsp;</div><div dir=3D"ltr" class=3D=
"yiv0011550802">This would allow server code to use browser information to =
build the script.&nbsp;</div><div class=3D"yiv0011550802"><br clear=3D"none=
" class=3D"yiv0011550802"></div><div class=3D"yiv0011550802">Anyone done th=
is?</div></div><br clear=3D"none" class=3D"yiv0011550802"></div><div dir=3D=
"ltr" class=3D"yiv0011550802"><br clear=3D"none" class=3D"yiv0011550802"></=
div><div dir=3D"ltr" class=3D"yiv0011550802">Bob Nemec</div><div dir=3D"ltr=
" class=3D"yiv0011550802"><br clear=3D"none" class=3D"yiv0011550802"></div>=
</div></div>_______________________________________________<br clear=3D"non=
e" class=3D"yiv0011550802">seaside mailing list<br clear=3D"none" class=3D"=
yiv0011550802"><a rel=3D"nofollow noopener noreferrer" shape=3D"rect" ymail=
to=3D"mailto:[email protected]" target=3D"_blank" href=3D"=
mailto:[email protected]" class=3D"yiv0011550802">seaside@=
lists.squeakfoundation.org</a><br clear=3D"none" class=3D"yiv0011550802"><a=
 rel=3D"nofollow noopener noreferrer" shape=3D"rect" target=3D"_blank" href=
=3D"http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" cla=
ss=3D"yiv0011550802">http://lists.squeakfoundation.org/cgi-bin/mailman/list=
info/seaside</a><br clear=3D"none" class=3D"yiv0011550802"></div></div></bl=
ockquote></div><br clear=3D"none" class=3D"yiv0011550802"></div></div></div=
><div id=3D"yiv0011550802yqt37085" class=3D"yiv0011550802yqt7058150919">___=
____________________________________________<br clear=3D"none" class=3D"yiv=
0011550802">seaside mailing list<br clear=3D"none" class=3D"yiv0011550802">=
<a rel=3D"nofollow noopener noreferrer" shape=3D"rect" ymailto=3D"mailto:se=
[email protected]" target=3D"_blank" href=3D"mailto:seaside@=
lists.squeakfoundation.org" class=3D"yiv0011550802">[email protected]=
ndation.org</a><br clear=3D"none" class=3D"yiv0011550802"><a rel=3D"nofollo=
w noopener noreferrer" shape=3D"rect" target=3D"_blank" href=3D"http://list=
s.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" class=3D"yiv001155=
0802">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a=
><br clear=3D"none" class=3D"yiv0011550802"></div></div></div>
            </div>
        </div></div></div><div id=3D"yiv0011550802yqt14635" class=3D"yiv001=
1550802yqt9599951790">_______________________________________________<br cl=
ear=3D"none" class=3D"yiv0011550802">seaside mailing list<br clear=3D"none"=
 class=3D"yiv0011550802"><a rel=3D"nofollow noopener noreferrer" shape=3D"r=
ect" ymailto=3D"mailto:[email protected]" target=3D"_blank=
" href=3D"mailto:[email protected]" class=3D"yiv0011550802=
">[email protected]</a><br clear=3D"none" class=3D"yiv0011=
550802"><a rel=3D"nofollow noopener noreferrer" shape=3D"rect" target=3D"_b=
lank" href=3D"http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/se=
aside" class=3D"yiv0011550802">http://lists.squeakfoundation.org/cgi-bin/ma=
ilman/listinfo/seaside</a><br clear=3D"none" class=3D"yiv0011550802"></div>=
</div>
            </div>
        </div></div>_______________________________________________<br clea=
r=3D"none" class=3D"yiv0011550802">seaside mailing list<br clear=3D"none" c=
lass=3D"yiv0011550802"><a rel=3D"nofollow noopener noreferrer" shape=3D"rec=
t" ymailto=3D"mailto:[email protected]" target=3D"_blank" =
href=3D"mailto:[email protected]" class=3D"yiv0011550802">=
[email protected]</a><br clear=3D"none" class=3D"yiv001155=
0802">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside<br=
 clear=3D"none" class=3D"yiv0011550802"></div></div></blockquote></div><br =
clear=3D"none" class=3D"yiv0011550802"></div></div></div><div class=3D"yqt5=
406383101" id=3D"yqt96507">_______________________________________________<=
br clear=3D"none">seaside mailing list<br clear=3D"none"><a shape=3D"rect" =
ymailto=3D"mailto:[email protected]" href=3D"mailto:seasid=
[email protected]">[email protected]</a><br cle=
ar=3D"none"><a shape=3D"rect" href=3D"http://lists.squeakfoundation.org/cgi=
-bin/mailman/listinfo/seaside" target=3D"_blank">http://lists.squeakfoundat=
ion.org/cgi-bin/mailman/listinfo/seaside</a><br clear=3D"none"></div></div>
            </div>
        </div></body></html>
------=_Part_1668720_817008848.1667214670853--

--===============9032032269581407988==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kc2Vhc2lkZSBt
YWlsaW5nIGxpc3QKc2Vhc2lkZUBsaXN0cy5zcXVlYWtmb3VuZGF0aW9uLm9yZwpodHRwOi8vbGlz
dHMuc3F1ZWFrZm91bmRhdGlvbi5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3NlYXNpZGUK

--===============9032032269581407988==--