@findify/react-components
Version:
Findify react UI components
23 lines (22 loc) • 792 B
JavaScript
import { useCallback, useMemo } from 'react';
import { List } from 'immutable';
import { useSort } from '@findify/react-connect';
export default (function () {
var _useSort = useSort(),
config = _useSort.config,
selected = _useSort.selected,
onChangeSort = _useSort.onChangeSort;
var items = config.getIn(['sorting', 'options'], List());
var selectedItem = useMemo(function () {
if (!selected) return items.find(function (i) {
return i.get('field') === 'default';
});
return items.find(function (i) {
return i.delete('label').equals(selected);
});
}, [selected]);
var onChange = useCallback(function (item) {
onChangeSort(item.get('field', 'default'), item.get('order', ''));
}, []);
return [items, selectedItem, onChange];
});