UNPKG

@centreon/react-components

Version:
91 lines (71 loc) 2.66 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _Button = _interopRequireDefault(require("@material-ui/core/Button")); var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress")); var _styles = require("@material-ui/core/styles"); var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip")); var _Check = _interopRequireDefault(require("@material-ui/icons/Check")); var _Save = _interopRequireDefault(require("@material-ui/icons/Save")); var _ThemeProvider = _interopRequireDefault(require("@material-ui/styles/ThemeProvider")); var _propTypes = _interopRequireDefault(require("prop-types")); var theme = (0, _styles.createMuiTheme)({ palette: { primary: { main: '#1174cb' } } }); var SaveButton = function SaveButton(_ref) { var succeeded = _ref.succeeded, loading = _ref.loading, tooltipLabel = _ref.tooltipLabel, rest = (0, _objectWithoutProperties2["default"])(_ref, ["succeeded", "loading", "tooltipLabel"]); var ButtonContent = function ButtonContent() { if (succeeded) { return _react["default"].createElement(_Check["default"], null); } if (loading) { return _react["default"].createElement(_CircularProgress["default"], { size: 30 }); } return _react["default"].createElement(_Save["default"], null); }; return _react["default"].createElement(_Tooltip["default"], { title: tooltipLabel, placement: "bottom" }, _react["default"].createElement(_ThemeProvider["default"], { theme: theme }, _react["default"].createElement(_Button["default"], (0, _extends2["default"])({ variant: "contained", color: "primary", style: { width: 40, height: 40 }, "aria-label": "save button" }, rest), ButtonContent()))); }; SaveButton.defaultProps = { succeeded: false, disabled: false, loading: false, tooltipLabel: 'Save', onClick: function onClick() {} }; SaveButton.propTypes = { succeeded: _propTypes["default"].bool, disabled: _propTypes["default"].bool, loading: _propTypes["default"].bool, tooltipLabel: _propTypes["default"].string, onClick: _propTypes["default"].func }; var _default = SaveButton; exports["default"] = _default;