Description
New spec, as agreed upon after further discussion here and on the forum:
new appearance | behavior | old appearance |
---|---|---|
columns | horizontal labels with buttons arranged in a number of columns determined by the screen width | horizontal |
columns no-buttons | horizontal labels without buttons arranged in a number of columns determined by the screen width | |
columns-pack | horizontal labels with buttons, packed in to fit horizontal space with minimal padding | horizontal-compact |
columns-pack no-buttons | horizontal labels without buttons, packed in to fit horizontal space with minimal padding | compact |
columns-n | horizontal labels with buttons arranged in n columns where n is an integer between 1 and 10 inclusive | |
columns-n no-buttons | horizontal labels without buttons arranged in n columns where n is an integer between 1 and 10 inclusive | compact-n |
This is really three base appearances with no-buttons
that can combine with them (in any order) but the table above lists all 6 possibilities so that old appearances can be listed.
As of May 2019, both Collect (1.22) and Enketo (1.77.0) support all of these combinations. Documentation should be updated in November 2019 at the earliest when users will almost all have updated clients.
Various notes from the original discussion
### ODK Forum thread https://forum.opendatakit.org/t/spec-proposal-harmonize-compact-compact-n-horizontal-horizontal-compact-appearances/15565Tentative action to take
The following changes will be made to clients, maintaining backwards compatibility:
compact-n
> compact columns-n
horizontal
-> columns
horizontal-compact
-> columns-flex
In roughly April 2019, once users have updated their clients, change the documentation in the following way:
compact-n
,horizontal
andhorizontal-compact
should be deprecated.columns
,columns-n
andcolumns-flex
should be introduced.compact
should be an optional modifier on those.
See forum.
Description
There are currently various appearances to make select options appear horizontally. Here is a test form illustrating these different appearances: https://docs.google.com/spreadsheets/d/1s79M4wsZ1QA5xwJWSEsTGoJCpjtrrdqP0NtpNeEmsPs/edit?usp=sharing
Here is how they currently behave:
appearance | Collect behavior | Enketo behavior |
---|---|---|
compact |
horizontal labels without select markers, packed in to fit horizontal space with minimal padding | same as Collect |
compact-n |
horizontal labels without select markers arranged in n columns | same as Collect |
horizontal |
none | like compact-n but the number of columns is dynamically determined by the screen width and select markers are included |
horizontal-compact |
none | like compact but with select markers |
list |
label takes up half the screen, half the screen is for options, option labels are above select markers | none |
label |
like list but labels only |
same as Collect |
list-nolabel |
like list but options only |
same as Collect |
I'm guessing these were added organically over time and it would be good to formalize them a little bit before they get broader support.
I think compact
and compact-n
make sense as they exist and are named appropriately.
I think list
, label
and list-nolabel
are a bit odd but not too bad.
I'm not sure about horizontal
-- @MartijnR what is its intended purpose in contrast to compact-n
?
The behavior of horizontal-compact
(horizontal options with minimal padding and select markers) seems useful but the naming doesn't make sense to me in the context of the other appearances. How about compact-markers
or something like that?