Releases: ndlabdev/sv5ui-datagrid
Releases · ndlabdev/sv5ui-datagrid
Release list
v1.3.0
Added
- Header groups fold:
columnGroupShowswaps detail columns for a summary one, and
collapseMode: 'rail'takes the whole group away behind a drawer the height of the grid.
Every level has its own toggle, the fold is on the keyboard and in the snapshot. - A filter row under the header:
filtering({ floatingRow: true }), one control per column
type, sharing the column's single filter panel. GridFeature.cellValuestands between a cell's value and every way it leaves the grid:
render, export, clipboard, quick filter, set filter and the editor's draft.CellDecoration.stylewrites CSS declarations per cell, custom properties included, so a
feature can paint a value it computes rather than pick from a fixed set of classes.DataGridLabels.anyValueandDataGridLabels.filterRowValue, in all twelve packs.
Changed
- A date condition in the filter panel is picked with the grid's date picker rather than the
browser's own control.
Fixed
- A date typed one segment at a time is the date that was typed, and a year under a hundred
is that year, not nineteen-hundred-and-it. - A row edit commits only the columns that row may edit.
- One filter panel per column, wherever it was opened from.
- Focus stands where the grid still draws: putting the focused column away used to leave the
grid with no tab stop at all.
Full detail in the CHANGELOG.
v1.2.0
Fifteen defects, found by putting the shapes a JSON API actually delivers through every feature that reads a value.
Fixed
- Dates. A
Datecell was filtered, sorted and exported by its instant rather than its day, so east of Greenwich a row reading 10 January went unfound by a filter asking for 10 January, and an export wrote the 9th. A plain2026-03-14drew as 13 March west of it. - Quick filter. It searched the value behind the cell, so no formatted column could be found by what it showed. It matches both now, and got faster doing it: 29ms to 6ms per keystroke at 100k rows.
- Percent columns. The filter panel wanted
0.05for a cell reading5%. It takes 5, and stores the ratio. - Editors. A date editor opened empty over a cell holding a
Date, and committing wrote the emptiness back. Pasting42into a number column stored the string. - Set filters could not match a column of
Dateobjects at all, and did not survive a snapshot. - Export called one page "All rows" under
rowModel: 'server'. It says "Loaded rows", andonExportAllpoints the item at your own endpoint. - Enter no longer turns the page when it commits the last row of one.
- Edit chrome. A row edit drew a box inside a box, and the row separator painted over the ring of the cell editor it rings.
Changed
- Sorting, at 100k rows: 73ms to 18ms by number, 386ms to 265ms by string.
- Wide grids. Every column rendered until the container was measured. 2,000 columns mounted in 2.3s, now 37ms; 20,000 mounts in 304ms.
- Locale packs layer over English, so a pack of five strings works and a new label breaks nobody.
- The server request carries
nullsandquickFields, which a backend cannot otherwise know.
Full detail in CHANGELOG.md.