UNPKG

wetrade-design

Version:

一款多语言支持Vue3的UI框架

153 lines (152 loc) 6.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _vue = require("vue"); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classNames2 = _interopRequireDefault(require("../_util/classNames")); var _LocaleReceiver = _interopRequireDefault(require("../locale-provider/LocaleReceiver")); var _empty = _interopRequireDefault(require("./empty")); var _simple = _interopRequireDefault(require("./simple")); var _propsUtil = require("../_util/props-util"); var _vueTypes = _interopRequireDefault(require("../_util/vue-types")); var _type = require("../_util/type"); var _useConfigInject2 = _interopRequireDefault(require("../_util/hooks/useConfigInject")); var _button = _interopRequireDefault(require("../button")); var _excluded = ["image", "description", "imageStyle", "class", "mode", "type", "noImage", "scene"]; var simpleEmptyImg = (0, _vue.createVNode)(_simple.default, null, null); var Empty = function Empty(props, _ref) { var _slots$description, _props$mode; var _ref$slots = _ref.slots, slots = _ref$slots === void 0 ? {} : _ref$slots, attrs = _ref.attrs, emit = _ref.emit; var _useConfigInject = (0, _useConfigInject2.default)('empty', props), direction = _useConfigInject.direction, prefixClsRef = _useConfigInject.prefixCls, configProvider = _useConfigInject.configProvider; var prefixCls = prefixClsRef.value; var _props$attrs = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), attrs), _props$attrs$image = _props$attrs.image, image = _props$attrs$image === void 0 ? (0, _empty.default)() : _props$attrs$image, _props$attrs$descript = _props$attrs.description, description = _props$attrs$descript === void 0 ? ((_slots$description = slots.description) === null || _slots$description === void 0 ? void 0 : _slots$description.call(slots)) || undefined : _props$attrs$descript, imageStyle = _props$attrs.imageStyle, _props$attrs$class = _props$attrs.class, className = _props$attrs$class === void 0 ? '' : _props$attrs$class, mode = _props$attrs.mode, type = _props$attrs.type, noImage = _props$attrs.noImage, _props$attrs$scene = _props$attrs.scene, scene = _props$attrs$scene === void 0 ? 'default' : _props$attrs$scene, restProps = (0, _objectWithoutProperties2.default)(_props$attrs, _excluded); var theme = (_props$mode = props.mode) !== null && _props$mode !== void 0 ? _props$mode : configProvider.mode; var refresh = function refresh() { emit('refresh'); }; return (0, _vue.createVNode)(_LocaleReceiver.default, { "componentName": "Empty", "children": function children(locale) { var _classNames; var LOCALE_DESC = { default: locale.description, permi: locale.permiDesc, network: locale.networkDesc, found: locale.foundDesc, account: locale.accountDesc, message: locale.messageDesc, system: locale.systemDesc, search: locale.searchDesc }; var desc = LOCALE_DESC[scene] || locale.description; var des = typeof description !== 'undefined' ? description : desc; var alt = typeof des === 'string' ? des : 'empty'; var imageNode = null; if (typeof image === 'string') { imageNode = (0, _vue.createVNode)("img", { "alt": alt, "src": image }, null); } else { imageNode = theme ? (0, _empty.default)({ mode: theme, scene: scene }) : image; } var isImage = !noImage && type !== 'text'; var desContent; if (scene === 'network') { if (!['module', 'text'].includes(type)) { desContent = (0, _vue.createVNode)("p", { "class": "".concat(prefixCls, "-description") }, [des]); } else { desContent = (0, _vue.createVNode)("p", { "class": "".concat(prefixCls, "-description") }, [locale.networkModuleDesc, (0, _vue.createVNode)("span", { "class": "".concat(prefixCls, "-refresh-btn"), "onClick": refresh }, [locale.btn.network])]); } } else { desContent = desc && (0, _vue.createVNode)("p", { "class": "".concat(prefixCls, "-description") }, [des]); } var footerContent; if (scene === 'network') { var _locale$btn; footerContent = !['module', 'text'].includes(type) && (0, _vue.createVNode)("div", { "class": "".concat(prefixCls, "-footer") }, [(0, _vue.createVNode)(_button.default, { "type": "primary", "onClick": refresh }, { default: function _default() { return [(_locale$btn = locale.btn) === null || _locale$btn === void 0 ? void 0 : _locale$btn.network]; } })]); } else { footerContent = slots.default && (0, _vue.createVNode)("div", { "class": "".concat(prefixCls, "-footer") }, [(0, _propsUtil.filterEmpty)(slots.default())]); } return (0, _vue.createVNode)("div", (0, _objectSpread2.default)({ "class": (0, _classNames2.default)(prefixCls, className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-normal"), image === simpleEmptyImg), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-rtl"), direction.value === 'rtl'), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-module"), type === 'module'), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-text"), type === 'text'), _classNames)) }, restProps), [isImage && (0, _vue.createVNode)("div", { "class": "".concat(prefixCls, "-image"), "style": imageStyle }, [imageNode]), desContent, footerContent]); } }, null); }; Empty.displayName = 'WdEmpty'; Empty.inheritAttrs = false; Empty.PRESENTED_IMAGE_SIMPLE = simpleEmptyImg; Empty.props = { prefixCls: String, image: _vueTypes.default.any, description: _vueTypes.default.any, imageStyle: { type: Object, default: undefined }, scene: { type: String, default: 'default' }, mode: { type: String, default: undefined }, onRefresh: { type: Function, default: undefined } }; var _default2 = (0, _type.withInstall)(Empty); exports.default = _default2;