[Seaside] JQueryUI sortable and get smalltalk callback upon change

Bob Arning arning315 at comcast.net
Mon Nov 24 20:57:00 UTC 2014


It's not just that line, it's #callback:passengers: which is a variant 
of #callback:value:. Which means seaside supplies some code (html jQuery 
this find: 'tr') to the client and the client returns the value of this 
to the server. And seaside know to pass this returned value to the 
block. See:

callback: aBlock value: anObject
     "Register aBlock as a secondary callback. anObject is a reference 
to a Javascript object on the client-side. The object will be sent back 
to the server as a string and passed into aBlock. Multiple secondary 
callbacks can be defined with one receiver.

Note: anObject should be a single literal Javascript object (String, 
Number, Boolean). The object is transfered from client to server as the 
print-string of the object and passed into the callback block as a 
Smalltalk String."


On 11/24/14 3:02 PM, Mariano Martinez Peck wrote:
>
>
> On Mon, Nov 24, 2014 at 12:45 PM, Bob Arning <arning315 at comcast.net 
> <mailto:arning315 at comcast.net>> wrote:
>
>     renderContentTableOn: html
>
>         html table: [
>             html tableBody
>                 script: (html jQuery new sortable
>                     onStop: (html jQuery ajax
>                         callback: [ :values | self halt. items := values.]
>                         passengers: (html jQuery this find: 'tr')));
>                 with: [
>                     items do: [ :each |
>                         html tableRow
>                                 class: 'ui-corner-all';
>                                 passenger: each;
>                             with: [html tableData
>                                 with: each
>                             ]
>                     ]
>             ]
>         ]
>
>     seems to work.
>
>
>
> thanks Bob..that worked like a char. Let me ask.... how does this 
> magic line happens:
>
>   callback: [ :values | self halt. items := values.]
>
> I mean...how does that ajax call know that the callback will have the 
> items as argument?
>
>
>     On 11/24/14 10:01 AM, Mariano Martinez Peck wrote:
>>     Hi guys,
>>
>>     I am trying to use JQueryUI sortable for making the rows of a
>>     table sortable. I could make it to work at the client side but I
>>     don't now how to be able to get the values at the server side in
>>     order to update my internal OrderedCollection.
>>
>>     I found #callbackSortable:  but it seems I am doing something
>>     wrong... This is what I am doing:
>>
>>     html script: ((html jQuery: 'tbody') sortable
>>     onUpdate:  (html jQuery ajax
>>     callbackSortable: [ :event |
>>               event inspect.
>>     ]))
>>
>>
>>     But the event inspected has nothing.. Everything from "passanger"
>>     is nil. I guess I may be missing passing passengers..but I don't
>>     know what nor where.
>>
>>     Any idea?
>>
>>     Thanks,
>>
>>
>>     -- 
>>     Mariano
>>     http://marianopeck.wordpress.com
>>
>>
>>     _______________________________________________
>>     seaside mailing list
>>     seaside at lists.squeakfoundation.org  <mailto:seaside at lists.squeakfoundation.org>
>>     http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
>     _______________________________________________
>     seaside mailing list
>     seaside at lists.squeakfoundation.org
>     <mailto:seaside at lists.squeakfoundation.org>
>     http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
>
>
> -- 
> Mariano
> http://marianopeck.wordpress.com
>
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20141124/521c47d0/attachment.htm


More information about the seaside mailing list