|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added a way to provide row and/or cell specific metadata:
The item metadata is retrieved separately from the item itself. It is done via the optional "getItemMetadata(index)" method on the data provider. The method should return an object that will be queried by the grid. The object can contain row-level properties itself (currently supported: selectable, focusable, cssClasses, formatter, editor) and a "columns" collection with column-level properties (currently supported: selectable, focusable, cssClasses, formatter, editor, colspan) indexed by column id or index. The grid will first try to read a supported property off row-level metadata, then off column-level metadata first by id and then by index, and then off the column definition.
Renamed "unselectable" into "selectable" and changed how it works. It is now queried in the order described above, and the first available value is read. The new "focusable" property works the same way.
Separated logic for determining whether a cell can be active/focused and selected. Added "canCellBeActive" method.
Removed grouping-related code from the grid core and implemented it via "getItemMetadata" on the DataView.
Rewrote cell navigation to work with colspan.
Added support for colspan. Colspan can be defined on the column definition (or item metadata via getItemMetadata). A special value of "*" is taken to mean "span the rest of the row".
TODO:
Further decouple grouping. Add a grouping plugin to handle toggling and provide formatters. Move that stuff out of the DataView.
|