-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add displayOnlyProperty to NumberPicker and NumberDisplay #884
Comments
pixelzoom
changed the title
Add displayOnlyProperty to numberPicker and numberDisplay
Add displayOnlyProperty to NumberPicker and NumberDisplay
May 21, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://github.com/phetsims/phet-io/issues/1757
#451
#617
We would like a displayOnlyProperty` in PhET-iO studio so we can display the value of a number picker without just using enabledProperty. Using enabledProperty can make the values hard to read.
@pixelzoom said: we shouldn't design this based on how we want it to appear in one situation and surgically remove specific components. Instead we should replace it with a preferred component (e.g. a simple box with a stroke, fill, rounded corners), and reuse that wherever we have other components that have displayOnlyProperty.
This would be its own component (called
displayPanel
for example) that you could choose to use in place of a different component (numberPicker, comboBox, etc.).@kathy-phet wonders if it could inherit characteristic of the component it's replacing. @pixelzoom says we shouldn't do that.
How much are we trying to optimize the design and user experience?
if we create a displayOnlyProperty for every common code component, need to test for it, account for dynamic layout, etc.
@samreid is wondering if we really need to bake this into the common code property, and instead just define it when needed. We wonder if this will create duplication, inconsistent experiences.
Desired things we can customize for
displayOnlyProperty
Which components would benefit from this
displayOnlyProperty
being used? (Listed a few below, but for now we'd like to just start with number-related components)Having this ability for numbers seems high value for clients. Not sure about other components.
Can our goals be achieved using enabledProperty? Perhaps the text and/or number doesn't dim, only the interactive controls do? Make sure the value is clearly readable?
@amanda-phet brought up that number pickers are in a LOT of math sims, and having a displayOnlyProperty would be really nice and improve the designer experience when trying to set up problems where we might want only a subset of pickers interactive and others not interactive.
To decide ASAP: is this blocking Mean: Share and Balance? Or should this be addressed in a future sim? If there is a sim on deck that will benefit from this added value we could address it with that sim. We could do a sim-specific implementation for MSaB and not address this in the common code yet.
There is a precedent for addressing something in a future sim when we know we have time for it. @zepumph said this was not an ideal workflow.
For MSaB: We are leaning toward an option in enabledProperty that hides the arrows (feels too much like visibleProperty), or grays out the arrows and not the number value (works in this context, but might not generalize), or darkens the number when setting enabledProperty to false (node is handling this right now, so not sure about this). Decision: Let's make a numberPicker subclass in MSaB that overrides numberPicker and see what problems we run into.
Bottom line: we are spending a lot of time over-designing features that we don't have clients asking for yet, but we are going to move forward anyway because we have designers asking for this.
The text was updated successfully, but these errors were encountered: