@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
JavaScript
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;
;