@iobroker/adapter-react
Version:
React classes to develop admin interfaces for ioBroker with react.
182 lines (146 loc) • 6.77 kB
JavaScript
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
;