This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git
The following commit(s) were added to refs/heads/master by this push:
new d5328823 Allow for select options such as onChange
d5328823 is described below
commit d5328823d2f00bb423704c569c7d9365c1857c5d
Author: Sebb <[email protected]>
AuthorDate: Wed Feb 18 13:11:57 2026 +0000
Allow for select options such as onChange
---
lib/whimsy/asf/forms.rb | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/lib/whimsy/asf/forms.rb b/lib/whimsy/asf/forms.rb
index d58cc349..0aef680e 100644
--- a/lib/whimsy/asf/forms.rb
+++ b/lib/whimsy/asf/forms.rb
@@ -97,6 +97,7 @@ class Wunderbar::HtmlMarkup
# @param options required ['value'] or {"value" => 'Label for value'} of all
selectable values
# @param values 'value' or ['value'] or {"value" => 'Label for value'} of
all selected values
# @param placeholder Currently displayed text if passed (not selectable)
+ # @param (optional) selectExtra - hash of extra options, e.g. {onChange:
'changefunc()'}
def _whimsy_forms_select(**args)
return unless args[:name]
return unless args[:options]
@@ -108,8 +109,12 @@ class Wunderbar::HtmlMarkup
if args[:multiple]
args[:multiple] = 'true'
end
- _select.form_control type: args[:type], name: args[:name], id:
args[:id], value: args[:value],
- aria_describedby: args[:aria_describedby],
multiple: args[:multiple] do
+ select_options = { type: args[:type], name: args[:name], id: args[:id],
value: args[:value],
+ aria_describedby: args[:aria_describedby],
multiple: args[:multiple] }
+ if args[:selectExtra]
+ select_options.merge! args[:selectExtra]
+ end
+ _select.form_control **select_options do
if ''.eql?(args[:placeholder])
_option '', value: '', selected: 'selected'
else