[Seaside] Suggested extension for WASelectTag
jtuchel at objektfabrik.de
jtuchel at objektfabrik.de
Mon Jul 3 08:56:26 UTC 2017
Hi Johan,
so #dispatchCallback was my missing piece... Thanks!
I agree with your preference, for cases where you want to iterate over
myItems. This sure would be a nicer API than what we have now.
Joachim
Am 03.07.17 um 09:19 schrieb Johan Brichau:
> 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
>> <mailto: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
>
>
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
--
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel mailto:jtuchel at objektfabrik.de
Fliederweg 1 http://www.objektfabrik.de
D-71640 Ludwigsburg http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/seaside/attachments/20170703/0b234b6f/attachment.html>
More information about the seaside
mailing list