fastlion-amis
Version:
一种MIS页面生成工具
115 lines (114 loc) • 6.33 kB
JavaScript
"use strict";
/**
* @file filter
* @author fex
*
* 不建议用,以后可能会删除。可以直接用组合出来,不需要新建一个组件。
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.RepeatControlRenderer = void 0;
var tslib_1 = require("tslib");
var react_1 = (0, tslib_1.__importDefault)(require("react"));
var classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
var Item_1 = require("./Item");
var LANG = {
secondly: '秒',
minutely: '分',
hourly: '时',
daily: '天',
weekdays: '周中',
weekly: '周',
monthly: '月',
yearly: '年'
};
var Select_1 = (0, tslib_1.__importDefault)(require("../../components/Select"));
var Range_1 = (0, tslib_1.__importDefault)(require("../../components/Range"));
var RepeatControl = /** @class */ (function (_super) {
(0, tslib_1.__extends)(RepeatControl, _super);
function RepeatControl(props) {
var _this = _super.call(this, props) || this;
_this.handleOptionChange = _this.handleOptionChange.bind(_this);
_this.handleChange = _this.handleChange.bind(_this);
return _this;
}
RepeatControl.prototype.handleOptionChange = function (option) {
this.props.onChange(option.value);
};
RepeatControl.prototype.handleChange = function (value) {
var option = this.props.value;
var parts = option ? option.split(':') : [];
this.props.onChange(parts[0] + ":" + value);
};
RepeatControl.prototype.renderInput = function () {
var _this = this;
var value = this.props.value;
var parts = value ? value.split(':') : [];
var _a = this.props, options = _a.options, placeholder = _a.placeholder, disabled = _a.disabled, ns = _a.classPrefix, __ = _a.translate;
var optionsArray = [];
optionsArray = options.split(',').map(function (key) { return ({
label: LANG[key] || '不支持',
value: key
}); });
optionsArray.unshift({
label: __(placeholder),
value: ''
});
var input;
parts[1] = parseInt(parts[1], 10) || 1;
switch (parts[0]) {
case 'secondly':
input = (react_1.default.createElement(Range_1.default, { key: "input", classPrefix: ns, value: parts[1], min: 1, step: 5, max: 60, disabled: disabled, onChange: function (value) { return _this.handleChange(value); } }));
break;
case 'minutely':
input = (react_1.default.createElement(Range_1.default, { key: "input", classPrefix: ns, value: parts[1], min: 1, step: 5, max: 60, disabled: disabled, onChange: function (value) { return _this.handleChange(value); } }));
break;
case 'hourly':
input = (react_1.default.createElement(Range_1.default, { key: "input", classPrefix: ns, value: parts[1], min: 1, step: 1, max: 24, disabled: disabled, onChange: function (value) { return _this.handleChange(value); } }));
break;
case 'daily':
input = (react_1.default.createElement(Range_1.default, { key: "input", classPrefix: ns, value: parts[1], min: 1, step: 1, max: 30, disabled: disabled, onChange: function (value) { return _this.handleChange(value); } }));
break;
case 'weekly':
input = (react_1.default.createElement(Range_1.default, { key: "input", classPrefix: ns, value: parts[1], min: 1, step: 1, max: 12, disabled: disabled, onChange: function (value) { return _this.handleChange(value); } }));
break;
case 'monthly':
input = (react_1.default.createElement(Range_1.default, { key: "input", classPrefix: ns, value: parts[1], min: 1, step: 1, max: 12, disabled: disabled, onChange: function (value) { return _this.handleChange(value); } }));
break;
case 'yearly':
input = (react_1.default.createElement(Range_1.default, { classPrefix: ns, key: "input", className: "v-middle", value: parts[1], min: 1, step: 1, max: 20, disabled: disabled, onChange: function (value) { return _this.handleChange(value); } }));
break;
}
return (react_1.default.createElement("div", { className: "repeat-control hbox" },
input ? (react_1.default.createElement("div", { className: "col v-middle", style: { width: 30 } },
react_1.default.createElement("span", null, __('Repeat.pre')))) : null,
input ? react_1.default.createElement("div", { className: "col v-middle" }, input) : null,
react_1.default.createElement("div", { className: "col v-middle repeat-btn" },
react_1.default.createElement(Select_1.default, { classPrefix: ns, className: input ? 'pull-right' : '', options: optionsArray, placeholder: __(placeholder), onChange: this.handleOptionChange, value: parts[0], clearable: false, searchable: false, disabled: disabled, joinValues: false }))));
};
RepeatControl.prototype.render = function () {
var _a = this.props, className = _a.className, ns = _a.classPrefix;
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(ns + "RepeatControl", className) }, this.renderInput()));
};
RepeatControl.defaultProps = {
// options: 'secondly,minutely,hourly,daily,weekdays,weekly,monthly,yearly'
options: 'hourly,daily,weekly,monthly',
placeholder: '不重复'
};
return RepeatControl;
}(react_1.default.Component));
exports.default = RepeatControl;
var RepeatControlRenderer = /** @class */ (function (_super) {
(0, tslib_1.__extends)(RepeatControlRenderer, _super);
function RepeatControlRenderer() {
return _super !== null && _super.apply(this, arguments) || this;
}
RepeatControlRenderer = (0, tslib_1.__decorate)([
(0, Item_1.FormItem)({
type: 'input-repeat',
sizeMutable: false
})
], RepeatControlRenderer);
return RepeatControlRenderer;
}(RepeatControl));
exports.RepeatControlRenderer = RepeatControlRenderer;
//# sourceMappingURL=./renderers/Form/InputRepeat.js.map