UNPKG

rmc-list-view

Version:
103 lines (88 loc) 3.23 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactDom = require('react-dom'); var _reactDom2 = _interopRequireDefault(_reactDom); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } exports["default"] = _react2["default"].createClass({ displayName: 'RefreshControl', propTypes: { className: _react.PropTypes.string, style: _react.PropTypes.object, icon: _react.PropTypes.element, prefixCls: _react.PropTypes.string, loading: _react.PropTypes.element, distanceToRefresh: _react.PropTypes.number, refreshing: _react.PropTypes.bool, onRefresh: _react.PropTypes.func.isRequired }, getInitialState: function getInitialState() { return { active: false, loadingState: false }; }, getDefaultProps: function getDefaultProps() { return { prefixCls: 'list-view-refresh-control', distanceToRefresh: 50, refreshing: false, icon: _react2["default"].createElement( 'div', { style: { lineHeight: '50px', textAlign: 'center' } }, _react2["default"].createElement( 'div', { className: 'list-view-refresh-control-pull' }, '\u2193 \u4E0B\u62C9' ), _react2["default"].createElement( 'div', { className: 'list-view-refresh-control-release' }, '\u2191 \u91CA\u653E' ) ), loading: _react2["default"].createElement( 'div', { style: { lineHeight: '50px', textAlign: 'center' } }, 'loading...' ) }; }, render: function render() { var _classNames; var _props = this.props, prefixCls = _props.prefixCls, _props$className = _props.className, className = _props$className === undefined ? '' : _props$className, style = _props.style, icon = _props.icon, loading = _props.loading, refreshing = _props.refreshing; var _state = this.state, active = _state.active, loadingState = _state.loadingState; var wrapCls = (0, _classnames2["default"])((_classNames = {}, (0, _defineProperty3["default"])(_classNames, className, className), (0, _defineProperty3["default"])(_classNames, prefixCls + '-ptr', true), (0, _defineProperty3["default"])(_classNames, prefixCls + '-active', active), (0, _defineProperty3["default"])(_classNames, prefixCls + '-loading', loadingState || refreshing), _classNames)); return _react2["default"].createElement( 'div', { ref: 'ptr', className: wrapCls, style: style }, _react2["default"].createElement( 'div', { className: prefixCls + '-ptr-icon' }, icon ), _react2["default"].createElement( 'div', { className: prefixCls + '-ptr-loading' }, loading ) ); } }); module.exports = exports['default'];