linkmore-design
Version:
🌈 🚀lm组件库。🚀
84 lines (83 loc) • 3.71 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classnames = _interopRequireDefault(require("classnames"));
var _react = _interopRequireWildcard(require("react"));
var _configProvider = require("../config-provider");
var _LocaleReceiver = _interopRequireDefault(require("../locale-provider/LocaleReceiver"));
var _empty = _interopRequireDefault(require("./empty"));
var _zh_CN = _interopRequireDefault(require("../locale/zh_CN"));
var _simple = _interopRequireDefault(require("./simple"));
const defaultEmptyImg = /*#__PURE__*/_react.default.createElement(_empty.default, null);
const simpleEmptyImg = /*#__PURE__*/_react.default.createElement(_simple.default, null);
const Empty = ({
className,
prefixCls: customizePrefixCls,
image = defaultEmptyImg,
description,
title,
children,
imageStyle,
...restProps
}) => {
const {
getPrefixCls,
direction,
locale = _zh_CN.default
} = _react.default.useContext(_configProvider.ConfigContext);
const isCustomEmpty = (0, _react.useMemo)(() => {
if (typeof image === 'string' && ['notfound', 'nopermissions', 'loaderror', 'networkerror', 'nodata'].includes(image)) {
return true;
}
return false;
}, [image]);
const TitleMap = {
notfound: locale.Empty?.networkerror || '抱歉,系统服务发生异常,请稍后再试',
nopermissions: locale.Empty?.networkerror || '抱歉,系统服务发生异常,请稍后再试',
loaderror: locale.Empty?.networkerror || '抱歉,系统服务发生异常,请稍后再试',
networkerror: locale.Empty?.networkerror || '抱歉,系统服务发生异常,请稍后再试',
nodata: locale.Empty?.description || '暂无数据'
};
return /*#__PURE__*/_react.default.createElement(_LocaleReceiver.default, {
componentName: "Empty"
}, contextLocale => {
const prefixCls = getPrefixCls('empty', customizePrefixCls);
const des = typeof description !== 'undefined' ? description : contextLocale.description;
const alt = typeof des === 'string' ? des : 'empty';
let imageNode = null;
if (isCustomEmpty) {
imageNode = /*#__PURE__*/_react.default.createElement("div", {
className: (0, _classnames.default)('lm_custom_empty_img', `${image}`)
});
} else if (typeof image === 'string') {
imageNode = /*#__PURE__*/_react.default.createElement("img", {
alt: alt,
src: image
});
} else {
imageNode = image;
}
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
className: (0, _classnames.default)(prefixCls, {
[`${prefixCls}-normal`]: image === simpleEmptyImg,
[`${prefixCls}-rtl`]: direction === 'rtl'
}, className, 'lm_empty')
}, restProps), /*#__PURE__*/_react.default.createElement("div", {
className: (0, _classnames.default)(`${prefixCls}-image`, isCustomEmpty && 'lm_custom_empty'),
style: imageStyle
}, imageNode), (title || isCustomEmpty) && /*#__PURE__*/_react.default.createElement("div", {
className: `${prefixCls}-title`
}, title || TitleMap[`${image}`]), children && /*#__PURE__*/_react.default.createElement("div", {
className: `${prefixCls}-footer`
}, children));
});
};
Empty.PRESENTED_IMAGE_DEFAULT = defaultEmptyImg;
Empty.PRESENTED_IMAGE_SIMPLE = simpleEmptyImg;
var _default = Empty;
exports.default = _default;