[whatwg] [WF3] <input type=selector>
dean at edwards.name
Sat Dec 10 05:20:44 PST 2005
This is something for Web Forms 3.0 (though it would be nice for WF2).
In the repetition models I've implemented in the past (always tables)
I've provided a way to select a table row. This meant including either a
radio button or checkbox in the first column. When checked, the entire
row would be selected.
I suggest introducing a new input type to facilitate the selection of
repetition blocks: <input type="selector">.
This would render as either a radio button or checkbox depending on an
additional constraint on the repetition template.
When the selector control is checked it results in the repetition block
being selected (the CSS3 ":selected" pseudo class would apply).
I suggest adding a new attribute to repetition blocks (although this is
only appropriate to repetition templates).
"single" would be the default and would mean that only one block can be
selected at a time. If another block is selected the currently selected
block is deselected. <input type="selector"> controls are rendered as
"multiple" means that any number of blocks can be selected. <input
type="selector"> controls are rendered as checkboxes.
Changes to <input type="delete">
the current definition of this control means that a <input
type="delete"> element must be contained by a repetition block for it to
be active. I suggest allowing the same constraints that apply to <input
type="add"> so that the delete control can apply to selected elements if
placed outside of a repetition block. In reality this means that you
only need one delete button to control your repeating form controls.
.selected DOM Property
Not sure we need this but it would be nice to be able to test whether or
not a repetition block is selected using a DOM property.
Other Possible <input> Types
The introduction of <input type="selector"> opens the door to other
input types. Possibly <input type="copy"> and <input type="paste">? They
would be similar to the add/delete controls but would use the clipboard.
<input type="copy"> would delete selected blocks but store the
associated data. <input type="paste"> would add new rows and populate
them with data from the clipboard.
More information about the whatwg