UNPKG

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