iep-ui
Version:
An enterprise-class UI design language and Vue-based implementation
88 lines (86 loc) • 2.4 kB
JavaScript
import PropTypes from '../_util/vue-types';
import { ConfigConsumerProps } from '../config-provider/configConsumerProps';
import { getComponentFromProp } from '../_util/props-util';
import NoAccess from './noAccess';
import { IepIcon } from 'rk-web-icon';
export var IconMap = {
success: 'basic_solid_common_success',
error: 'basic_solid_common_close',
info: 'basic_solid_tooltip_information',
warning: 'basic_solid_tooltip_warning3'
};
export default {
name: 'IepResultBox',
props: {
showZero: PropTypes.bool,
prefixCls: PropTypes.string,
status: PropTypes.oneOf(['success', 'error', 'info', 'warning', 'noAcess']).def('info'),
title: PropTypes.any,
content: PropTypes.any,
extra: PropTypes.any
},
component: {
NoAccess: NoAccess
},
inject: {
configProvider: { 'default': function _default() {
return ConfigConsumerProps;
} }
},
methods: {},
render: function render() {
var h = arguments[0];
var customizePrefixCls = this.prefixCls,
status = this.status;
var extra = getComponentFromProp(this, 'extra');
var getPrefixCls = this.configProvider.getPrefixCls;
var prefixCls = getPrefixCls('result-box', customizePrefixCls);
return h(
'div',
{ 'class': prefixCls + ' ' + prefixCls + '-' + status },
[this.status === 'noAcess' ? h(
'div',
{ 'class': prefixCls + '-main' },
[h(
'div',
{ 'class': prefixCls + '-noAcess' },
[h(NoAccess)]
), h(
'div',
{ 'class': prefixCls + '-noAcesstitle' },
[this.title]
), h(
'div',
{ 'class': prefixCls + '-content' },
[this.content]
), extra && h(
'div',
{ 'class': prefixCls + '-extra' },
[extra]
)]
) : h(
'div',
{ 'class': prefixCls + '-main' },
[h(
'div',
{ 'class': prefixCls + '-icon' },
[h(IepIcon, {
attrs: { type: IconMap[this.status] }
})]
), h(
'div',
{ 'class': prefixCls + '-title' },
[this.title]
), h(
'div',
{ 'class': prefixCls + '-content' },
[this.content]
), extra && h(
'div',
{ 'class': prefixCls + '-extra' },
[extra]
)]
)]
);
}
};