@vlsergey/react-bootstrap-pagetable
Version:
Complex solution to work with pageable data, including sorting, filtering, actions, changing displayed columns, etc.
20 lines (19 loc) • 1.05 kB
JavaScript
import { __read } from "tslib";
import React, { useCallback, useState } from 'react';
import Button from 'react-bootstrap/Button';
import { useControlledContext } from '../ControlledContext';
import VisibleFieldsModal from './VisibleFieldsModal';
function VisibleFieldsButton() {
var _a = useControlledContext(), disableVisibleFieldsChange = _a.disableVisibleFieldsChange, size = _a.size;
var _b = __read(useState(false), 2), show = _b[0], setShow = _b[1];
var handleShow = useCallback(function () { setShow(true); }, [setShow]);
var handleHide = useCallback(function () { setShow(false); }, [setShow]);
if (disableVisibleFieldsChange) {
return null;
}
return React.createElement(React.Fragment, null,
React.createElement(Button, { onClick: handleShow, size: size, variant: "light" },
React.createElement("i", { className: "fas fa-cog" })),
React.createElement(VisibleFieldsModal, { onHide: handleHide, show: show }));
}
export default React.memo(VisibleFieldsButton);