Introduce select-all components for all types of checkbox
---------------------------------------------------------
Key: WICKET-3718
URL: https://issues.apache.org/jira/browse/WICKET-3718
Project: Wicket
Issue Type: Improvement
Reporter: Carl-Eric Menzel
So far, Wicket only has CheckGroupSelector as a select-all component. It has
two main drawbacks:
- it only works with CheckGroup components, not with CheckboxMultipleChoice or
multiple CheckBox components.
- it has no "auto update" feature that updates the state of the select-all when
any of the associated checkboxes is checked or unchecked.
This patch introduces two new components:
- CheckboxMultipleChoiceSelector: This does for CheckboxMultipleChoice what
CheckGroupSelector does for CheckGroup.
- CheckBoxSelector: A select-all component for a collection of CheckBox
instances.
Both are based on a new abstract superclass called AbstractCheckSelector that
does the heavy lifting. The subclasses only provide a JS function that finds
the associated checkboxes. The superclass manages both the select-all and the
auto-update mentioned above. The auto update feature is turned on by default,
since it seems to be the most sensible behavior.
The patch also pretty much rewrites the original CheckGroupSelector to also use
the new AbstractCheckSelector. In CheckGroupSelector the auto-update feature is
disabled by default to keep the behavior the same as in previous versions. It
can be enabled by overriding wantAutomaticUpdate() to return true. This default
should probably be changed in Wicket 1.5 or 1.6.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira