I think checkboxes can use some improvements.
Suggestion 1: “disable if option” for a checkbox, make ability to change the state of the checkbox dependent on the state of another (one or many) checkboxes.
For example, if one canvas checkbox is checked (set to
True()), you can’t click on the other one (like “disable if” option for buttons). Same “disable if” option can be used in checkbox column type options (don’t allow to change the value of checkbox if some condition is met).
Suggestion 2: An option to uncheck a checkbox (set it to
False()), if dependent checkbox is being set from
True() (or some other criteria is met). Would be useful for canvas checkboxes AND checkbox column type in a table.
Suggestion 3: make canvas checkboxes programmable (give an option to set a function for a checkbox).
Real document example where it would be useful:
I’d like to use checkboxes to control filtering of the table.
I created two canvas checkboxes and use their values for two table filters.
One checkbox is to show only rows from the table Ingredients with value
True() in the column “Using now”, another to show only rows with value
I can’t disable an option to click on one of these checkboxes if another one is set to
This would be possible with Suggestion 1.
And I can’t change the value of one of the checkboxes depending on the state of another (for example, to set the first checkbox to
False() if the second one changes it’s value from
This would be possible with Suggestion 2.
I know I can use multiple select to control a filter, but multiple selects are almost unusable on mobile (especially if the list is long) and checkboxes are much easier to understand and use.