mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
155 lines (151 loc) • 7.26 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.Descriptions = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _ut = require("ut2");
var _antdMobile = require("antd-mobile");
var _antdMobileIcons = require("antd-mobile-icons");
var _BizField = _interopRequireDefault(require("../BizField"));
var _config = require("../../config");
require("./index.css");
var _excluded = ["label", "labelStyle", "labelClassName", "contentStyle", "contentClassName", "className", "help", "helpIcon", "popoverProps", "children"],
_excluded2 = ["title", "className", "children", "colon", "dataSource", "items", "help", "helpIcon", "popoverProps"],
_excluded3 = ["dataIndex", "valueType", "valueEnum", "field", "render", "hidden", "classNames", "styles", "label", "children"],
_excluded4 = ["key", "child"];
var prefixCls = "".concat(_config.prefixClass, "-descriptions");
var itemPrefixCls = "".concat(prefixCls, "-item");
var BizDescriptionsItem = function BizDescriptionsItem(_ref) {
var label = _ref.label,
labelStyle = _ref.labelStyle,
labelClassName = _ref.labelClassName,
contentStyle = _ref.contentStyle,
contentClassName = _ref.contentClassName,
className = _ref.className,
help = _ref.help,
_ref$helpIcon = _ref.helpIcon,
helpIcon = _ref$helpIcon === void 0 ? /*#__PURE__*/_react.default.createElement(_antdMobileIcons.QuestionCircleOutline, null) : _ref$helpIcon,
popoverProps = _ref.popoverProps,
children = _ref.children,
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
className: (0, _classnames.default)("".concat(itemPrefixCls), className)
}, restProps), /*#__PURE__*/_react.default.createElement("div", {
className: (0, _classnames.default)("".concat(itemPrefixCls, "-label"), labelClassName),
style: labelStyle
}, label, help && /*#__PURE__*/_react.default.createElement(_antdMobile.Popover, (0, _extends2.default)({
trigger: "click",
mode: "dark",
destroyOnHide: true
}, popoverProps, {
content: help
}), /*#__PURE__*/_react.default.createElement("span", {
className: "".concat(itemPrefixCls, "-label-help")
}, helpIcon))), /*#__PURE__*/_react.default.createElement("div", {
className: (0, _classnames.default)("".concat(itemPrefixCls, "-content"), contentClassName),
style: contentStyle
}, children));
};
var BizDescriptions = function BizDescriptions(_ref2) {
var title = _ref2.title,
className = _ref2.className,
children = _ref2.children,
_ref2$colon = _ref2.colon,
colon = _ref2$colon === void 0 ? true : _ref2$colon,
dataSource = _ref2.dataSource,
items = _ref2.items,
help = _ref2.help,
_ref2$helpIcon = _ref2.helpIcon,
helpIcon = _ref2$helpIcon === void 0 ? /*#__PURE__*/_react.default.createElement(_antdMobileIcons.QuestionCircleOutline, null) : _ref2$helpIcon,
popoverProps = _ref2.popoverProps,
restProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
var fmtItems = (0, _react.useMemo)(function () {
var _ref3;
return (_ref3 = items || []) === null || _ref3 === void 0 ? void 0 : _ref3.filter(function (item) {
return !item.hidden && (0, _ut.isObject)(item);
}).map(function (item, index) {
var dataIndex = item.dataIndex,
valueType = item.valueType,
valueEnum = item.valueEnum,
field = item.field,
render = item.render,
hidden = item.hidden,
classNames = item.classNames,
styles = item.styles,
label = item.label,
itemChildren = item.children,
restItemProps = (0, _objectWithoutProperties2.default)(item, _excluded3);
var key = (0, _ut.isString)(label) ? label + index : (0, _ut.toString)(dataIndex) + index;
var child;
if (!(0, _ut.isUndefined)(itemChildren)) {
child = itemChildren;
} else {
var _value = (0, _ut.isArray)(dataIndex) ? dataIndex.map(function (subItem) {
return (0, _ut.get)(dataSource, subItem);
}) : (0, _ut.get)(dataSource, dataIndex);
if (typeof render === 'function') {
child = render(_value, dataSource, index);
} else {
var fieldProps = typeof field === 'function' ? field(_value, dataSource, index) : field;
child =
/*#__PURE__*/
// @ts-ignore
_react.default.createElement(_BizField.default, (0, _extends2.default)({
value: _value,
valueType: valueType,
valueEnum: valueEnum
}, fieldProps));
}
}
return (0, _objectSpread2.default)({
key: key,
child: child,
label: label,
labelStyle: styles === null || styles === void 0 ? void 0 : styles.label,
contentStyle: styles === null || styles === void 0 ? void 0 : styles.content,
labelClassName: classNames === null || classNames === void 0 ? void 0 : classNames.label,
contentClassName: classNames === null || classNames === void 0 ? void 0 : classNames.content
}, restItemProps);
});
}, [dataSource, items]);
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
className: (0, _classnames.default)(prefixCls, (0, _defineProperty2.default)({}, "".concat(prefixCls, "-colon"), colon), className)
}, restProps), title && /*#__PURE__*/_react.default.createElement("div", {
className: "".concat(prefixCls, "-title")
}, title, help && /*#__PURE__*/_react.default.createElement(_antdMobile.Popover, (0, _extends2.default)({
trigger: "click",
mode: "dark",
destroyOnHide: true
}, popoverProps, {
content: help
}), /*#__PURE__*/_react.default.createElement("span", {
className: "".concat(prefixCls, "-title-help")
}, helpIcon))), fmtItems.map(function (item) {
var key = item.key,
child = item.child,
restItemProps = (0, _objectWithoutProperties2.default)(item, _excluded4);
return /*#__PURE__*/_react.default.createElement(BizDescriptionsItem, (0, _extends2.default)({
key: key
}, restItemProps), child);
}), children);
};
BizDescriptions.Item = BizDescriptionsItem;
/**
* @deprecated 即将废弃,请使用 `BizDescriptionsItemProps` 替代。
*/
/**
* @deprecated 即将废弃,请使用 `BizDescriptionsProps` 替代。
*/
/**
* @deprecated 即将废弃,请使用 `BizDescriptions` 替代。
*/
var Descriptions = exports.Descriptions = BizDescriptions;
var _default = exports.default = BizDescriptions;