Per this slack thread - buttons should always be enabled, and we should show clear error messages when the expected action does not happen. The following buttons are conditionally disabled:
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | None | T299176 Phase Theta – Root task | |||
Open | None | T324802 Phase θ Goal 5: Fallback view | |||
Resolved | JKieserman | T315099 zObject creation: errors / blockers to saving are not surfaced well or at all | |||
Resolved | JKieserman | T320269 Don't disable buttons on failed validation, instead, surface errors and highlight missing fields when button is clicked |
Event Timeline
Per this slack thread - buttons should always be enabled
I don't have access to slack and I am willing to take this issue. Could you put here a summary of the exchange please?
Yes!
Basically we are shifting the model generally from "You can't click a button until you have reached a particular state" to "you can click a button at any time, and the front end will decide if you are in a state that can communicate with the backend."
What's nice about this is:
- we don't need to overload the UI with things about what is/isn't required or explaining why the button isn't clickable
- we can instead work on making errors very specific and visible inline
Let me know if more information would be helpful!
This task is closely related to the Publish component development (T321381, being addressed by @Ddwaal-WMF) as well as the error handling task (T315099, being addressed by @JKieserman).
For that reason, the current "Save Function" and "Save ZObject" buttons will disappear.
To avoid conflicts and overwriting each other work, this task should just be limited to the "Call Function" button, and removing the restrictions that conditionally disable it.
Removing myself in favor of T320388. I may take it back later, but until then, I don't mind if anyone claim it!