UNPKG

nowrapper

Version:

nowrapper

303 lines (276 loc) 11.6 kB
(function (global, factory) { if (typeof define === "function" && define.amd) { define(["exports", "@babel/runtime/helpers/extends", "@babel/runtime/helpers/objectSpread", "@babel/runtime/helpers/classCallCheck", "@babel/runtime/helpers/defineProperty", "react", "../common/util", "../common/wrapper"], factory); } else if (typeof exports !== "undefined") { factory(exports, require("@babel/runtime/helpers/extends"), require("@babel/runtime/helpers/objectSpread"), require("@babel/runtime/helpers/classCallCheck"), require("@babel/runtime/helpers/defineProperty"), require("react"), require("../common/util"), require("../common/wrapper")); } else { var mod = { exports: {} }; factory(mod.exports, global._extends, global.objectSpread, global.classCallCheck, global.defineProperty, global.react, global.util, global.wrapper); global.unknown = mod.exports; } })(this, function (_exports, _extends2, _objectSpread2, _classCallCheck2, _defineProperty2, _react, _util, _wrapper) { "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(_exports, "__esModule", { value: true }); _exports["default"] = void 0; _extends2 = _interopRequireDefault(_extends2); _objectSpread2 = _interopRequireDefault(_objectSpread2); _classCallCheck2 = _interopRequireDefault(_classCallCheck2); _defineProperty2 = _interopRequireDefault(_defineProperty2); _react = _interopRequireDefault(_react); var prefix = 'ant'; var defaultFileUploadProps = { fileList: [], beforeUpload: function beforeUpload() {}, onChange: function onChange() {}, onSuccess: function onSuccess() {} }; var WrapperClass = function WrapperClass(AntdSource) { var _this = this; (0, _classCallCheck2["default"])(this, WrapperClass); (0, _defineProperty2["default"])(this, "Input", function (props) { return (0, _wrapper.Text)(_this.Antd.Input, props); }); (0, _defineProperty2["default"])(this, "TextArea", function () { var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return (0, _wrapper.Text)(_this.Antd.Input.TextArea, props); }); (0, _defineProperty2["default"])(this, "Select", function (props) { var options = props.options; var formatProps = (0, _objectSpread2["default"])({}, props, { dataSource: options }); delete formatProps.options; return (0, _wrapper.Select)(_this.Antd.Select, formatProps, { previewClass: "".concat(prefix, "-preview-select") }); }); (0, _defineProperty2["default"])(this, "CheckboxGroup", function (props) { return (0, _wrapper.CheckboxGroup)(_this.Antd.Checkbox.Group, props); }); (0, _defineProperty2["default"])(this, "RadioGroup", function (props) { return (0, _wrapper.RadioGroup)(_this.Antd.Radio.Group, props); }); (0, _defineProperty2["default"])(this, "Checkbox", function (props) { var onChange = function onChange(e) { var checkedVal = e.target.checked; props.onChange && props.onChange(checkedVal); }; var CheckboxComponent = _this.Antd.Checkbox["default"] || _this.Antd.Checkbox; return (0, _wrapper.Checkbox)(CheckboxComponent, props, { onChange: onChange }); }); (0, _defineProperty2["default"])(this, "Radio", function (props) { var onChange = function onChange(e) { var checkedVal = e.target.checked; props.onChange && props.onChange(checkedVal); }; var RadioComponent = _this.Antd.Radio["default"] || _this.Antd.Radio; return (0, _wrapper.Radio)(RadioComponent, props, { onChange: onChange }); }); (0, _defineProperty2["default"])(this, "Switch", function (props) { return (0, _wrapper.Switch)(_this.Antd.Switch, props); }); (0, _defineProperty2["default"])(this, "Slider", function (props) { var _props$range = props.range, range = _props$range === void 0 ? false : _props$range; if (range) { return (0, _wrapper.RangeSlider)(_this.Antd.Slider, props, { previewClass: "".concat(prefix, "-preview-slider") }); } else { return (0, _wrapper.Range)(_this.Antd.Slider, props, { previewClass: "".concat(prefix, "-preview-slider") }); } }); (0, _defineProperty2["default"])(this, "InputNumber", function (props) { return (0, _wrapper.NumberPicker)(_this.Antd.InputNumber, (0, _objectSpread2["default"])({}, props, { format: props.formatter })); }); (0, _defineProperty2["default"])(this, "Rate", function (props) { return (0, _wrapper.Rate)(_this.Antd.Rate, props); }); (0, _defineProperty2["default"])(this, "Cascader", function (props) { var style = props.style; var previewStyle = (0, _objectSpread2["default"])({}, style, { pointerEvents: 'none' }); return (0, _wrapper.CascaderSelect)(_this.Antd.Cascader, props, { previewClass: "".concat(prefix, "-preview-select"), previewStyle: previewStyle }); }); (0, _defineProperty2["default"])(this, "AutoComplete", function (props) { var options = props.options; var opts = (0, _objectSpread2["default"])({}, props); if (options && Array.isArray(options) && !props.children) { opts.children = options.map(function (item) { var label = item.label, value = item.value; return _react["default"].createElement(_this.Antd.AutoComplete.Option, { key: value }, label); }); } return (0, _wrapper.AutoComplete)(_this.Antd.AutoComplete, opts, { previewClass: "".concat(prefix, "-preview-select") }); }); (0, _defineProperty2["default"])(this, "DatePicker", function (props) { var valueProps = (0, _util.getValueProps)(props, { format: function format(val) { return !val ? null : val; } }); var onChange = function onChange(momentVal) { props.onChange && props.onChange(momentVal, { escape: true }); }; var previewProps = { locale: { datePlaceholder: '', monthPlaceholder: '', yearPlaceholder: '', rangeStartPlaceholder: '', rangeEndPlaceholder: '' } }; return (0, _wrapper.DatePicker)(_this.Antd.DatePicker, props, { valueProps: valueProps, previewClass: "".concat(prefix, "-preview-datepicker"), onChange: onChange, previewProps: previewProps }); }); (0, _defineProperty2["default"])(this, "SubDatePicker", function (subType, props) { var showTime = props.showTime, format = props.format; var defaultFormat = 'YYYY-MM-DD'; var ftFormat = format || (showTime ? "".concat(defaultFormat, " HH:mm:ss") : defaultFormat); var valueProps = (0, _util.getValueProps)(props, { format: function format(val) { return !val ? null : val; } }); var onChange = function onChange(momentVal) { props.onChange && props.onChange(momentVal, { escape: true }); }; var componentProps = { onChange: onChange, valueProps: valueProps, prefix: prefix, format: ftFormat, previewClass: "".concat(prefix, "-preview-datepicker"), previewProps: { locale: { datePlaceholder: '', monthPlaceholder: '', yearPlaceholder: '', rangeStartPlaceholder: '', rangeEndPlaceholder: '' } } }; if (props.mode) { componentProps.onPanelChange = onChange; } return (0, _wrapper.SubDatePicker)(_this.Antd.DatePicker, subType, props, componentProps); }); (0, _defineProperty2["default"])(this, "TimePicker", function (props) { var valueProps = (0, _util.getValueProps)(props, { format: function format(val) { return !val ? null : val; } }); var onChange = function onChange(momentVal) { props.onChange && props.onChange(momentVal, { escape: true }); }; var TimeComponent = _this.Antd.TimePicker["default"] || _this.Antd.TimePicker; return (0, _wrapper.TimePicker)(TimeComponent, props, { previewClass: "".concat(prefix, "-preview-datepicker"), valueProps: valueProps, onChange: onChange }); }); (0, _defineProperty2["default"])(this, "TreeSelect", function (props) { var status = props.status, _props$className = props.className, className = _props$className === void 0 ? '' : _props$className; var otherProps = (0, _util.getCleanProps)(props); var valueProps = (0, _util.getValueProps)(props); if (status === 'preview') { return _react["default"].createElement(_this.Antd.TreeSelect, (0, _extends2["default"])({ placeholder: "" }, otherProps, { className: "".concat(className || '', " ").concat(prefix, "-preview-select"), disabled: true }, valueProps)); } return _react["default"].createElement(_this.Antd.TreeSelect, (0, _extends2["default"])({}, otherProps, valueProps, (0, _util.insetify)(props))); }); (0, _defineProperty2["default"])(this, "Upload", function (props) { var onChange = function onChange(origin) { var _ref = origin || {}, _ref$fileList = _ref.fileList, fileList = _ref$fileList === void 0 ? [] : _ref$fileList; props.onChange && props.onChange(fileList, { escape: true }); }; return (0, _wrapper.Upload)(_this.Antd.Upload, props, { fieldName: 'fileList', defaultProps: defaultFileUploadProps, onChange: onChange, previewClass: "".concat(prefix, "-preview-upload") }); }); (0, _defineProperty2["default"])(this, "format", function () { var result = ['Input', 'Select', 'Checkbox', 'Radio', 'AutoComplete', 'Switch', 'Slider', 'DatePicker', 'TimePicker', 'InputNumber', 'Rate', 'Cascader', 'TreeSelect', 'Upload'].reduce(function (ret, key) { _this[key].displayName = "wrapper(".concat(key, ")"); var extraProps = {}; if (_this.Antd[key]) { extraProps = (0, _objectSpread2["default"])({}, _this.Antd[key]); } var that = _this; Object.keys(extraProps).forEach(function (extraKey) { that[key][extraKey] = extraProps[extraKey]; }); ret[key] = _this[key]; return ret; }, {}); _this.CheckboxGroup.Item = _this.Antd.Checkbox; _this.RadioGroup.Item = _this.Antd.Radio; result.Checkbox.Group = _this.CheckboxGroup; result.Radio.Group = _this.RadioGroup; result.Input.TextArea = _this.TextArea; result.DatePicker.RangePicker = _this.SubDatePicker.bind(_this, 'RangePicker'); result.DatePicker.MonthPicker = _this.SubDatePicker.bind(_this, 'MonthPicker'); result.DatePicker.WeekPicker = _this.SubDatePicker.bind(_this, 'WeekPicker'); if (_this.Antd.Select) { result.Select.Option.displayName = 'wrapper(Option)'; } return (0, _objectSpread2["default"])({}, _this.Antd, result); }); this.Antd = AntdSource; }; function wrapper(AntdSource) { var instance = new WrapperClass(AntdSource); return instance.format(); } var _default = wrapper; _exports["default"] = _default; });