[Seaside] Suggested extension for WASelectTag
jtuchel at objektfabrik.de
jtuchel at objektfabrik.de
Sat Jul 1 05:24:55 UTC 2017
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?
Joachim
--
-----------------------------------------------------------------------
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
More information about the seaside
mailing list