The Bug that Turned into a Beautiful Feature: Structured Legend Parent/Child Symbology Handling #4115
Replies: 3 comments
-
My vote is for option 2, I think it provides the best user experience. I also think the buttons in the menu are discover-able enough; adding the eyeball toggle icons to the group item (not in the menu) would probably cause more confusion. |
Beta Was this translation helpful? Give feedback.
-
I agree with what Spencer said to use option 2 but just adding the toggle to the existing menu. In terms of amount of work, the code added to fix the bug initially is in one spot so removing should be straight forward. As well, some of that code can be adapted for show/hide all buttons. |
Beta Was this translation helpful? Give feedback.
-
Looking like we have consensus with Option 2. Well done! Will progress to making Implementation Details and Acceptance Criteria |
Beta Was this translation helpful? Give feedback.
-
Cross post of initial comment by @AleksueiR for discussion: #3152 (comment)
At this point, I think everyone agrees these two use cases are worthwhile and should be addressed. Regardless of our initial intentions, the user-expected behaviour needs to be preserved; furthermore, it matches the default behaviour of the ArcGIS Online map viewer which many RAMP users will be familiar with.
I can think of three options:
1. Legacy mode
A new config option is added to toggle between
legacy
(children's states are preserved upon toggling their parent) andnew
(children's states are reset to their parent's state) modes of parent/child interaction. A config author would need to select which state the map will operate in.Pros:
Cons:
2. Hybrid
We implement the legacy mode (children's states are preserved) and add additional two options to all groups' context menus letting users manually reset the group and all its children to visible or hidden.
This will be similar to the visibility menu we have in the top right corner of the panel which can show/hide all the layers at once.
Pros:
Cons:
3. Lazy
Implement just the legacy mode and pretend nothing happened.
Pros:
Cons:
Thoughts
Option 1 is the worst since we start adding invisible app modes which users can't control (or worse, can control) - different application modes just needlessly tax users' memory and attention.
Option 2 is the most favourable, in my opinion, since we preserve the behaviour users are familiar with and provide an option to reset group visibility through the menu.
Option 3 is sub-optimal and it's technically a half of Option 2 and can be implemented if there is no time to fully implement Option 2.
Note
The 2.4 implementation preserves the states only of the symbology items (as far as I know). In options 1 and 2, this needs to be expanded to also preserve the state of actual child element (
LegendNode
s) as well. Otherwise, the behaviour becomes fragmented.Beta Was this translation helpful? Give feedback.
All reactions