Check box Quick Actions
Problem to solve
Checkboxes in an issue or MR description to define a set of tasks to be completed, however, it is impossible to use the checkboxes to include issues on an issue board or to review a list of issues and see which issues have a specific task completed. Today, a user can manually set labels. But that's not efficient. A user has to do three things:
a) check the box
b) remember about the label
c) apply the label
This does not scale and is dependent on all the end-users remembering to follow the process and apply the appropriate labels.
If checkboxes had some logic behind them, it would be possible to simplify work and make it easy for a checkbox to add or remove a label.
Intended users
Most likely this would be key to product managers and team leads as they would use this to define a process or actions linked to checkboxes.
User experience goal
A user who is working on an issue would not have to remember to add a label, or perform a secondary action, rather checking the box would do the work for them
Proposal
MVC1: Make it possible to perform a quick action when a box is checked.
A quick action would make it easy to add or remove a label, but would also support other situations such as (assigning to a user, Setting weight, or even establishing a future due date)
- When the box is checked the quick action is performed
- When the box is unchecked, a different quick action is performed
From an implementation perspective, we could have a simple notation we add the desired quick action to the end of the checkbox.
- [ ]checkbox details {/label ~checked}
Note: We would also want to have both states accounted for so that we could explicitly handle both Checked and Unchecked states. So, when a box changed state From Checked to Unchecked a different quick action would be activated.
- [ ]checkbox details {/label ~checked : /label ~unchecked}
MVC2: Make it possible to group checkboxes such that only when all are checked is an action taken:
- [ ]check box 1
- [ ]check box 2
- [ ]check box 3 {/label ~checked : /label ~unchecked}
Where the logic is applied to ALL being checked - then the quick action would be applied.