[Seaside] Suggested extension for WASelectTag

Johan Brichau johan at inceptive.be
Mon Jul 3 07:19:00 UTC 2017


Hi guys,

I would prefer that Seaside is able to do this:

html select
       callback: …;
       with:[ 
           myItems do:[:anItem |
	           html option
       		        attributeAt: … put: …;
               		value: anItem ] ]

Right now, you must do it like this (i.e. add a callback for each option):

html select
       dispatchCallback;
       with:[ 
           myItems do:[:anItem |
	           html option
       		        attributeAt: … put: …;
                        callback: [ …. ]
               		value: anItem ] ]

cheers,
Johan   

> On 3 Jul 2017, at 02:23, Mariano Martinez Peck <marianopeck at gmail.com> wrote:
> 
> 
> 
> On Sat, Jul 1, 2017 at 2:24 AM, jtuchel at objektfabrik.de <mailto:jtuchel at objektfabrik.de> <jtuchel at objektfabrik.de <mailto:jtuchel at objektfabrik.de>> wrote:
> Hi,
> 
> 
> I needed a way to add an attribute of each option in a select list, because Seaside uses the value attribute for its server side callback.
> 
> The reason was I wanted to do something on the browser side onChange/onKeyUp based on some business values.
> 
> 
> Here is what I changed in WASelectTag:
> 
> * added inst var: itemConfigBlock with getter and setter
> 
> * changed #renderListItemLabelled: to
> 
> 
> renderListItem: anObject labelled: aString
> 
>     | option |
> 
>     option := canvas option.
>     self hasCallback ifTrue: [option value: (self valueFor: anObject)].
>     titleBlock isNil ifFalse: [option title: (self titleFor: anObject)].
>     itemConfigBlock ifNotNil: [:block | block value: option value: anObject].
>     option
>         selected: (self isSelected: anObject);
>         disabled: (self isEnabled: anObject) not;
>         with: aString
> 
> 
> And this is how you can use it:
> 
> 
> html select
> 
>     items: MyListOfItems;
> 
>     callback: [];
> 
>     itemConfigBlock: [:option :anObject| option attrbibuteAt: 'data-value' put: anObject someValue asString].
> 
> 
> Was this available already and did I overlook it?
> 
> Does this sound reasonable? Worth adding to Seaside?
> 
> 
> 
> Yes, I had to do exactly the same. 
> 
> 
> -- 
> Mariano
> http://marianopeck.wordpress.com <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 <http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/seaside/attachments/20170703/b26eaaaf/attachment-0001.html>


More information about the seaside mailing list