Ticket #270 (closed Enhancement: fixed)
Checkbox visualization for multiple-value aggregation types
Reported by: | jri | Owned by: | jri |
---|---|---|---|
Priority: | Major | Milestone: | Release 4.1 |
Component: | DeepaMehta Standard Distribution | Version: | 4.0.11 |
Keywords: | Cc: | dgf | |
Complexity: | 8 | Area: | Application Framework / API |
Module: | deepamehta-webclient |
Description
Should be configurable by introducing another View Configuration setting.
Change History
comment:2 Changed 12 years ago by jri
- Complexity changed from 5 to 8
- Area changed from GUI / Usability to Application Framework / API
Originally a quick thought suggests the envisioned checkbox renderer would be just another FieldRenderer? implementation. But actually the checkbox renderer is not covered by the TopicRenderer? framework as it is: while a field renderer processes a *single* simple topic the checkbox renderer would render *multiple* topics.
A solution would be to extend the TopicRenderer? framework by the concept of a MultiRenderer?. A MultiRenderer? would be responsible for rendering "cardinality many" fields. The default MultiRenderer? would render multi fields as they are rendered now: as a sequence with additional "add another" and "remove" buttons. The new checkbox renderer would be an optional MultiRenderer? implementation.
So, the focus of this ticket is now:
- introduce the MultiRenderer? concept
- repackage the current multiple value render logic as the "DefaultMultiRenderer?",
- provide another MultiRenderer? implementation: CheckboxRenderer?.
BTW: it is evident for a while that even another type of renderer would be required to complete the picture: a CompositeRenderer?. This would renderer composite values like a Person or an Address. This will be addressed in a separate ticket.
comment:3 Changed 12 years ago by Jörg Richter
Webclient: introduce MultiRenderer? concept (#270).
There is a new view configuration setting: "Multi Renderer URI".
See ticket 270.
comment:4 Changed 12 years ago by Jörg Richter
Webclient: introduce MultiRenderer? concept (#270).
There is a new view configuration setting: "Multi Renderer URI".
See ticket 270.
comment:5 Changed 12 years ago by Jörg Richter
Webclient: introduce MultiRenderer? concept (#270).
There is a new view configuration setting: "Multi Renderer URI".
See ticket 270.
comment:6 Changed 12 years ago by Jörg Richter
Webclient: checkbox multi-renderer (#270).
Page rendering and form rendering works.
Form processing is pending.
See ticket 270.
comment:7 Changed 12 years ago by Jörg Richter
Webclient: refactor page model (#270).
The page model classes are unified.
There is just one class: PageModel?.
The FieldModel? class is dropped.
The page model is represented by a hierarchy of PageModel? instances.
There are 3 types of PageModel? instances:
- SIMPLE
- COMPOSITE
- MULTI
Checkbox multi-renderer form processing is still pending.
See ticket 270.
comment:8 Changed 12 years ago by Jörg Richter
Pluggable multi-renderer form reading func (#270).
See ticket 270.
comment:9 Changed 12 years ago by Jörg Richter
Webclient: the Checkbox Renderer works (#270).
The (form rendering aspect of the) Checkbox Renderer allows the user to select one or more items. The set of possible items comprises all the topic instances of a certain type -- the item type. The item type must be aggregated to a parent type. If a parent's type instance is rendered the checkboxes appear.
To use the Checkbox Renderer enter "dm4.webclient.checkbox_renderer" in the item type's "Multi Renderer URI" view configuration.
Note: for the Checkbox Renderer to work 2 requirements must be met:
1) the item type is associated to its parent type via "Aggregation Definition"
It's in the nature of the Checkbox Renderer that "Composition Definition" doesn't work.
2) parent type -> item type must be a "Many" relationship.
Again, it's in the nature of the Checkbox Renderer that "One" makes no sense.
Technically the Checkbox Renderer is a "Multi" renderer (new concept).
A multi renderer is responsible for rendering the multiple values resulting from a "Many" relationship.
Layout and other minor issues remain.
See ticket 270.
comment:10 Changed 12 years ago by Jörg Richter
Webclient: tweak multi renderer layout (#270).
See ticket 270.
comment:11 Changed 12 years ago by Jörg Richter
Webclient: introduce MultiRenderer? concept (#270).
There is a new view configuration setting: "Multi Renderer URI".
See ticket 270.
comment:12 Changed 12 years ago by Jörg Richter
Webclient: checkbox multi-renderer (#270).
Page rendering and form rendering works.
Form processing is pending.
See ticket 270.
comment:13 Changed 12 years ago by Jörg Richter
Webclient: refactor page model (#270).
The page model classes are unified.
There is just one class: PageModel?.
The FieldModel? class is dropped.
The page model is represented by a hierarchy of PageModel? instances.
There are 3 types of PageModel? instances:
- SIMPLE
- COMPOSITE
- MULTI
Checkbox multi-renderer form processing is still pending.
See ticket 270.
comment:14 Changed 12 years ago by Jörg Richter
Pluggable multi-renderer form reading func (#270).
See ticket 270.
comment:15 Changed 12 years ago by Jörg Richter
Webclient: the Checkbox Renderer works (#270).
The (form rendering aspect of the) Checkbox Renderer allows the user to select one or more items. The set of possible items comprises all the topic instances of a certain type -- the item type. The item type must be aggregated to a parent type. If a parent's type instance is rendered the checkboxes appear.
To use the Checkbox Renderer enter "dm4.webclient.checkbox_renderer" in the item type's "Multi Renderer URI" view configuration.
Note: for the Checkbox Renderer to work 2 requirements must be met:
1) the item type is associated to its parent type via "Aggregation Definition"
It's in the nature of the Checkbox Renderer that "Composition Definition" doesn't work.
2) parent type -> item type must be a "Many" relationship.
Again, it's in the nature of the Checkbox Renderer that "One" makes no sense.
Technically the Checkbox Renderer is a "Multi" renderer (new concept).
A multi renderer is responsible for rendering the multiple values resulting from a "Many" relationship.
Layout and other minor issues remain.
See ticket 270.
comment:16 Changed 12 years ago by Jörg Richter
Webclient: tweak multi renderer layout (#270).
See ticket 270.
comment:17 Changed 12 years ago by jri
- Status changed from accepted to closed
- Resolution set to fixed
comment:18 Changed 12 years ago by Jörg Richter
Webclient: introduce MultiRenderer? concept (#270).
There is a new view configuration setting: "Multi Renderer URI".
See ticket 270.
comment:19 Changed 12 years ago by Jörg Richter
Webclient: introduce MultiRenderer? concept (#270).
There is a new view configuration setting: "Multi Renderer URI".
See ticket 270.
comment:20 Changed 12 years ago by Jörg Richter
Webclient: checkbox multi-renderer (#270).
Page rendering and form rendering works.
Form processing is pending.
See ticket 270.
comment:21 Changed 12 years ago by Jörg Richter
Webclient: refactor page model (#270).
The page model classes are unified.
There is just one class: PageModel?.
The FieldModel? class is dropped.
The page model is represented by a hierarchy of PageModel? instances.
There are 3 types of PageModel? instances:
- SIMPLE
- COMPOSITE
- MULTI
Checkbox multi-renderer form processing is still pending.
See ticket 270.
comment:22 Changed 12 years ago by Jörg Richter
Pluggable multi-renderer form reading func (#270).
See ticket 270.
comment:23 Changed 12 years ago by Jörg Richter
Webclient: the Checkbox Renderer works (#270).
The (form rendering aspect of the) Checkbox Renderer allows the user to select one or more items. The set of possible items comprises all the topic instances of a certain type -- the item type. The item type must be aggregated to a parent type. If a parent's type instance is rendered the checkboxes appear.
To use the Checkbox Renderer enter "dm4.webclient.checkbox_renderer" in the item type's "Multi Renderer URI" view configuration.
Note: for the Checkbox Renderer to work 2 requirements must be met:
1) the item type is associated to its parent type via "Aggregation Definition"
It's in the nature of the Checkbox Renderer that "Composition Definition" doesn't work.
2) parent type -> item type must be a "Many" relationship.
Again, it's in the nature of the Checkbox Renderer that "One" makes no sense.
Technically the Checkbox Renderer is a "Multi" renderer (new concept).
A multi renderer is responsible for rendering the multiple values resulting from a "Many" relationship.
Layout and other minor issues remain.
See ticket 270.
comment:24 Changed 12 years ago by Jörg Richter
Webclient: tweak multi renderer layout (#270).
See ticket 270.