Data grid / foldkit-mixins-data-grid
Limits
- Every row is one height.
- A Shift click over rows does not extend a row range yet: the click's Message carries the cell, not the rows between, and the grid's update holds no row order. Shift+Space does it from the keyboard.
- Keys read the state the last render drew, so two keys inside one frame
both start from the same cell, as
GridNavigation's do. Where a Message could carry a stale result it carries the intent instead (EditTyped,MenuChosen, a drag's offset), andupdateworks it out from the Model; see Messages carry intent. - A header dragged with the pointer reorders within its region; pinning goes through the column menu. On touch the browser's scroll takes the gesture.
- A column menu opens below its header, inside the scroll container: a grid shorter than the menu clips it.
- A
DateFromStringcolumn isCellEditor.Dateand edits in a date field. The draft is the local calendar day,YYYY-MM-DD, unless the column'sdraftreturns a string. Committing decodes that text through the schema. - A copy's text is drawn with the grid, built once per range and rows, so copying a very large range costs its size each time the range changes.
- Cells say their value as text unless
celldraws them; the Display vocabulary offoldkit-crudarrives with the CRUD adapter in Phase 7.