UNPKG

nowrapper

Version:

nowrapper

291 lines (264 loc) 10.9 kB
(function (global, factory) { if (typeof define === "function" && define.amd) { define(["exports", "@babel/runtime/helpers/objectSpread", "@babel/runtime/helpers/classCallCheck", "@babel/runtime/helpers/defineProperty", "react", "moment", "../common/moment", "../common/util", "../common/wrapper"], factory); } else if (typeof exports !== "undefined") { factory(exports, require("@babel/runtime/helpers/objectSpread"), require("@babel/runtime/helpers/classCallCheck"), require("@babel/runtime/helpers/defineProperty"), require("react"), require("moment"), require("../common/moment"), require("../common/util"), require("../common/wrapper")); } else { var mod = { exports: {} }; factory(mod.exports, global.objectSpread, global.classCallCheck, global.defineProperty, global.react, global.moment, global.moment, global.util, global.wrapper); global.unknown = mod.exports; } })(this, function (_exports, _objectSpread2, _classCallCheck2, _defineProperty2, _react, _moment, _moment2, _util, _wrapper) { "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(_exports, "__esModule", { value: true }); _exports["default"] = void 0; _objectSpread2 = _interopRequireDefault(_objectSpread2); _classCallCheck2 = _interopRequireDefault(_classCallCheck2); _defineProperty2 = _interopRequireDefault(_defineProperty2); _react = _interopRequireDefault(_react); _moment = _interopRequireDefault(_moment); var fetchFileUrl = ''; var defaultFileUploadProps = { prefix: 'next-', listType: 'text', type: 'file', value: [], language: 'zh-cn', uploadBtnText: '', fetchFileUrl: fetchFileUrl, className: '', limit: 10, formatter: function formatter(res) { // 函数里面根据当前服务器返回的响应数据 // 重新拼装符合组件要求的数据格式 return { code: res.code, imgURL: fetchFileUrl + res.fs_url, imgUrl: fetchFileUrl + res.fs_url, // downloadURL 是提交给后端,后端可能获取这个值,用于兼容 downloadURL: fetchFileUrl + res.fs_url, // downloadUrl 是针对于上传成功以后的下载链接 downloadUrl: fetchFileUrl + res.fs_url, fileURL: fetchFileUrl + res.fs_url, size: res.size, fileMd5: res.hash, fs_url: res.fs_url }; }, beforeUpload: function beforeUpload() {}, onChange: function onChange() {}, onSuccess: function onSuccess() {} }; var WrapperClass = function WrapperClass(NextSource) { var _this = this; (0, _classCallCheck2["default"])(this, WrapperClass); (0, _defineProperty2["default"])(this, "Input", function (props) { return (0, _wrapper.Text)(_this.Next.Input, props); }); (0, _defineProperty2["default"])(this, "TextArea", function (props) { return (0, _wrapper.Text)(_this.Next.Input.TextArea, props); }); (0, _defineProperty2["default"])(this, "Select", function (props) { return (0, _wrapper.Select)(_this.Next.Select, props, { previewClass: 'next-preview-select' }); }); (0, _defineProperty2["default"])(this, "CheckboxGroup", function (props) { return (0, _wrapper.CheckboxGroup)(_this.Next.Checkbox.Group, props); }); (0, _defineProperty2["default"])(this, "RadioGroup", function (props) { return (0, _wrapper.RadioGroup)(_this.Next.Radio.Group, props); }); (0, _defineProperty2["default"])(this, "Checkbox", function (props) { return (0, _wrapper.Checkbox)(_this.Next.Checkbox, props); }); (0, _defineProperty2["default"])(this, "Radio", function (props) { return (0, _wrapper.Radio)(_this.Next.Radio, props); }); (0, _defineProperty2["default"])(this, "Switch", function (props) { return (0, _wrapper.Switch)(_this.Next.Switch, props); }); (0, _defineProperty2["default"])(this, "Range", function (props) { return (0, _wrapper.Range)(_this.Next.Range, props, { previewClass: 'next-preview-range' }); }); (0, _defineProperty2["default"])(this, "NumberPicker", function (props) { return (0, _wrapper.NumberPicker)(_this.Next.NumberPicker, props); }); (0, _defineProperty2["default"])(this, "Rating", function (props) { return (0, _wrapper.Rate)(_this.Next.Rating, props); }); (0, _defineProperty2["default"])(this, "CascaderSelect", function (props) { return (0, _wrapper.CascaderSelect)(_this.Next.CascaderSelect, props, { previewClass: 'next-preview-select' }); }); (0, _defineProperty2["default"])(this, "AutoComplete", function (props) { return (0, _wrapper.AutoComplete)(_this.Next.Select.AutoComplete, props, { previewClass: 'next-preview-select-auto-complete', previewProps: { locale: { autoCompletePlaceHolder: '' } } }); }); (0, _defineProperty2["default"])(this, "DatePicker", function (props) { var defaultFormat = "YYYY-MM-DD".concat(props.format ? ' HH:mm:ss' : ''); var _props$format = props.format, _format = _props$format === void 0 ? defaultFormat : _props$format; var valueProps = (0, _util.getValueProps)(props, { format: function format(val) { return !val ? null : (0, _moment2.value2moment)(_moment["default"], val, _format); } }); var onChange = function onChange(dateVal) { var formatDate = (0, _moment2.moment2value)(dateVal, _format); props.onChange && props.onChange(formatDate); }; var previewProps = { locale: { datetimePlaceholder: '', placeholder: '' } }; return (0, _wrapper.DatePicker)(_this.Next.DatePicker, props, { valueProps: valueProps, previewClass: 'next-preview-datepicker', onChange: onChange, previewProps: previewProps }); }); (0, _defineProperty2["default"])(this, "TimePicker", function (props) { var _props$format2 = props.format, _format2 = _props$format2 === void 0 ? 'HH:mm:ss' : _props$format2; var valueProps = (0, _util.getValueProps)(props, { format: function format(val) { return !val ? null : (0, _moment2.value2moment)(_moment["default"], val, _format2); } }); var onChange = function onChange(dateVal) { var formatDate = (0, _moment2.moment2value)(dateVal, _format2); props.onChange && props.onChange(formatDate); }; var TimeComponent = _this.Next.TimePicker; return (0, _wrapper.TimePicker)(TimeComponent, props, { previewClass: 'next-preview-datepicker', valueProps: valueProps, onChange: onChange }); }); (0, _defineProperty2["default"])(this, "Upload", function (props) { var onChange = function onChange(fileList) { props.onChange && props.onChange(fileList, { escape: true }); }; return (0, _wrapper.Upload)(_this.Next.Upload, props, { defaultProps: defaultFileUploadProps, onChange: onChange, previewClass: 'next-preview-upload' }); }); (0, _defineProperty2["default"])(this, "SubDatePicker", function (subType, props) { var showTime = props.showTime, format = props.format; var defaultFormat = 'YYYY-MM-DD'; switch (subType) { case 'RangePicker': defaultFormat = 'YYYY-MM-DD'; break; case 'MonthPicker': defaultFormat = 'YYYY-MM'; break; case 'YearPicker': defaultFormat = 'YYYY'; break; } var defaultTimeFormat = showTime && showTime.format || 'HH:mm'; var baseFormat = format || defaultFormat; var ftFormat = baseFormat + (showTime ? " ".concat(defaultTimeFormat) : ''); var valueProps = (0, _util.getValueProps)(props, { format: function format(val) { if (!val) return null; if (Array.isArray(val)) { return val.map(function (itemValue) { return (0, _moment2.value2moment)(_moment["default"], itemValue, ftFormat); }); } else { return (0, _moment2.value2moment)(_moment["default"], val, ftFormat); } } }); var onChange = function onChange(dateVal) { var formatDate = undefined; if (Array.isArray(dateVal)) { formatDate = dateVal.map(function (itemVal) { return (0, _moment2.moment2value)(itemVal, ftFormat); }); } else { formatDate = (0, _moment2.moment2value)(dateVal, ftFormat); } props.onChange && props.onChange(formatDate, { escape: true }); }; return (0, _wrapper.SubDatePicker)(_this.Next.DatePicker, subType, props, { onChange: onChange, valueProps: valueProps, prefix: 'next', format: ftFormat, previewClass: 'next-preview-datepicker', previewProps: { locale: { datetimePlaceholder: '', placeholder: '', monthPlaceholder: '', yearPlaceholder: '', startPlaceholder: '', endPlaceholder: '' } } }); }); (0, _defineProperty2["default"])(this, "format", function () { var result = ['Input', 'Select', 'Checkbox', 'Radio', 'Switch', 'Range', 'DatePicker', 'TimePicker', 'NumberPicker', 'Rating', 'CascaderSelect', 'Upload'].reduce(function (ret, key) { _this[key].displayName = "wrapper(".concat(key, ")"); var extraProps = {}; if (_this.Next[key]) { extraProps = (0, _objectSpread2["default"])({}, _this.Next[key]); } var that = _this; Object.keys(extraProps).forEach(function (extraKey) { that[key][extraKey] = extraProps[extraKey]; }); ret[key] = _this[key]; return ret; }, {}); result.Checkbox.Group = _this.CheckboxGroup; result.Radio.Group = _this.RadioGroup; result.Input.TextArea = _this.TextArea; result.Select.AutoComplete = _this.AutoComplete; result.DatePicker.RangePicker = _this.SubDatePicker.bind(_this, 'RangePicker'); result.DatePicker.MonthPicker = _this.SubDatePicker.bind(_this, 'MonthPicker'); result.DatePicker.YearPicker = _this.SubDatePicker.bind(_this, 'YearPicker'); if (_this.Next.Select) { result.Select.Option.displayName = 'wrapper(Option)'; } return (0, _objectSpread2["default"])({}, _this.Next, result); }); this.Next = NextSource; }; function wrapper(NextSource) { var instance = new WrapperClass(NextSource); return instance.format(); } var _default = wrapper; _exports["default"] = _default; });