nowrapper
Version:
nowrapper
476 lines (389 loc) • 17.9 kB
JavaScript
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define(["exports", "@babel/runtime/helpers/defineProperty", "@babel/runtime/helpers/objectSpread", "@babel/runtime/helpers/extends", "react", "../common/util", "../common/moment"], factory);
} else if (typeof exports !== "undefined") {
factory(exports, require("@babel/runtime/helpers/defineProperty"), require("@babel/runtime/helpers/objectSpread"), require("@babel/runtime/helpers/extends"), require("react"), require("../common/util"), require("../common/moment"));
} else {
var mod = {
exports: {}
};
factory(mod.exports, global.defineProperty, global.objectSpread, global._extends, global.react, global.util, global.moment);
global.unknown = mod.exports;
}
})(this, function (_exports, _defineProperty2, _objectSpread2, _extends2, _react, _util, _moment) {
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(_exports, "__esModule", {
value: true
});
_exports.TimePicker = _exports.Upload = _exports.Select = _exports.CascaderSelect = _exports.RadioGroup = _exports.CheckboxGroup = _exports.Checkbox = _exports.Rate = _exports.RangeSlider = _exports.Range = _exports.Radio = _exports.Switch = _exports.AutoComplete = _exports.NumberPicker = _exports.DatePicker = _exports.SubDatePicker = _exports.Text = void 0;
_defineProperty2 = _interopRequireDefault(_defineProperty2);
_objectSpread2 = _interopRequireDefault(_objectSpread2);
_extends2 = _interopRequireDefault(_extends2);
_react = _interopRequireDefault(_react);
var Text = function Text(Com, props) {
var status = props.status,
value = props.value;
var otherProps = (0, _util.getCleanProps)(props);
var valueProps = (0, _util.getValueProps)(props, {
defaultValue: undefined
});
if (status === 'preview') return (0, _util.renderValue)((0, _util.formatValue)(value, {
defaultValue: ''
})); // 处理预览态
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps, (0, _util.insetify)(props)));
};
_exports.Text = Text;
var Select = function Select(Com, props, opts) {
var status = props.status,
dataSource = props.dataSource,
_props$className = props.className,
className = _props$className === void 0 ? '' : _props$className,
children = props.children,
_props$style = props.style,
style = _props$style === void 0 ? {} : _props$style;
var _ref = opts || {},
_ref$previewClass = _ref.previewClass,
previewClass = _ref$previewClass === void 0 ? '' : _ref$previewClass;
var otherProps = (0, _util.getCleanProps)(props);
var rewriteProps = {};
if (dataSource && Array.isArray(dataSource) && !children) {
rewriteProps.children = dataSource.map(function (item) {
var label = item.label,
itemVal = item.value;
return _react["default"].createElement(Com.Option, {
key: "".concat(itemVal, "_").concat(label),
value: itemVal
}, label);
});
}
var valueProps = (0, _util.getValueProps)(props, {
defaultValue: undefined
});
var previewStyle = (0, _objectSpread2["default"])({}, style, {
pointerEvents: 'none'
});
if (status === 'preview') {
return _react["default"].createElement(Com, (0, _extends2["default"])({
placeholder: ""
}, otherProps, {
className: "".concat(className || '', " ").concat(previewClass)
}, rewriteProps, valueProps, {
style: previewStyle
}));
}
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, rewriteProps, valueProps, (0, _util.insetify)(props)));
};
_exports.Select = Select;
var CheckboxGroup = function CheckboxGroup(Com, props) {
var otherProps = (0, _util.getCleanProps)(props);
var valueProps = (0, _util.getValueProps)(props, {
format: _util.formatArray,
defaultValue: []
});
if (props.status === 'preview') return (0, _util.renderOption)(props);
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps, (0, _util.insetify)(props)));
};
_exports.CheckboxGroup = CheckboxGroup;
var RadioGroup = function RadioGroup(Com, props) {
var otherProps = (0, _util.getCleanProps)(props);
var valueProps = (0, _util.getValueProps)(props);
if (props.status === 'preview') return (0, _util.renderOption)(props);
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps, (0, _util.insetify)(props)));
};
_exports.RadioGroup = RadioGroup;
var Checkbox = function Checkbox(Com, props) {
var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var status = props.status,
children = props.children,
value = props.value;
var otherProps = (0, _util.getCleanProps)(props);
var valueProps = (0, _util.getValueProps)(props, {
format: _util.formatBoolValue,
keyname: 'checked'
});
if (status === 'preview') {
var checked = valueProps.checked;
if (children) {
// 存在label
return checked ? (0, _util.renderValue)(children) : null;
} // 不存在
window && window.console && window.console.warn('label必须写在Checkbox/Radio内,如需编写外部label, 请使用suffix、prefix等属性'); // 给出警告
return null;
}
return _react["default"].createElement(Com, (0, _extends2["default"])({
value: value
}, otherProps, valueProps, opts));
};
_exports.Checkbox = Checkbox;
var Radio = function Radio(Com, props) {
var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return Checkbox(Com, props, opts);
};
_exports.Radio = Radio;
var Switch = function Switch(Com, props) {
var status = props.status,
checkedChildren = props.checkedChildren,
unCheckedChildren = props.unCheckedChildren;
var otherProps = (0, _util.getCleanProps)(props);
var valueProps = (0, _util.getValueProps)(props, {
format: _util.formatBoolValue,
keyname: 'checked'
});
if (status === 'preview') {
var checked = valueProps.checked;
if (checkedChildren || unCheckedChildren) {
// 存在label
var checkedStr = checked ? checkedChildren : unCheckedChildren;
return (0, _util.renderValue)(checkedStr);
}
return (0, _util.renderValue)("".concat(checked)); // 不存在
}
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps));
};
_exports.Switch = Switch;
var Range = function Range(Com, props, opts) {
var status = props.status,
_props$className2 = props.className,
className = _props$className2 === void 0 ? '' : _props$className2;
var _ref2 = opts || {},
_ref2$previewClass = _ref2.previewClass,
previewClass = _ref2$previewClass === void 0 ? '' : _ref2$previewClass;
var otherProps = (0, _util.getCleanProps)(props);
var valueProps = (0, _util.getValueProps)(props, {
format: _util.formatNumber
});
if (status === 'preview') {
return _react["default"].createElement(Com, (0, _extends2["default"])({
className: "".concat(className || '', " ").concat(previewClass)
}, otherProps, {
disabled: true
}, valueProps));
}
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps));
};
_exports.Range = Range;
var RangeSlider = function RangeSlider(Com, props, opts) {
var status = props.status,
_props$className3 = props.className,
className = _props$className3 === void 0 ? '' : _props$className3;
var _ref3 = opts || {},
_ref3$previewClass = _ref3.previewClass,
previewClass = _ref3$previewClass === void 0 ? '' : _ref3$previewClass;
var otherProps = (0, _util.getCleanProps)(props);
var valueProps = (0, _util.getValueProps)(props, {
format: _util.formatArrayNumber
});
if (status === 'preview') {
return _react["default"].createElement(Com, (0, _extends2["default"])({
className: "".concat(className || '', " ").concat(previewClass)
}, otherProps, {
disabled: true
}, valueProps));
}
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps));
};
_exports.RangeSlider = RangeSlider;
var Rate = function Rate(Com, props) {
var status = props.status;
var otherProps = (0, _util.getCleanProps)(props);
var valueProps = (0, _util.getValueProps)(props, {
format: _util.formatNumber
});
if (status === 'preview') {
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, {
disabled: true
}, valueProps));
}
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps));
};
_exports.Rate = Rate;
var NumberPicker = function NumberPicker(Com, props) {
var status = props.status,
value = props.value,
format = props.format;
var otherProps = (0, _util.getCleanProps)(props);
var valueProps = (0, _util.getValueProps)(props, {
format: _util.formatNumber,
defaultValue: undefined
});
if (status === 'preview') return (0, _util.renderValue)(value, {
defaultValue: '',
format: format
}); // 处理预览态
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps, (0, _util.insetify)(props)));
};
_exports.NumberPicker = NumberPicker;
var CascaderSelect = function CascaderSelect(Com, props, opts) {
var status = props.status,
_props$className4 = props.className,
className = _props$className4 === void 0 ? '' : _props$className4,
_props$style2 = props.style,
style = _props$style2 === void 0 ? {} : _props$style2;
var _ref4 = opts || {},
_ref4$previewClass = _ref4.previewClass,
previewClass = _ref4$previewClass === void 0 ? '' : _ref4$previewClass,
_ref4$previewStyle = _ref4.previewStyle,
previewStyle = _ref4$previewStyle === void 0 ? style : _ref4$previewStyle;
var valueProps = (0, _util.getValueProps)(props);
var otherProps = (0, _util.getCleanProps)(props);
if (status === 'preview') {
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, {
className: "".concat(className || '', " ").concat(previewClass)
}, valueProps, {
style: previewStyle
}));
}
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps, (0, _util.insetify)(props)));
};
_exports.CascaderSelect = CascaderSelect;
var AutoComplete = function AutoComplete(Com, props, opts) {
var status = props.status,
_props$className5 = props.className,
className = _props$className5 === void 0 ? '' : _props$className5;
var _ref5 = opts || {},
_ref5$previewClass = _ref5.previewClass,
previewClass = _ref5$previewClass === void 0 ? '' : _ref5$previewClass,
_ref5$previewProps = _ref5.previewProps,
previewProps = _ref5$previewProps === void 0 ? {} : _ref5$previewProps;
var otherProps = (0, _util.getCleanProps)(props);
var valueProps = (0, _util.getValueProps)(props, {
defaultValue: undefined
});
if (status === 'preview') return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, {
disabled: true,
className: "".concat(className || '', " ").concat(previewClass)
}, valueProps, (0, _util.insetify)(props), {
placeholder: ""
}, previewProps));
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps, (0, _util.insetify)(props)));
};
_exports.AutoComplete = AutoComplete;
var Upload = function Upload(Com, props, opts) {
var status = props.status,
value = props.value,
_props$className6 = props.className,
className = _props$className6 === void 0 ? '' : _props$className6;
var uploadValue = (0, _util.formatArray)(value);
var otherProps = (0, _util.getCleanProps)(props);
var _ref6 = opts || {},
onChange = _ref6.onChange,
_ref6$fieldName = _ref6.fieldName,
fieldName = _ref6$fieldName === void 0 ? 'value' : _ref6$fieldName,
_ref6$defaultProps = _ref6.defaultProps,
defaultProps = _ref6$defaultProps === void 0 ? {} : _ref6$defaultProps,
_ref6$previewClass = _ref6.previewClass,
previewClass = _ref6$previewClass === void 0 ? '' : _ref6$previewClass;
var valueProps = (0, _defineProperty2["default"])({}, fieldName, uploadValue);
if (status === 'preview') {
return _react["default"].createElement(Com, (0, _extends2["default"])({}, defaultProps, otherProps, {
className: "".concat(className || '', " ").concat(previewClass),
disabled: true
}, valueProps));
}
return _react["default"].createElement(Com, (0, _extends2["default"])({}, defaultProps, otherProps, {
onChange: onChange
}, valueProps, (0, _util.insetify)(props)));
};
_exports.Upload = Upload;
var TimePicker = function TimePicker(Com, props, opts) {
var otherProps = (0, _util.getCleanProps)(props);
var _ref7 = opts || {},
onChange = _ref7.onChange,
_ref7$previewClass = _ref7.previewClass,
previewClass = _ref7$previewClass === void 0 ? '' : _ref7$previewClass,
valueProps = _ref7.valueProps;
var status = props.status,
_props$className7 = props.className,
className = _props$className7 === void 0 ? '' : _props$className7;
if (status === 'preview') {
var placeholderClearer = {
placeholder: ''
};
return _react["default"].createElement(Com, (0, _extends2["default"])({
placeholder: ""
}, otherProps, valueProps, {
locale: placeholderClearer,
disabled: true,
className: "".concat(className || '', " ").concat(previewClass),
placeholder: ""
}));
}
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps, {
onChange: onChange
}, (0, _util.insetify)(props)));
};
_exports.TimePicker = TimePicker;
var DatePicker = function DatePicker(Com, props, opts) {
var status = props.status,
_props$className8 = props.className,
className = _props$className8 === void 0 ? '' : _props$className8;
var otherProps = (0, _util.getCleanProps)(props);
var _ref8 = opts || {},
valueProps = _ref8.valueProps,
onChange = _ref8.onChange,
_ref8$previewClass = _ref8.previewClass,
previewClass = _ref8$previewClass === void 0 ? '' : _ref8$previewClass,
_ref8$previewProps = _ref8.previewProps,
previewProps = _ref8$previewProps === void 0 ? {} : _ref8$previewProps;
if (status === 'preview') {
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps, previewProps, {
disabled: true,
className: "".concat(className || '', " ").concat(previewClass),
placeholder: ""
}));
}
return _react["default"].createElement(Com, (0, _extends2["default"])({}, otherProps, valueProps, {
onChange: onChange
}, (0, _util.insetify)(props)));
};
_exports.DatePicker = DatePicker;
var SubDatePicker = function SubDatePicker(Com, subType, props, opts) {
var status = props.status,
_props$className9 = props.className,
className = _props$className9 === void 0 ? '' : _props$className9;
var onChange = opts.onChange,
_opts$valueProps = opts.valueProps,
valueProps = _opts$valueProps === void 0 ? {} : _opts$valueProps,
onPanelChange = opts.onPanelChange,
_opts$previewClass = opts.previewClass,
previewClass = _opts$previewClass === void 0 ? '' : _opts$previewClass,
_opts$previewProps = opts.previewProps,
previewProps = _opts$previewProps === void 0 ? {} : _opts$previewProps,
format = opts.format,
prefix = opts.prefix;
var otherProps = (0, _util.getCleanProps)(props);
var SubDatePicker = Com[subType];
var extProps = {};
if (onPanelChange) extProps.onPanelChange = onPanelChange;
if (status === 'preview') {
var value = valueProps.value;
if (value === null || Array.isArray(value) && value.length === 0) {
return null;
}
if (Array.isArray(value) && value.length === 2) {
return _react["default"].createElement("div", {
className: "".concat(className || '', " ").concat(previewClass)
}, [value[0], {
sep: true
}, value[1]].map(function (item) {
if (item.sep) {
return _react["default"].createElement("span", {
className: "".concat(prefix, "-calendar-range-picker-separator")
}, " ~ ");
}
return (0, _util.renderValue)((0, _moment.moment2value)(item, format));
}));
}
return _react["default"].createElement(SubDatePicker, (0, _extends2["default"])({}, otherProps, valueProps, previewProps, {
disabled: true,
className: "".concat(className || '', " ").concat(previewClass),
placeholder: ""
}, extProps));
}
return _react["default"].createElement(SubDatePicker, (0, _extends2["default"])({}, otherProps, valueProps, {
onChange: onChange
}, (0, _util.insetify)(props), extProps));
};
_exports.SubDatePicker = SubDatePicker;
});