| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
- import { createVNode as _createVNode } from "vue";
- import { defineComponent, computed } from 'vue';
- import PropTypes from '../_util/vue-types';
- import CheckCircleFilled from "@ant-design/icons-vue/es/icons/CheckCircleFilled";
- import CloseCircleFilled from "@ant-design/icons-vue/es/icons/CloseCircleFilled";
- import ExclamationCircleFilled from "@ant-design/icons-vue/es/icons/ExclamationCircleFilled";
- import WarningFilled from "@ant-design/icons-vue/es/icons/WarningFilled";
- import noFound from './noFound';
- import serverError from './serverError';
- import unauthorized from './unauthorized';
- import useConfigInject from '../_util/hooks/useConfigInject';
- import classNames from '../_util/classNames';
- export var IconMap = {
- success: CheckCircleFilled,
- error: CloseCircleFilled,
- info: ExclamationCircleFilled,
- warning: WarningFilled
- };
- export var ExceptionMap = {
- '404': noFound,
- '500': serverError,
- '403': unauthorized
- };
- // ExceptionImageMap keys
- var ExceptionStatus = Object.keys(ExceptionMap);
- export var resultProps = function resultProps() {
- return {
- prefixCls: String,
- icon: PropTypes.any,
- status: {
- type: [Number, String],
- default: 'info'
- },
- title: PropTypes.any,
- subTitle: PropTypes.any,
- extra: PropTypes.any
- };
- };
- var renderIcon = function renderIcon(prefixCls, _ref) {
- var status = _ref.status,
- icon = _ref.icon;
- if (ExceptionStatus.includes("".concat(status))) {
- var SVGComponent = ExceptionMap[status];
- return _createVNode("div", {
- "class": "".concat(prefixCls, "-icon ").concat(prefixCls, "-image")
- }, [_createVNode(SVGComponent, null, null)]);
- }
- var IconComponent = IconMap[status];
- var iconNode = icon || _createVNode(IconComponent, null, null);
- return _createVNode("div", {
- "class": "".concat(prefixCls, "-icon")
- }, [iconNode]);
- };
- var renderExtra = function renderExtra(prefixCls, extra) {
- return extra && _createVNode("div", {
- "class": "".concat(prefixCls, "-extra")
- }, [extra]);
- };
- var Result = defineComponent({
- compatConfig: {
- MODE: 3
- },
- name: 'AResult',
- props: resultProps(),
- slots: ['title', 'subTitle', 'icon', 'extra'],
- setup: function setup(props, _ref2) {
- var slots = _ref2.slots;
- var _useConfigInject = useConfigInject('result', props),
- prefixCls = _useConfigInject.prefixCls,
- direction = _useConfigInject.direction;
- var className = computed(function () {
- return classNames(prefixCls.value, "".concat(prefixCls.value, "-").concat(props.status), _defineProperty({}, "".concat(prefixCls.value, "-rtl"), direction.value === 'rtl'));
- });
- return function () {
- var _props$title, _slots$title, _props$subTitle, _slots$subTitle, _props$icon, _slots$icon, _props$extra, _slots$extra;
- var title = (_props$title = props.title) !== null && _props$title !== void 0 ? _props$title : (_slots$title = slots.title) === null || _slots$title === void 0 ? void 0 : _slots$title.call(slots);
- var subTitle = (_props$subTitle = props.subTitle) !== null && _props$subTitle !== void 0 ? _props$subTitle : (_slots$subTitle = slots.subTitle) === null || _slots$subTitle === void 0 ? void 0 : _slots$subTitle.call(slots);
- var icon = (_props$icon = props.icon) !== null && _props$icon !== void 0 ? _props$icon : (_slots$icon = slots.icon) === null || _slots$icon === void 0 ? void 0 : _slots$icon.call(slots);
- var extra = (_props$extra = props.extra) !== null && _props$extra !== void 0 ? _props$extra : (_slots$extra = slots.extra) === null || _slots$extra === void 0 ? void 0 : _slots$extra.call(slots);
- var pre = prefixCls.value;
- return _createVNode("div", {
- "class": className.value
- }, [renderIcon(pre, {
- status: props.status,
- icon: icon
- }), _createVNode("div", {
- "class": "".concat(pre, "-title")
- }, [title]), subTitle && _createVNode("div", {
- "class": "".concat(pre, "-subtitle")
- }, [subTitle]), renderExtra(pre, extra), slots.default && _createVNode("div", {
- "class": "".concat(pre, "-content")
- }, [slots.default()])]);
- };
- }
- });
- /* add resource */
- Result.PRESENTED_IMAGE_403 = ExceptionMap[403];
- Result.PRESENTED_IMAGE_404 = ExceptionMap[404];
- Result.PRESENTED_IMAGE_500 = ExceptionMap[500];
- /* istanbul ignore next */
- Result.install = function (app) {
- app.component(Result.name, Result);
- return app;
- };
- export default Result;
|