index.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.resultProps = exports.default = exports.IconMap = exports.ExceptionMap = void 0;
  7. var _vue = require("vue");
  8. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  9. var _vueTypes = _interopRequireDefault(require("../_util/vue-types"));
  10. var _CheckCircleFilled = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/CheckCircleFilled"));
  11. var _CloseCircleFilled = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/CloseCircleFilled"));
  12. var _ExclamationCircleFilled = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/ExclamationCircleFilled"));
  13. var _WarningFilled = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/WarningFilled"));
  14. var _noFound = _interopRequireDefault(require("./noFound"));
  15. var _serverError = _interopRequireDefault(require("./serverError"));
  16. var _unauthorized = _interopRequireDefault(require("./unauthorized"));
  17. var _useConfigInject2 = _interopRequireDefault(require("../_util/hooks/useConfigInject"));
  18. var _classNames2 = _interopRequireDefault(require("../_util/classNames"));
  19. var IconMap = {
  20. success: _CheckCircleFilled.default,
  21. error: _CloseCircleFilled.default,
  22. info: _ExclamationCircleFilled.default,
  23. warning: _WarningFilled.default
  24. };
  25. exports.IconMap = IconMap;
  26. var ExceptionMap = {
  27. '404': _noFound.default,
  28. '500': _serverError.default,
  29. '403': _unauthorized.default
  30. };
  31. // ExceptionImageMap keys
  32. exports.ExceptionMap = ExceptionMap;
  33. var ExceptionStatus = Object.keys(ExceptionMap);
  34. var resultProps = function resultProps() {
  35. return {
  36. prefixCls: String,
  37. icon: _vueTypes.default.any,
  38. status: {
  39. type: [Number, String],
  40. default: 'info'
  41. },
  42. title: _vueTypes.default.any,
  43. subTitle: _vueTypes.default.any,
  44. extra: _vueTypes.default.any
  45. };
  46. };
  47. exports.resultProps = resultProps;
  48. var renderIcon = function renderIcon(prefixCls, _ref) {
  49. var status = _ref.status,
  50. icon = _ref.icon;
  51. if (ExceptionStatus.includes("".concat(status))) {
  52. var SVGComponent = ExceptionMap[status];
  53. return (0, _vue.createVNode)("div", {
  54. "class": "".concat(prefixCls, "-icon ").concat(prefixCls, "-image")
  55. }, [(0, _vue.createVNode)(SVGComponent, null, null)]);
  56. }
  57. var IconComponent = IconMap[status];
  58. var iconNode = icon || (0, _vue.createVNode)(IconComponent, null, null);
  59. return (0, _vue.createVNode)("div", {
  60. "class": "".concat(prefixCls, "-icon")
  61. }, [iconNode]);
  62. };
  63. var renderExtra = function renderExtra(prefixCls, extra) {
  64. return extra && (0, _vue.createVNode)("div", {
  65. "class": "".concat(prefixCls, "-extra")
  66. }, [extra]);
  67. };
  68. var Result = (0, _vue.defineComponent)({
  69. compatConfig: {
  70. MODE: 3
  71. },
  72. name: 'AResult',
  73. props: resultProps(),
  74. slots: ['title', 'subTitle', 'icon', 'extra'],
  75. setup: function setup(props, _ref2) {
  76. var slots = _ref2.slots;
  77. var _useConfigInject = (0, _useConfigInject2.default)('result', props),
  78. prefixCls = _useConfigInject.prefixCls,
  79. direction = _useConfigInject.direction;
  80. var className = (0, _vue.computed)(function () {
  81. return (0, _classNames2.default)(prefixCls.value, "".concat(prefixCls.value, "-").concat(props.status), (0, _defineProperty2.default)({}, "".concat(prefixCls.value, "-rtl"), direction.value === 'rtl'));
  82. });
  83. return function () {
  84. var _props$title, _slots$title, _props$subTitle, _slots$subTitle, _props$icon, _slots$icon, _props$extra, _slots$extra;
  85. 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);
  86. 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);
  87. 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);
  88. 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);
  89. var pre = prefixCls.value;
  90. return (0, _vue.createVNode)("div", {
  91. "class": className.value
  92. }, [renderIcon(pre, {
  93. status: props.status,
  94. icon: icon
  95. }), (0, _vue.createVNode)("div", {
  96. "class": "".concat(pre, "-title")
  97. }, [title]), subTitle && (0, _vue.createVNode)("div", {
  98. "class": "".concat(pre, "-subtitle")
  99. }, [subTitle]), renderExtra(pre, extra), slots.default && (0, _vue.createVNode)("div", {
  100. "class": "".concat(pre, "-content")
  101. }, [slots.default()])]);
  102. };
  103. }
  104. });
  105. /* add resource */
  106. Result.PRESENTED_IMAGE_403 = ExceptionMap[403];
  107. Result.PRESENTED_IMAGE_404 = ExceptionMap[404];
  108. Result.PRESENTED_IMAGE_500 = ExceptionMap[500];
  109. /* istanbul ignore next */
  110. Result.install = function (app) {
  111. app.component(Result.name, Result);
  112. return app;
  113. };
  114. var _default = Result;
  115. exports.default = _default;