@vlsergey/react-bootstrap-pagetable
Version:
Complex solution to work with pageable data, including sorting, filtering, actions, changing displayed columns, etc.
22 lines (21 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importStar(require("react"));
var Button_1 = tslib_1.__importDefault(require("react-bootstrap/Button"));
var ControlledContext_1 = require("../ControlledContext");
var VisibleFieldsModal_1 = tslib_1.__importDefault(require("./VisibleFieldsModal"));
function VisibleFieldsButton() {
var _a = ControlledContext_1.useControlledContext(), disableVisibleFieldsChange = _a.disableVisibleFieldsChange, size = _a.size;
var _b = tslib_1.__read(react_1.useState(false), 2), show = _b[0], setShow = _b[1];
var handleShow = react_1.useCallback(function () { setShow(true); }, [setShow]);
var handleHide = react_1.useCallback(function () { setShow(false); }, [setShow]);
if (disableVisibleFieldsChange) {
return null;
}
return react_1.default.createElement(react_1.default.Fragment, null,
react_1.default.createElement(Button_1.default, { onClick: handleShow, size: size, variant: "light" },
react_1.default.createElement("i", { className: "fas fa-cog" })),
react_1.default.createElement(VisibleFieldsModal_1.default, { onHide: handleHide, show: show }));
}
exports.default = react_1.default.memo(VisibleFieldsButton);