amis
Version:
一种MIS页面生成工具
107 lines (106 loc) • 5.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importDefault(require("react"));
var Item_1 = require("./Item");
var classnames_1 = tslib_1.__importDefault(require("classnames"));
var tpl_builtin_1 = require("../../utils/tpl-builtin");
require("moment/locale/zh-cn");
var DatePicker_1 = tslib_1.__importDefault(require("../../components/DatePicker"));
var DateControl = /** @class */ (function (_super) {
tslib_1.__extends(DateControl, _super);
function DateControl() {
return _super !== null && _super.apply(this, arguments) || this;
}
DateControl.prototype.componentWillMount = function () {
var _a = this.props, minDate = _a.minDate, maxDate = _a.maxDate, value = _a.value, defaultValue = _a.defaultValue, setPrinstineValue = _a.setPrinstineValue, data = _a.data, format = _a.format;
if (defaultValue && value === defaultValue) {
setPrinstineValue(tpl_builtin_1.filterDate(defaultValue, data, format).format(format));
}
this.setState({
minDate: minDate ? tpl_builtin_1.filterDate(minDate, data, format) : undefined,
maxDate: maxDate ? tpl_builtin_1.filterDate(maxDate, data, format) : undefined
});
};
DateControl.prototype.componentWillReceiveProps = function (nextProps) {
var props = this.props;
if (props.defaultValue !== nextProps.defaultValue) {
nextProps.setPrinstineValue(tpl_builtin_1.filterDate(nextProps.defaultValue, nextProps.data));
}
if (props.minDate !== nextProps.minDate ||
props.maxDate !== nextProps.maxDate ||
props.data !== nextProps.data) {
this.setState({
minDate: nextProps.minDate
? tpl_builtin_1.filterDate(nextProps.minDate, nextProps.data, this.props.format)
: undefined,
maxDate: nextProps.maxDate
? tpl_builtin_1.filterDate(nextProps.maxDate, nextProps.data, this.props.format)
: undefined
});
}
};
DateControl.prototype.render = function () {
var _a = this.props, className = _a.className, ns = _a.classPrefix, defaultValue = _a.defaultValue, defaultData = _a.defaultData, rest = tslib_1.__rest(_a, ["className", "classPrefix", "defaultValue", "defaultData"]);
return (react_1.default.createElement("div", { className: classnames_1.default(ns + "DateControl", className) },
react_1.default.createElement(DatePicker_1.default, tslib_1.__assign({}, rest, this.state, { classPrefix: ns }))));
};
DateControl.defaultProps = {
format: 'X',
viewMode: 'days',
inputFormat: 'YYYY-MM-DD',
timeConstrainst: {
minutes: {
step: 1
}
},
clearable: true,
iconClassName: 'fa fa-calendar'
};
return DateControl;
}(react_1.default.PureComponent));
exports.default = DateControl;
var DateControlRenderer = /** @class */ (function (_super) {
tslib_1.__extends(DateControlRenderer, _super);
function DateControlRenderer() {
return _super !== null && _super.apply(this, arguments) || this;
}
DateControlRenderer.defaultProps = tslib_1.__assign(tslib_1.__assign({}, DateControl.defaultProps), { placeholder: '请选择日期', dateFormat: 'YYYY-MM-DD', timeFormat: '', strictMode: false });
DateControlRenderer = tslib_1.__decorate([
Item_1.FormItem({
type: 'date',
weight: -150
})
], DateControlRenderer);
return DateControlRenderer;
}(DateControl));
exports.DateControlRenderer = DateControlRenderer;
var DatetimeControlRenderer = /** @class */ (function (_super) {
tslib_1.__extends(DatetimeControlRenderer, _super);
function DatetimeControlRenderer() {
return _super !== null && _super.apply(this, arguments) || this;
}
DatetimeControlRenderer.defaultProps = tslib_1.__assign(tslib_1.__assign({}, DateControl.defaultProps), { placeholder: '请选择日期以及时间', inputFormat: 'YYYY-MM-DD HH:mm:ss', dateFormat: 'LL', timeFormat: 'HH:mm:ss', closeOnSelect: false, strictMode: false });
DatetimeControlRenderer = tslib_1.__decorate([
Item_1.FormItem({
type: 'datetime'
})
], DatetimeControlRenderer);
return DatetimeControlRenderer;
}(DateControl));
exports.DatetimeControlRenderer = DatetimeControlRenderer;
var TimeControlRenderer = /** @class */ (function (_super) {
tslib_1.__extends(TimeControlRenderer, _super);
function TimeControlRenderer() {
return _super !== null && _super.apply(this, arguments) || this;
}
TimeControlRenderer.defaultProps = tslib_1.__assign(tslib_1.__assign({}, DateControl.defaultProps), { placeholder: '请选择时间', inputFormat: 'HH:mm', dateFormat: '', timeFormat: 'HH:mm', viewMode: 'time', closeOnSelect: false });
TimeControlRenderer = tslib_1.__decorate([
Item_1.FormItem({
type: 'time'
})
], TimeControlRenderer);
return TimeControlRenderer;
}(DateControl));
exports.TimeControlRenderer = TimeControlRenderer;
//# sourceMappingURL=./renderers/Form/Date.js.map