UNPKG

@iobroker/adapter-react

Version:

React classes to develop admin interfaces for ioBroker with react.

182 lines (146 loc) 6.77 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _index = require("@material-ui/core/styles/index"); var _Button = _interopRequireDefault(require("@material-ui/core/Button")); var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle")); var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent")); var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions")); var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog")); var _Check = _interopRequireDefault(require("@material-ui/icons/Check")); var _Cancel = _interopRequireDefault(require("@material-ui/icons/Cancel")); var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete")); var _ComplexCron = _interopRequireDefault(require("../Components/ComplexCron")); var _i18n = _interopRequireDefault(require("../i18n")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } // Generate cron expression var styles = function styles(theme) { return { headerID: { fontWeight: 'bold', fontStyle: 'italic' }, radio: { display: 'inline-block' }, dialogPaper: { height: 'calc(100% - 96px)' } }; }; var DialogComplexCron = /*#__PURE__*/function (_React$Component) { (0, _inherits2["default"])(DialogComplexCron, _React$Component); var _super = _createSuper(DialogComplexCron); function DialogComplexCron(props) { var _this; (0, _classCallCheck2["default"])(this, DialogComplexCron); _this = _super.call(this, props); var cron; if (_this.props.cron && typeof _this.props.cron === 'string' && _this.props.cron.replace(/^["']/, '')[0] !== '{') { cron = _this.props.cron.replace(/['"]/g, '').trim(); } else { cron = _this.props.cron || '{}'; if (typeof cron === 'string') { cron = cron.replace(/^["']/, '').replace(/["']\n?$/, ''); } } _this.state = { cron: cron }; return _this; } (0, _createClass2["default"])(DialogComplexCron, [{ key: "handleCancel", value: function handleCancel() { this.props.onClose(); } }, { key: "handleOk", value: function handleOk() { this.props.onOk(this.state.cron); this.props.onClose(); } }, { key: "handleClear", value: function handleClear() { this.props.onOk(false); this.props.onClose(); } }, { key: "render", value: function render() { var _this2 = this; return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], { onClose: function onClose() {}, maxWidth: "md", fullWidth: true, classes: { paper: this.props.classes.dialogPaper }, open: true, "aria-labelledby": "cron-dialog-title" }, /*#__PURE__*/_react["default"].createElement(_DialogTitle["default"], { id: "cron-dialog-title" }, this.props.title || _i18n["default"].t('ra_Define schedule...')), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], { style: { height: '100%', overflow: 'hidden' } }, /*#__PURE__*/_react["default"].createElement(_ComplexCron["default"], { cronExpression: this.state.cron, onChange: function onChange(cron) { return _this2.setState({ cron: cron }); }, language: _i18n["default"].getLanguage() })), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, !!this.props.clearButton && /*#__PURE__*/_react["default"].createElement(_Button["default"], { variant: "contained", onClick: function onClick() { return _this2.handleClear(); }, startIcon: /*#__PURE__*/_react["default"].createElement(_Delete["default"], null) }, this.props.clear || _i18n["default"].t('ra_Clear')), /*#__PURE__*/_react["default"].createElement(_Button["default"], { variant: "contained", onClick: function onClick() { return _this2.handleOk(); }, color: "primary", startIcon: /*#__PURE__*/_react["default"].createElement(_Check["default"], null) }, this.props.ok || _i18n["default"].t('ra_Ok')), /*#__PURE__*/_react["default"].createElement(_Button["default"], { variant: "contained", onClick: function onClick() { return _this2.handleCancel(); }, startIcon: /*#__PURE__*/_react["default"].createElement(_Cancel["default"], null) }, this.props.cancel || _i18n["default"].t('ra_Cancel')))); } }]); return DialogComplexCron; }(_react["default"].Component); DialogComplexCron.propTypes = { classes: _propTypes["default"].object, onClose: _propTypes["default"].func.isRequired, onOk: _propTypes["default"].func.isRequired, title: _propTypes["default"].string, cron: _propTypes["default"].string, cancel: _propTypes["default"].string, ok: _propTypes["default"].string, simple: _propTypes["default"].bool, language: _propTypes["default"].string, clearButton: _propTypes["default"].bool }; var _default = (0, _index.withStyles)(styles)(DialogComplexCron); exports["default"] = _default; //# sourceMappingURL=ComplexCron.js.map