Aggregations: #object vs. #objects
Opened this issue · 0 comments
marceltaeumel commented
Until now, #objects
in a model node is just used via #inputForChildren
when computing the node's children. While it might be useful to also expose that in panes -- such as when selecting a model node -- it will confuse the user because a simple #asGroups
would yield group contents instead of the group's representative.
That's why I already discarded the following idea:
ViPane >> notifyChangedSelection: selectedNodes
"..."
self
setProperty: #lastSelection
toValue: (selectedNodes gather: [:node |
node isDictionary
flag: #aggregation; "mt: See ViModelNode >> #inputForChildren. Support aggregation."
ifTrue: [node at: #objects ifAbsent: [(node at: #object ifAbsent: [nil]) wrapList]]
ifFalse: [node value wrapList]]) asArray.
"..."
Let's better use #object
instead, which the user can easily set to a group's contents instead of its representative while still using the representative for #text
, #icon
, etc.