UNPKG

@vlsergey/react-bootstrap-pagetable

Version:

Complex solution to work with pageable data, including sorting, filtering, actions, changing displayed columns, etc.

15 lines (14 loc) 688 B
import { useMemo } from 'react'; import { notEmpty } from '../../arrayUtils'; import { useControlledContext } from '../ControlledContext'; export default function useVisibleFields() { var _a = useControlledContext(), visibleFields = _a.visibleFields, itemModel = _a.itemModel; var allFields = itemModel.fields; var fieldsMap = useMemo(function () { return new Map(allFields.map(function (field) { return [field.key, field]; })); }, [allFields]); var result = useMemo(function () { return visibleFields.map(function (fieldKey) { return fieldsMap.get(fieldKey); }).filter(notEmpty); }, [fieldsMap, visibleFields]); return result; }