UNPKG

@vlsergey/react-bootstrap-pagetable

Version:

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

18 lines (17 loc) 838 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); var arrayUtils_1 = require("../../arrayUtils"); var ControlledContext_1 = require("../ControlledContext"); function useVisibleFields() { var _a = ControlledContext_1.useControlledContext(), visibleFields = _a.visibleFields, itemModel = _a.itemModel; var allFields = itemModel.fields; var fieldsMap = react_1.useMemo(function () { return new Map(allFields.map(function (field) { return [field.key, field]; })); }, [allFields]); var result = react_1.useMemo(function () { return visibleFields.map(function (fieldKey) { return fieldsMap.get(fieldKey); }).filter(arrayUtils_1.notEmpty); }, [fieldsMap, visibleFields]); return result; } exports.default = useVisibleFields;