123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- 'use strict';
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.ResultProps = exports.ExceptionMap = exports.IconMap = undefined;
- var _vueTypes = require('../_util/vue-types');
- var _vueTypes2 = _interopRequireDefault(_vueTypes);
- var _propsUtil = require('../_util/props-util');
- var _configConsumerProps = require('../config-provider/configConsumerProps');
- var _icon = require('../icon');
- var _icon2 = _interopRequireDefault(_icon);
- var _base = require('../base');
- var _base2 = _interopRequireDefault(_base);
- var _noFound = require('./noFound');
- var _noFound2 = _interopRequireDefault(_noFound);
- var _serverError = require('./serverError');
- var _serverError2 = _interopRequireDefault(_serverError);
- var _unauthorized = require('./unauthorized');
- var _unauthorized2 = _interopRequireDefault(_unauthorized);
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
- var IconMap = exports.IconMap = {
- success: 'check-circle',
- error: 'close-circle',
- info: 'exclamation-circle',
- warning: 'warning'
- };
- var ExceptionMap = exports.ExceptionMap = {
- '404': _noFound2['default'],
- '500': _serverError2['default'],
- '403': _unauthorized2['default']
- };
- // ExceptionImageMap keys
- var ExceptionStatus = Object.keys(ExceptionMap);
- var ResultProps = exports.ResultProps = {
- prefixCls: _vueTypes2['default'].string,
- icon: _vueTypes2['default'].any,
- status: _vueTypes2['default'].oneOf(['success', 'error', 'info', 'warning', '404', '403', '500']).def('info'),
- title: _vueTypes2['default'].any,
- subTitle: _vueTypes2['default'].any,
- extra: _vueTypes2['default'].any
- };
- var renderIcon = function renderIcon(h, prefixCls, _ref) {
- var status = _ref.status,
- icon = _ref.icon;
- if (ExceptionStatus.includes('' + status)) {
- var SVGComponent = ExceptionMap[status];
- return h(
- 'div',
- { 'class': prefixCls + '-icon ' + prefixCls + '-image' },
- [h(SVGComponent)]
- );
- }
- // prop `icon` require slot or VNode
- var iconString = IconMap[status];
- var iconNode = icon || h(_icon2['default'], {
- attrs: { type: iconString, theme: 'filled' }
- });
- return h(
- 'div',
- { 'class': prefixCls + '-icon' },
- [iconNode]
- );
- };
- var renderExtra = function renderExtra(h, prefixCls, extra) {
- return extra && h(
- 'div',
- { 'class': prefixCls + '-extra' },
- [extra]
- );
- };
- var Result = {
- name: 'AResult',
- props: ResultProps,
- inject: {
- configProvider: { 'default': function _default() {
- return _configConsumerProps.ConfigConsumerProps;
- } }
- },
- render: function render(h) {
- var customizePrefixCls = this.prefixCls,
- status = this.status;
- var getPrefixCls = this.configProvider.getPrefixCls;
- var prefixCls = getPrefixCls('result', customizePrefixCls);
- var title = (0, _propsUtil.getComponentFromProp)(this, 'title');
- var subTitle = (0, _propsUtil.getComponentFromProp)(this, 'subTitle');
- var icon = (0, _propsUtil.getComponentFromProp)(this, 'icon');
- var extra = (0, _propsUtil.getComponentFromProp)(this, 'extra');
- return h(
- 'div',
- { 'class': prefixCls + ' ' + prefixCls + '-' + status },
- [renderIcon(h, prefixCls, { status: status, icon: icon }), h(
- 'div',
- { 'class': prefixCls + '-title' },
- [title]
- ), subTitle && h(
- 'div',
- { 'class': prefixCls + '-subtitle' },
- [subTitle]
- ), this.$slots['default'] && h(
- 'div',
- { 'class': prefixCls + '-content' },
- [this.$slots['default']]
- ), renderExtra(h, prefixCls, extra)]
- );
- }
- };
- /* 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 (Vue) {
- Vue.use(_base2['default']);
- Vue.component(Result.name, Result);
- };
- exports['default'] = Result;
|