UNPKG

@centreon/react-components

Version:
139 lines (109 loc) 4.95 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 _switcher = _interopRequireDefault(require("./switcher.scss")); /* eslint-disable jsx-a11y/label-has-associated-control */ /* eslint-disable jsx-a11y/label-has-for */ /* eslint-disable react/jsx-filename-extension */ /* eslint-disable react/destructuring-assignment */ /* eslint-disable react/prop-types */ /* eslint-disable camelcase */ var Switcher = /*#__PURE__*/ function (_React$Component) { (0, _inherits2["default"])(Switcher, _React$Component); function Switcher() { var _getPrototypeOf2; var _this; (0, _classCallCheck2["default"])(this, Switcher); 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"])(Switcher)).call.apply(_getPrototypeOf2, [this].concat(args))); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", { value: true, toggled: false }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "UNSAFE_componentDidMount", function () { var value = _this.props.value; if (value) { _this.setState({ value: value }); } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "UNSAFE_componentWillReceiveProps", function (nextProps) { var value = nextProps.value; if (_this.state.value !== value) { _this.setState({ toggled: !value, value: value }); } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function () { var _this$props = _this.props, onChange = _this$props.onChange, filterKey = _this$props.filterKey; var _this$state = _this.state, value = _this$state.value, toggled = _this$state.toggled; _this.setState({ value: !value, toggled: !toggled }); if (onChange) { onChange(!value, filterKey); } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggled", function () { var toggled = _this.state.toggled; _this.setState({ toggled: !toggled }); }); return _this; } (0, _createClass2["default"])(Switcher, [{ key: "render", value: function render() { var _this$props2 = this.props, switcherTitle = _this$props2.switcherTitle, switcherStatus = _this$props2.switcherStatus, customClass = _this$props2.customClass; var _this$state2 = this.state, value = _this$state2.value, toggled = _this$state2.toggled; return _react["default"].createElement("div", { className: (0, _classnames["default"])(_switcher["default"].switcher, _switcher["default"][customClass]) }, _react["default"].createElement("span", { className: (0, _classnames["default"])(_switcher["default"]['switcher-title']) }, switcherTitle || ' '), _react["default"].createElement("span", { className: (0, _classnames["default"])(_switcher["default"]['switcher-status']) }, switcherStatus), _react["default"].createElement("label", { className: (0, _classnames["default"])(_switcher["default"]["switch"], _switcher["default"][toggled ? 'switch-active' : 'switch-hide']) }, _react["default"].createElement("input", { type: "checkbox", checked: !value, onClick: this.onChange.bind(this) }), _react["default"].createElement("span", { className: (0, _classnames["default"])(_switcher["default"]['switch-slider'], _switcher["default"]['switch-round']) }))); } }]); return Switcher; }(_react["default"].Component); var _default = Switcher; exports["default"] = _default;