Sort
Sort renders a list of possible sort by and sort order options in one single component.
The component is not displayed while executing the search query or if there are no results.
Usage
<Sort
values={[
{
text: 'Newest',
sortBy: 'creation_date',
sortOrder: 'asc',
},
{
text: 'Oldest',
sortBy: 'creation_date',
sortOrder: 'desc',
},
]}
/>
Props
values
ArrayA list of possible values, where each value has the format
{ text: "Newest", sortBy: "<field name>", sortOrder: "<value>" }.
label
functionoptionalAn optional function to wrap the component with a prefix and suffix string.
E.g.label={(cmp) => <> sorted by {cmp}</>}
overridableId
StringoptionalAn optional string to define a specific overridable id.
Usage when overriding
const MySort = ({ currentSortBy, options, onValueChange, ariaLabel, selectOnNavigation }) => {
...
}
const overriddenComponents = {
"Sort.element": MySort
};
Parameters
currentSortBy
StringThe current value of the
sortByquerystate.currentSortOrder
StringThe current value of the
sortOrderquerystate.options
ArrayThe options passed as prop to the component.
onValueChange
functionThe function to call when the user changes the sort by field value to change the
querystate.onValueChange(newValue)ariaLabel
StringThe ARIA (Accessibility) label to add to the component.
selectOnNavigation
BooleanWhen using a dropdown, set if the
onValueChangeshould be called when the new dropdown item is selected with arrow keys, or only on click or on enter.