12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import _extends from 'babel-runtime/helpers/extends';
- import PropTypes from '../_util/vue-types';
- import { initDefaultProps, getOptionProps, getListeners } from '../_util/props-util';
- import VcSteps from '../vc-steps';
- import Icon from '../icon';
- import { ConfigConsumerProps } from '../config-provider/configConsumerProps';
- import Base from '../base';
- var getStepsProps = function getStepsProps() {
- var defaultProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- var props = {
- prefixCls: PropTypes.string,
- iconPrefix: PropTypes.string,
- current: PropTypes.number,
- initial: PropTypes.number,
- labelPlacement: PropTypes.oneOf(['horizontal', 'vertical']).def('horizontal'),
- status: PropTypes.oneOf(['wait', 'process', 'finish', 'error']),
- size: PropTypes.oneOf(['default', 'small']),
- direction: PropTypes.oneOf(['horizontal', 'vertical']),
- progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),
- type: PropTypes.oneOf(['default', 'navigation'])
- };
- return initDefaultProps(props, defaultProps);
- };
- var Steps = {
- name: 'ASteps',
- props: getStepsProps({
- current: 0
- }),
- inject: {
- configProvider: { 'default': function _default() {
- return ConfigConsumerProps;
- } }
- },
- model: {
- prop: 'current',
- event: 'change'
- },
- Step: _extends({}, VcSteps.Step, { name: 'AStep' }),
- render: function render() {
- var h = arguments[0];
- var props = getOptionProps(this);
- var customizePrefixCls = props.prefixCls,
- customizeIconPrefixCls = props.iconPrefix;
- var getPrefixCls = this.configProvider.getPrefixCls;
- var prefixCls = getPrefixCls('steps', customizePrefixCls);
- var iconPrefix = getPrefixCls('', customizeIconPrefixCls);
- var icons = {
- finish: h(Icon, {
- attrs: { type: 'check' },
- 'class': prefixCls + '-finish-icon' }),
- error: h(Icon, {
- attrs: { type: 'close' },
- 'class': prefixCls + '-error-icon' })
- };
- var stepsProps = {
- props: _extends({
- icons: icons,
- iconPrefix: iconPrefix,
- prefixCls: prefixCls
- }, props),
- on: getListeners(this),
- scopedSlots: this.$scopedSlots
- };
- return h(
- VcSteps,
- stepsProps,
- [this.$slots['default']]
- );
- }
- };
- /* istanbul ignore next */
- Steps.install = function (Vue) {
- Vue.use(Base);
- Vue.component(Steps.name, Steps);
- Vue.component(Steps.Step.name, Steps.Step);
- };
- export default Steps;
|