Page MenuHomePhabricator

Provide configuration for flipping controls for Process Dialog
Open, NormalPublic

Description

tl;dr it would be nice if you could pass a config option to Process Dialog to place the primary controls in the footer instead of the header. It might also be nice if one could manually specify which corner an action should be placed in.

Process Dialog wants primary actions to be at the top by default. But for some dialogs, like T206717: Help panel: add call-to-action and help panel into the editing UI, this doesn't always make sense, as it requires the user to go from typing text at the bottom of the dialog to clicking a button to advance at the top of the dialog. I think most users expect the primary action to be at the bottom of the form that they filling out.

A related issue occurs on T207717: Personalized first day: build Variation C, where the last step of the form has the progressive action on the top right of the form, away from where the user's last interaction with the form is. In testing out the code for that feature, at least two people had to search for a little bit to figure out where to submit the form.

For T206717, I ended up constructing button widgets and placing them in the footer, then calling execute action when they were clicked. This meant I couldn't make use of the static.actions and the modes, so I had to write more code than would have otherwise been necessary. Thoughts?

Event Timeline

kostajh created this task.Dec 5 2018, 2:58 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptDec 5 2018, 2:58 PM
kostajh updated the task description. (Show Details)Dec 5 2018, 3:05 PM
RHo added a comment.Dec 5 2018, 6:49 PM

+1 that it would be useful to config placement of CTAs in dialogs, specifically also at mobile and desktop display level. Whilst in mobile it makes sense to have actions to cancel/submit at the top of the screen (esp in cases where an open keyboard can hide action buttons), we've seen in testing the expectation for CTAs to be below content.