1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import _extends from 'babel-runtime/helpers/extends';
- import PropTypes from '../_util/vue-types';
- import { getComponentFromProp, initDefaultProps } from '../_util/props-util';
- import { ConfigConsumerProps } from '../config-provider/configConsumerProps';
- import StatisticNumber from './Number';
- export var StatisticProps = {
- prefixCls: PropTypes.string,
- decimalSeparator: PropTypes.string,
- groupSeparator: PropTypes.string,
- format: PropTypes.string,
- value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]),
- valueStyle: PropTypes.any,
- valueRender: PropTypes.any,
- formatter: PropTypes.any,
- precision: PropTypes.number,
- prefix: PropTypes.any,
- suffix: PropTypes.any,
- title: PropTypes.any
- };
- export default {
- name: 'AStatistic',
- props: initDefaultProps(StatisticProps, {
- decimalSeparator: '.',
- groupSeparator: ','
- }),
- inject: {
- configProvider: { 'default': function _default() {
- return ConfigConsumerProps;
- } }
- },
- render: function render() {
- var h = arguments[0];
- var _$props = this.$props,
- customizePrefixCls = _$props.prefixCls,
- _$props$value = _$props.value,
- value = _$props$value === undefined ? 0 : _$props$value,
- valueStyle = _$props.valueStyle,
- valueRender = _$props.valueRender;
- var getPrefixCls = this.configProvider.getPrefixCls;
- var prefixCls = getPrefixCls('statistic', customizePrefixCls);
- var title = getComponentFromProp(this, 'title');
- var prefix = getComponentFromProp(this, 'prefix');
- var suffix = getComponentFromProp(this, 'suffix');
- var formatter = getComponentFromProp(this, 'formatter', {}, false);
- var valueNode = h(StatisticNumber, { props: _extends({}, this.$props, { prefixCls: prefixCls, value: value, formatter: formatter }) });
- if (valueRender) {
- valueNode = valueRender(valueNode);
- }
- return h(
- 'div',
- { 'class': prefixCls },
- [title && h(
- 'div',
- { 'class': prefixCls + '-title' },
- [title]
- ), h(
- 'div',
- { style: valueStyle, 'class': prefixCls + '-content' },
- [prefix && h(
- 'span',
- { 'class': prefixCls + '-content-prefix' },
- [prefix]
- ), valueNode, suffix && h(
- 'span',
- { 'class': prefixCls + '-content-suffix' },
- [suffix]
- )]
- )]
- );
- }
- };
|