UNPKG

antui-mobile

Version:
121 lines (92 loc) 3.76 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactAddonsCssTransitionGroup = require('react-addons-css-transition-group'); var _reactAddonsCssTransitionGroup2 = _interopRequireDefault(_reactAddonsCssTransitionGroup); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * 页面过渡 */ var TransitionPages = function (_Component) { (0, _inherits3.default)(TransitionPages, _Component); function TransitionPages() { (0, _classCallCheck3.default)(this, TransitionPages); return (0, _possibleConstructorReturn3.default)(this, (TransitionPages.__proto__ || (0, _getPrototypeOf2.default)(TransitionPages)).apply(this, arguments)); } (0, _createClass3.default)(TransitionPages, [{ key: 'render', value: function render() { var _props = this.props, prefixCls = _props.prefixCls, className = _props.className, location = _props.location, children = _props.children, _selfTransition = _props.transition; var classes = (0, _classnames2.default)(prefixCls, className); var transition = 'sfr'; var transitionKey = void 0; if (location && location.pathname) { transitionKey = location.pathname; } else if (children && children.props && children.props.location) { transitionKey = children.props.location.pathname; } if (location && location.query.t) { transition = location.query.t; } else if (children.props && children.props.transition) { transition = children.props.transition; } else if (_selfTransition) { transition = _selfTransition; } var childrenComp = null; if (children && children.length) { childrenComp = children; } else if (_react2.default.isValidElement(children)) { childrenComp = transitionKey ? _react2.default.cloneElement(children, { key: transitionKey }) : children; } return _react2.default.createElement( _reactAddonsCssTransitionGroup2.default, { component: 'div', className: classes, transitionName: 'page-transition-' + transition, transitionEnterTimeout: 400, transitionLeaveTimeout: 400 }, childrenComp ); } }]); return TransitionPages; }(_react.Component); TransitionPages.propTypes = { prefixCls: _react.PropTypes.string, className: _react.PropTypes.string, children: _react.PropTypes.node, location: _react.PropTypes.object, /** * 可以直接指定转场动画,或由子类传入,或由url传入 */ transition: _react.PropTypes.string }; TransitionPages.defaultProps = { prefixCls: "antui-transition-pages" }; exports.default = TransitionPages; module.exports = exports['default'];