Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-3718

Introduce select-all components for all types of checkbox

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.4.18, 1.5-RC5
    • 1.5.0
    • wicket
    • None

    Description

      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.

      Attachments

        Activity

          People

            mgrigorov Martin Tzvetanov Grigorov
            cmenzel Carl-Eric Menzel
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: