- Horizontal without outside borders, maybe not even TH grey, "simple"
- Make a no-wrap column type, with and without truncation
- Guaranteed smallest cell: width:1px no-wrap
- Easy to use mechanism so that
<thead>/<tfoot>stay in the parent viewport while<tbody>scrolls vertically if height is constrained. All 3 scroll horizontally if width is constrained (perhaps keep column 1 sticky on the left?) - Explore non-repetitive means to transform tables into zebra cards on phone widths via JS.
-
.vp-group.stackingwould be handy for wider fields - Thoroughly review CSS, which seems bloated by now
- Refactor
<form action="json-post">so that XHR loading is independent of JSON feature. - Grab titles in addition to body.
- Document how to nest objects in JSON output.
- Load content on demand
- Support the
formactionattribute of clicked elements. - Add an attribute which will make the initial load save an input's value, then on submit compare so that the variable is not sent unchanged. A numeric specialization could send the difference instead of the new value. (Helps multiple users editing the same thing without conflict and moves the burden of identifying changes to the client side. Delta should use a suffix or something so that non-JS users submitting the form won't distort data.)
- WebSocket helper (as we already have XHR helper)
- Server-Sent Events (SSE) helper
- Add a 4th type "Bool" mapping to JSON boolean for Y/N fields
- Repeatable: add entries/rows via additional disabled entry until clicked
- Repeatable: remove existing entries/rows (mark for deletion with
null) - For select and select multiple, we'll wait until we have Selecteur and then revisit "combo" for something more general. (One or multiple, allow arbitrary or not.) Single selects up to X items should be radio buttons, above should be a select, and multiple should be a
<vp-select>. - When CSS table will be (re-)done, consider using it here.
- Add an alternate "send changes only" edit mode.
Evaluate if we can be an order of magnitude smaller than existing stand-alone options for our specific needs.
- Test prototype with Merino CMS list and with PyriteView user list to confirm performance vs native datalist.
More or less a port/cleanup of the old Merino jQuery widget, which had some serious usability issues.