UNPKG

antui-mobile

Version:
188 lines (137 loc) 5.76 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); 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 _reactDom = require('react-dom'); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _transitionpages = require('./transitionpages'); var _transitionpages2 = _interopRequireDefault(_transitionpages); var _storage = require('../../utils/storage'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function generator(props) { return function (Basic) { var _class, _temp2; return _temp2 = _class = function (_Component) { (0, _inherits3.default)(Adapter, _Component); function Adapter() { var _ref; var _temp, _this, _ret; (0, _classCallCheck3.default)(this, Adapter); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Adapter.__proto__ || (0, _getPrototypeOf2.default)(Adapter)).call.apply(_ref, [this].concat(args))), _this), _this.store = _storage.Session.getAttribute("store") || {}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret); } // 存储历史数据 (0, _createClass3.default)(Adapter, [{ key: 'componentDidMount', value: function componentDidMount() { this.restoreScrollTop(); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { this.storeScrollTop(); } }, { key: 'restoreScrollTop', value: function restoreScrollTop() { if (this.props.storeName) { var dom = (0, _reactDom.findDOMNode)(this); dom.scrollTop = this.store[this.props.storeName] ? this.store[this.props.storeName].scrollTop : 0; } } }, { key: 'storeScrollTop', value: function storeScrollTop() { if (this.props.storeName) { var scrollTop = (0, _reactDom.findDOMNode)(this).scrollTop; if (this.store && this.store[this.props.storeName]) { this.store[this.props.storeName] = { scrollTop: scrollTop }; _storage.Session.setAttribute("store", this.store); } else { _storage.Session.setAttribute("store", (0, _defineProperty3.default)({}, this.props.storeName, { scrollTop: scrollTop })); } } } }, { key: 'render', value: function render() { var prefixCls = props.prefixCls; var compProps = (0, _extends3.default)({}, this.props); delete compProps.storeName; return _react2.default.createElement(Basic, (0, _extends3.default)({ prefixCls: prefixCls }, compProps)); } }]); return Adapter; }(_react.Component), _class.propTypes = { storeName: _react.PropTypes.string }, _temp2; }; } var Basic = function (_Component2) { (0, _inherits3.default)(Basic, _Component2); function Basic() { (0, _classCallCheck3.default)(this, Basic); return (0, _possibleConstructorReturn3.default)(this, (Basic.__proto__ || (0, _getPrototypeOf2.default)(Basic)).apply(this, arguments)); } (0, _createClass3.default)(Basic, [{ key: 'render', value: function render() { var _props = this.props, prefixCls = _props.prefixCls, className = _props.className, children = _props.children, others = (0, _objectWithoutProperties3.default)(_props, ['prefixCls', 'className', 'children']); var divCls = (0, _classnames2.default)(className, prefixCls); return _react2.default.createElement( 'div', (0, _extends3.default)({ className: divCls }, others), children ); } }]); return Basic; }(_react.Component); Basic.propTypes = { prefixCls: _react.PropTypes.string, className: _react.PropTypes.string, children: _react.PropTypes.node }; var Layout = generator({ prefixCls: 'antui-layout' })(Basic); var Header = generator({ prefixCls: 'antui-layout-header' })(Basic); var Footer = generator({ prefixCls: 'antui-layout-footer' })(Basic); var Content = generator({ prefixCls: 'antui-layout-content' })(Basic); Layout.Header = Header; Layout.Footer = Footer; Layout.Content = Content; Layout.Transition = _transitionpages2.default; exports.default = Layout; module.exports = exports['default'];