UNPKG

@vlsergey/react-bootstrap-pagetable

Version:

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

26 lines (25 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); /** @jsx jsx */ var react_1 = require("@emotion/react"); var react_2 = tslib_1.__importStar(require("react")); var ItemFieldValue_1 = tslib_1.__importDefault(require("../ItemFieldValue")); var ControlledContext_1 = require("./ControlledContext"); function DefaultItemFieldCellRenderer(_a) { var field = _a.field, item = _a.item, etc = tslib_1.__rest(_a, ["field", "item"]); var _b = ControlledContext_1.useControlledContext(), itemModel = _b.itemModel, itemFieldCellHyperlink = _b.itemFieldCellHyperlink, itemFieldCellLinkWrapper = _b.itemFieldCellLinkWrapper; var hyperlink = react_2.useMemo(function () { return itemFieldCellHyperlink(item, field); }, [itemFieldCellHyperlink, item, field]); var children = react_1.jsx(ItemFieldValue_1.default, { field: field, item: item, itemModel: itemModel }); if (hyperlink) { children = react_2.default.createElement(itemFieldCellLinkWrapper, { field: field, hyperlink: hyperlink, item: item }, children); } return react_1.jsx("td", tslib_1.__assign({ css: react_1.css('height: inherit;') }, etc), children); } exports.default = react_2.default.memo(DefaultItemFieldCellRenderer);