Sort
Feature
Allows sorting of grid by clicking (or tapping) headers, also displays which columns grid is sorted by (numbered if using multisort). Use modifier keys for multisorting: [Ctrl/CMD + click] to add sorter, [Ctrl/CMD + Alt + click] to remove sorter. The actual sorting is done by the store, see Store.sort().
// sorting feature is enabled, no default value though
const grid = new Grid({
features : {
sort : true
}
});
// use initial sorting
const grid = new Grid({
features : {
sort : 'name'
}
});
// can also be specified on the store
const grid = new Grid({
store : {
sorters : [
{ field : 'name', ascending : false }
]
}
});
// custom sorting function can also be specified on the store
const grid = new Grid({
store : {
sorters : [{
fn : (recordA, recordB) => {
// apply custom logic, for example:
return recordA.name.length < recordB.name.length ? -1 : 1;
}
}]
}
});
For info on programmatically handling sorting, see StoreSort:
const grid = new Grid({ });
// Programmatic sorting of the store, Grids rows and UI will be updated
grid.store.sort('age');
Grid columns can define custom sorting functions (see Column.sortable). If this feature is configured with prioritizeColumns: true, those functions will also be used when sorting programmatically:
const grid = new Grid({
columns : [
{
field : 'age',
text : 'Age',
+ sortable(lhs, rhs) {
+ // Custom sorting, see Array#sort
+ }
}
],
features : {
sort : {
+ prioritizeColumns : true
}
}
});
// Sortable fn will also be used when sorting programmatically
grid.store.sort('age');
This feature is enabled by default.
See also
Configs
Configs are options you supply in a configuration object when creating an instance of this class-
Enable multi sort
-
Set to
falseto not show the sort icon when hovering a Column header.Has a corresponding runtime showIconOnColumnHover property.
Properties
Properties are getters/setters or publicly accessible variables on this class-
Identifies an object as an instance of Sort class, or subclass thereof.
-
Set to
falseto not show the sort icon when hovering a Column header.Has a corresponding showIconOnColumnHover config.
-
Identifies an object as an instance of Sort class, or subclass thereof.
Functions
Functions are methods available for calling on the class-
getColumnDragToolbarItems( )private
Supply items to ColumnDragToolbar
-
onElementClick( )private
Clicked on header, sort Store.
-
renderHeader( )private
Called when grid headers are rendered, make headers match current sorters.
-
syncHeaderSortState( )private
Update headers to match stores sorters (displays sort icon in correct direction on them)
CSS variables
CSS variables that can be set to adjust appearance| Name | Description |
|---|---|
| --b-sort-header-icon | Column header sort icon (font icon) |
| --b-sort-header-index-color | Column header sorter index color (displayed when multi-sorting) |
| --b-sort-header-index-font-size | Column header sorter index font size (displayed when multi-sorting) |