UNPKG

@centreon/react-components

Version:
108 lines (83 loc) 4.74 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _IconEdit = _interopRequireDefault(require("../MaterialComponents/Icons/IconEdit")); var _multiSelectHolder = _interopRequireDefault(require("./multi-select-holder.scss")); /* eslint-disable jsx-a11y/no-static-element-interactions */ /* eslint-disable jsx-a11y/click-events-have-key-events */ /* eslint-disable react/jsx-filename-extension */ /* eslint-disable react/prop-types */ var InputFieldMultiSelectEmpty = /*#__PURE__*/ function (_React$Component) { (0, _inherits2["default"])(InputFieldMultiSelectEmpty, _React$Component); function InputFieldMultiSelectEmpty() { var _getPrototypeOf2; var _this; (0, _classCallCheck2["default"])(this, InputFieldMultiSelectEmpty); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = (0, _possibleConstructorReturn2["default"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3["default"])(InputFieldMultiSelectEmpty)).call.apply(_getPrototypeOf2, [this].concat(args))); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", { isHovered: false }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleHover", function () { var isHovered = _this.state.isHovered; _this.setState({ isHovered: !isHovered }); }); return _this; } (0, _createClass2["default"])(InputFieldMultiSelectEmpty, [{ key: "render", value: function render() { var _this$props = this.props, isEmpty = _this$props.isEmpty, multiSelectCount = _this$props.multiSelectCount, multiSelectLabel = _this$props.multiSelectLabel, ariaLabel = _this$props.ariaLabel, children = _this$props.children, error = _this$props.error, onClick = _this$props.onClick, selected = _this$props.selected, emptyInfo = _this$props.emptyInfo; var isHovered = this.state.isHovered; return _react["default"].createElement("div", { className: (0, _classnames["default"])(_multiSelectHolder["default"]['multi-select-holder'], isEmpty ? _multiSelectHolder["default"]['multi-select-holder-empty'] : '', error ? _multiSelectHolder["default"]['has-danger'] : '', selected ? _multiSelectHolder["default"]['multi-select-holder-selected'] : ''), onMouseEnter: this.toggleHover.bind(this), onMouseLeave: this.toggleHover.bind(this), onClick: onClick, "aria-label": ariaLabel }, multiSelectLabel && multiSelectCount && _react["default"].createElement("span", { className: (0, _classnames["default"])(_multiSelectHolder["default"]['multi-select-holder-label']) }, "".concat(multiSelectLabel, " (").concat(multiSelectCount, ")")), _react["default"].createElement("div", { className: (0, _classnames["default"])(_multiSelectHolder["default"]['multi-select-holder-inner']) }, isEmpty && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement("span", { className: (0, _classnames["default"])(_multiSelectHolder["default"]['multi-select-holder-add']) }, emptyInfo || 'Click to link')), children), isHovered ? _react["default"].createElement(_IconEdit["default"], { style: { display: "inline" } }) : null, error ? _react["default"].createElement("div", { className: (0, _classnames["default"])(_multiSelectHolder["default"]['form-error']) }, error) : null); } }]); return InputFieldMultiSelectEmpty; }(_react["default"].Component); var _default = InputFieldMultiSelectEmpty; exports["default"] = _default;