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.24 kB
import { __assign, __read, __rest, __spreadArray } from "tslib"; import Button from '@vlsergey/react-bootstrap-button-with-spinner'; import React, { useCallback } from 'react'; function ActionButton(_a) { var action = _a.action, disabled = _a.disabled, onAction = _a.onAction, selectedItems = _a.selectedItems, size = _a.size, etcProps = __rest(_a, ["action", "disabled", "onAction", "selectedItems", "size"]); var handleClick = useCallback(function () { var etc = []; for (var _i = 0; _i < arguments.length; _i++) { etc[_i] = arguments[_i]; } return onAction.apply(void 0, __spreadArray([action], __read(etc))); }, [action, onAction]); if (action.buttonComponent) { var ActionButtonComponent = action.buttonComponent; return React.createElement(ActionButtonComponent, __assign({ disabled: disabled, onClick: handleClick, selectedItems: selectedItems, size: size, variant: action.variant }, etcProps), action.title); } return React.createElement(Button, __assign({ className: 'mr-2', disabled: disabled, onClick: handleClick, size: size, variant: action.variant }, etcProps), action.title); } export default React.memo(ActionButton);