Skip to main content

Sort

By default only the Amount, Autocomplete, Checkbox, Date, Number Select and String columns are sortable.

You need to specify the sortOrder for each options of your Select column to make it works.

{
typeCell: 'select',
options: [
{
value: 'one',
label: 'First',
sortOrder: 1,
}, {
value: 'three',
label: 'Third',
sortOrder: 3,
}, {
value: 'two',
label: 'Second',
sortOrder: 2
}
]
}
note

The sortOrder only affect the sorting. The menu items order keeps following the order of the options property.

Unsupported column types

You can activate the sorting on others column types by setting the sortable property to true. We recommend using a custom sorting function for those columns as the default result will be unpredictable.

Custom sorting

You can use your own sorting algorithm for any type of column with the sortComparator property.

const badgeValue = (badge) => {
switch (badge) {
case 'ok':
return 1;
case 'in-progress':
return 2;
default:
return -1
}
};

const config = {
columns: [
{
typeCell: 'badge_status',
sortable: true,
sortComparator: (a, b) => badgeValue(a) - badgeValue(b)
},
...
],
...
};
interface sortComparator {
(a, b, rowA:Row, rowB:Row): number
}