nowrapper
Version:
nowrapper
303 lines (276 loc) • 11.6 kB
JavaScript
(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;
});