UNPKG

antd-mobile

Version:

基于 React 的移动设计规范实现

171 lines (142 loc) 6.79 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.Brief = undefined; var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); 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 React = _interopRequireWildcard(_react); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var Brief = exports.Brief = function (_React$Component) { (0, _inherits3["default"])(Brief, _React$Component); function Brief() { (0, _classCallCheck3["default"])(this, Brief); return (0, _possibleConstructorReturn3["default"])(this, _React$Component.apply(this, arguments)); } Brief.prototype.render = function render() { return React.createElement( 'div', { className: 'am-list-brief', style: this.props.style, onClick: this.props.onClick }, this.props.children ); }; return Brief; }(React.Component); var ListItem = function (_React$Component2) { (0, _inherits3["default"])(ListItem, _React$Component2); function ListItem(props) { (0, _classCallCheck3["default"])(this, ListItem); var _this2 = (0, _possibleConstructorReturn3["default"])(this, _React$Component2.call(this, props)); _this2.onClick = function (e) { if (_this2.props.onClick) { _this2.props.onClick(e); } }; _this2.onTouchStart = function () { if (_this2.props.onClick) { _this2.setState({ hover: true }); } }; _this2.onTouchEnd = function () { if (_this2.props.onClick) { _this2.setState({ hover: false }); } }; _this2.state = { hover: false }; return _this2; } ListItem.prototype.render = function render() { var _classNames, _classNames2, _classNames3; var _props = this.props; var prefixCls = _props.prefixCls; var thumb = _props.thumb; var arrow = _props.arrow; var error = _props.error; var children = _props.children; var extra = _props.extra; var className = _props.className; var align = _props.align; var multipleLine = _props.multipleLine; var wrap = _props.wrap; var style = _props.style; var hover = this.state.hover; var thumbDom = void 0; var arrowDom = void 0; var wrapCls = (0, _classnames2["default"])((_classNames = {}, (0, _defineProperty3["default"])(_classNames, prefixCls + '-item', true), (0, _defineProperty3["default"])(_classNames, prefixCls + '-item-error', error), (0, _defineProperty3["default"])(_classNames, prefixCls + '-item-top', align === 'top'), (0, _defineProperty3["default"])(_classNames, prefixCls + '-item-middle', align === 'middle'), (0, _defineProperty3["default"])(_classNames, prefixCls + '-item-bottom', align === 'bottom'), (0, _defineProperty3["default"])(_classNames, prefixCls + '-item-hover', hover), (0, _defineProperty3["default"])(_classNames, className, className), _classNames)); var lineCls = (0, _classnames2["default"])((_classNames2 = {}, (0, _defineProperty3["default"])(_classNames2, prefixCls + '-line', true), (0, _defineProperty3["default"])(_classNames2, prefixCls + '-line-multiple', multipleLine), (0, _defineProperty3["default"])(_classNames2, prefixCls + '-line-wrap', wrap), _classNames2)); var arrowCls = (0, _classnames2["default"])((_classNames3 = {}, (0, _defineProperty3["default"])(_classNames3, prefixCls + '-arrow', true), (0, _defineProperty3["default"])(_classNames3, prefixCls + '-arrow-horizontal', arrow === 'horizontal'), (0, _defineProperty3["default"])(_classNames3, prefixCls + '-arrow-vertical', arrow === 'down' || arrow === 'up'), (0, _defineProperty3["default"])(_classNames3, prefixCls + '-arrow-vertical-up', arrow === 'up'), _classNames3)); if (thumb) { if (typeof thumb === 'string') { thumbDom = React.createElement( 'div', { className: prefixCls + '-thumb' }, React.createElement('img', { src: thumb }) ); } else { thumbDom = React.createElement( 'div', { className: prefixCls + '-thumb' }, thumb ); } } /* arrow有值,则保留这个dom坑位 */ if (arrow !== '') { arrowDom = React.createElement('div', { className: arrowCls }); } else { arrowDom = null; } return React.createElement( 'div', { className: wrapCls, onClick: this.onClick, onTouchStart: this.onTouchStart, onTouchEnd: this.onTouchEnd, onTouchCancel: this.onTouchEnd, style: style }, thumbDom, React.createElement( 'div', { className: lineCls }, children !== '' ? React.createElement( 'div', { className: prefixCls + '-content' }, children ) : null, extra !== '' ? React.createElement( 'div', { className: prefixCls + '-extra' }, extra ) : null, arrowDom ) ); }; return ListItem; }(React.Component); exports["default"] = ListItem; ListItem.Brief = Brief; ListItem.defaultProps = { prefixCls: 'am-list', thumb: '', arrow: '', children: '', extra: '', error: false, multipleLine: false, align: 'middle', wrap: false }; // 给其他组件对其设置 extra 使用 ListItem.myName = 'ListItem';