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.