UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

124 lines (123 loc) 7.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TimeRangeControlRenderer = exports.DateTimeRangeControlRenderer = exports.DateRangeControlRenderer = void 0; var tslib_1 = require("tslib"); var react_1 = (0, tslib_1.__importDefault)(require("react")); var Item_1 = require("./Item"); var classnames_1 = (0, tslib_1.__importDefault)(require("classnames")); var tpl_builtin_1 = require("../../utils/tpl-builtin"); require("moment/locale/zh-cn"); var DateRangePicker_1 = tslib_1.__importStar(require("../../components/DateRangePicker")); var helper_1 = require("../../utils/helper"); var DateRangeControl = /** @class */ (function (_super) { (0, tslib_1.__extends)(DateRangeControl, _super); function DateRangeControl(props) { var _this = _super.call(this, props) || this; _this.getRef = function (ref) { while (ref && ref.getWrappedInstance) { ref = ref.getWrappedInstance(); } _this.dateRef = ref; }; // 动作 _this.doAction = function (action, data, throwErrors) { var _a, _b; var resetValue = _this.props.resetValue; if (action.actionType === 'clear') { (_a = _this.dateRef) === null || _a === void 0 ? void 0 : _a.clear(); return; } if (action.actionType === 'reset' && resetValue) { (_b = _this.dateRef) === null || _b === void 0 ? void 0 : _b.reset(); } }; var defaultValue = props.defaultValue, setPrinstineValue = props.setPrinstineValue, delimiter = props.delimiter, format = props.format, data = props.data, value = props.value, joinValues = props.joinValues, utc = props.utc; if (defaultValue && value === defaultValue) { var arr = typeof defaultValue === 'string' ? defaultValue.split(delimiter) : defaultValue; setPrinstineValue(DateRangePicker_1.DateRangePicker.formatValue({ startDate: (0, tpl_builtin_1.filterDate)(arr[0], data, format), endDate: (0, tpl_builtin_1.filterDate)(arr[1], data, format) }, format, joinValues, delimiter, utc)); } return _this; } DateRangeControl.prototype.componentDidUpdate = function (prevProps) { var _a = this.props, defaultValue = _a.defaultValue, delimiter = _a.delimiter, joinValues = _a.joinValues, setPrinstineValue = _a.setPrinstineValue, data = _a.data, utc = _a.utc, format = _a.format; if (prevProps.defaultValue !== defaultValue) { var arr = typeof defaultValue === 'string' ? defaultValue.split(delimiter) : defaultValue; setPrinstineValue(arr ? DateRangePicker_1.DateRangePicker.formatValue({ startDate: (0, tpl_builtin_1.filterDate)(arr[0], data, format), endDate: (0, tpl_builtin_1.filterDate)(arr[1], data, format) }, format, joinValues, delimiter, utc) : undefined); } }; DateRangeControl.prototype.render = function () { var _a = this.props, className = _a.className, ns = _a.classPrefix, defaultValue = _a.defaultValue, defaultData = _a.defaultData, minDate = _a.minDate, maxDate = _a.maxDate, minDuration = _a.minDuration, maxDuration = _a.maxDuration, data = _a.data, format = _a.format, env = _a.env, useMobileUI = _a.useMobileUI, rest = (0, tslib_1.__rest)(_a, ["className", "classPrefix", "defaultValue", "defaultData", "minDate", "maxDate", "minDuration", "maxDuration", "data", "format", "env", "useMobileUI"]); var mobileUI = useMobileUI && (0, helper_1.isMobile)(); return (react_1.default.createElement("div", { className: (0, classnames_1.default)(ns + "DateRangeControl", className) }, react_1.default.createElement(DateRangePicker_1.default, (0, tslib_1.__assign)({}, rest, { useMobileUI: useMobileUI, classPrefix: ns, popOverContainer: mobileUI && env && env.getModalContainer ? env.getModalContainer : rest.popOverContainer, onRef: this.getRef, data: data, format: format, minDate: minDate ? (0, tpl_builtin_1.filterDate)(minDate, data, format) : undefined, maxDate: maxDate ? (0, tpl_builtin_1.filterDate)(maxDate, data, format) : undefined, minDuration: minDuration ? (0, tpl_builtin_1.parseDuration)(minDuration) : undefined, maxDuration: maxDuration ? (0, tpl_builtin_1.parseDuration)(maxDuration) : undefined })))); }; DateRangeControl.defaultProps = { format: 'X', joinValues: true, delimiter: ',', animation: true }; return DateRangeControl; }(react_1.default.Component)); exports.default = DateRangeControl; var DateRangeControlRenderer = /** @class */ (function (_super) { (0, tslib_1.__extends)(DateRangeControlRenderer, _super); function DateRangeControlRenderer() { return _super !== null && _super.apply(this, arguments) || this; } DateRangeControlRenderer.defaultProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, DateRangeControl.defaultProps), { timeFormat: '', viewMode: 'days' }); DateRangeControlRenderer = (0, tslib_1.__decorate)([ (0, Item_1.FormItem)({ type: 'input-date-range' }) ], DateRangeControlRenderer); return DateRangeControlRenderer; }(DateRangeControl)); exports.DateRangeControlRenderer = DateRangeControlRenderer; var DateTimeRangeControlRenderer = /** @class */ (function (_super) { (0, tslib_1.__extends)(DateTimeRangeControlRenderer, _super); function DateTimeRangeControlRenderer() { return _super !== null && _super.apply(this, arguments) || this; } DateTimeRangeControlRenderer.defaultProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, DateRangeControl.defaultProps), { timeFormat: 'YYYY-MM-DD HH:mm:ss', viewMode: 'days', inputFormat: 'YYYY-MM-DD HH:mm:ss' }); DateTimeRangeControlRenderer = (0, tslib_1.__decorate)([ (0, Item_1.FormItem)({ type: 'input-datetime-range', sizeMutable: false }) ], DateTimeRangeControlRenderer); return DateTimeRangeControlRenderer; }(DateRangeControl)); exports.DateTimeRangeControlRenderer = DateTimeRangeControlRenderer; var TimeRangeControlRenderer = /** @class */ (function (_super) { (0, tslib_1.__extends)(TimeRangeControlRenderer, _super); function TimeRangeControlRenderer() { return _super !== null && _super.apply(this, arguments) || this; } TimeRangeControlRenderer.defaultProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, DateRangeControl.defaultProps), { format: 'HH:mm:ss', timeFormat: 'HH:mm:ss', inputFormat: 'HH:mm:ss', viewMode: 'time', /** shortcuts的兼容配置 */ ranges: '', shortcuts: '' }); TimeRangeControlRenderer = (0, tslib_1.__decorate)([ (0, Item_1.FormItem)({ type: 'input-time-range', sizeMutable: false }) ], TimeRangeControlRenderer); return TimeRangeControlRenderer; }(DateRangeControl)); exports.TimeRangeControlRenderer = TimeRangeControlRenderer; //# sourceMappingURL=./renderers/Form/InputDateRange.js.map