apeman-react-list
Version:
apeman react package for list component.
185 lines (144 loc) • 13 kB
JavaScript
/**
* List item component.
* @class ApListItem
*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ApListItem = undefined;
var _assign = require('babel-runtime/core-js/object/assign');
var _assign2 = _interopRequireDefault(_assign);
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 _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _apemanReactTouchable = require('apeman-react-touchable');
var _ap_list_item_icon = require('./ap_list_item_icon');
var _ap_list_item_icon2 = _interopRequireDefault(_ap_list_item_icon);
var _ap_list_item_image = require('./ap_list_item_image');
var _ap_list_item_image2 = _interopRequireDefault(_ap_list_item_image);
var _ap_list_item_text = require('./ap_list_item_text');
var _ap_list_item_text2 = _interopRequireDefault(_ap_list_item_text);
var _ap_list_item_arrow_icon = require('./ap_list_item_arrow_icon');
var _ap_list_item_arrow_icon2 = _interopRequireDefault(_ap_list_item_arrow_icon);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var sizeString = function sizeString(size) {
return isNaN(Number(size)) ? size : size + 'px';
};
/** @lends ApListItem */
var ApListItem = function (_Component) {
(0, _inherits3.default)(ApListItem, _Component);
function ApListItem() {
(0, _classCallCheck3.default)(this, ApListItem);
return (0, _possibleConstructorReturn3.default)(this, (ApListItem.__proto__ || (0, _getPrototypeOf2.default)(ApListItem)).apply(this, arguments));
}
(0, _createClass3.default)(ApListItem, [{
key: 'render',
value: function render() {
var s = this;
var props = s.props;
var className = (0, _classnames2.default)('ap-list-item', props.className, {
'ap-list-item-tappable': props.hasTouch
});
return _react2.default.createElement(
'li',
{ className: className
},
_react2.default.createElement(
'a',
{ className: 'ap-list-item-inner',
href: props.href,
onClick: function onClick(e) {
return e.preventDefault();
}
},
_react2.default.createElement(
'span',
{ className: 'ap-list-item-aligner' },
'\xA0'
),
props.imgSrc ? _react2.default.createElement(_ap_list_item_image2.default, { className: 'ap-list-item-sumbnail-image',
src: props.imgSrc,
alt: props.imgAlt,
height: props.imgHeight,
width: props.imgWidth }) : null,
props.title ? _react2.default.createElement(
_ap_list_item_text2.default,
{ className: 'ap-list-item-title-wrap' },
_react2.default.createElement(
'span',
{ className: 'ap-list-item-title' },
props.title
),
_react2.default.createElement(
'span',
{ className: 'ap-list-item-sub-title' },
props.subTitle
)
) : null,
props.children,
props.icon ? _react2.default.createElement(_ap_list_item_icon2.default, { className: props.icon }) : null,
props.disclosure ? _react2.default.createElement(_ap_list_item_arrow_icon2.default, { className: 'ap-list-item-disclosure-icon' }) : null,
props.alt ? _react2.default.createElement(
'div',
{ className: 'ap-list-item-alt' },
props.alt
) : null
)
);
}
}]);
return ApListItem;
}(_react.Component);
(0, _assign2.default)(ApListItem, {
// --------------------
// Specs
// --------------------
propTypes: {
disclosure: _react.PropTypes.bool,
imgSrc: _react.PropTypes.string,
imgAlt: _react.PropTypes.string,
imgWidth: _react.PropTypes.oneOfType([_react.PropTypes.number, _react.PropTypes.string]),
imgHeight: _react.PropTypes.oneOfType([_react.PropTypes.number, _react.PropTypes.string]),
/** Title of item */
title: _react.PropTypes.node,
/** Sub title of item */
subTitle: _react.PropTypes.node,
/** Custom icon class */
icon: _react.PropTypes.string,
/** Data for events */
data: _react.PropTypes.object,
/** Alt text */
alt: _react.PropTypes.string
},
defaultProps: {
disclosure: false,
imgSrc: null,
imgAlt: null,
imgWidth: 72,
imgHeight: 48,
title: null,
subTitle: null,
data: null
}
});
exports.ApListItem = ApListItem;
exports.default = (0, _apemanReactTouchable.withTouch)(ApListItem, {
getTouchData: function getTouchData() {
var s = this;
var props = s.props;
return props.data;
}
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX2xpc3RfaXRlbS5qc3giXSwibmFtZXMiOlsic2l6ZVN0cmluZyIsInNpemUiLCJpc05hTiIsIk51bWJlciIsIkFwTGlzdEl0ZW0iLCJzIiwicHJvcHMiLCJjbGFzc05hbWUiLCJoYXNUb3VjaCIsImhyZWYiLCJlIiwicHJldmVudERlZmF1bHQiLCJpbWdTcmMiLCJpbWdBbHQiLCJpbWdIZWlnaHQiLCJpbWdXaWR0aCIsInRpdGxlIiwic3ViVGl0bGUiLCJjaGlsZHJlbiIsImljb24iLCJkaXNjbG9zdXJlIiwiYWx0IiwicHJvcFR5cGVzIiwiYm9vbCIsInN0cmluZyIsIm9uZU9mVHlwZSIsIm51bWJlciIsIm5vZGUiLCJkYXRhIiwib2JqZWN0IiwiZGVmYXVsdFByb3BzIiwiZ2V0VG91Y2hEYXRhIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7QUFLQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsYUFBYSxTQUFiQSxVQUFhLENBQUNDLElBQUQ7QUFBQSxTQUFVQyxNQUFNQyxPQUFPRixJQUFQLENBQU4sSUFBc0JBLElBQXRCLEdBQWdDQSxJQUFoQyxPQUFWO0FBQUEsQ0FBbkI7O0FBRUE7O0lBQ01HLFU7Ozs7Ozs7Ozs7NkJBQ007QUFDUixVQUFNQyxJQUFJLElBQVY7QUFEUSxVQUVGQyxLQUZFLEdBRVFELENBRlIsQ0FFRkMsS0FGRTs7O0FBSVIsVUFBSUMsWUFBWSwwQkFBVyxjQUFYLEVBQTJCRCxNQUFNQyxTQUFqQyxFQUE0QztBQUMxRCxpQ0FBeUJELE1BQU1FO0FBRDJCLE9BQTVDLENBQWhCOztBQUlBLGFBQ0U7QUFBQTtBQUFBLFVBQUksV0FBWUQ7QUFBaEI7QUFFRTtBQUFBO0FBQUEsWUFBRyxXQUFVLG9CQUFiO0FBQ0csa0JBQU9ELE1BQU1HLElBRGhCO0FBRUcscUJBQVUsaUJBQUNDLENBQUQ7QUFBQSxxQkFBT0EsRUFBRUMsY0FBRixFQUFQO0FBQUE7QUFGYjtBQUlFO0FBQUE7QUFBQSxjQUFNLFdBQVUsc0JBQWhCO0FBQUE7QUFBQSxXQUpGO0FBTUlMLGdCQUFNTSxNQUFOLEdBQ0ksOERBQWlCLFdBQVUsNkJBQTNCO0FBQ2lCLGlCQUFNTixNQUFNTSxNQUQ3QjtBQUVpQixpQkFBTU4sTUFBTU8sTUFGN0I7QUFHaUIsb0JBQVNQLE1BQU1RLFNBSGhDO0FBSWlCLG1CQUFRUixNQUFNUyxRQUovQixHQURKLEdBTU0sSUFaVjtBQWVJVCxnQkFBTVUsS0FBTixHQUNJO0FBQUE7QUFBQSxjQUFnQixXQUFVLHlCQUExQjtBQUNFO0FBQUE7QUFBQSxnQkFBTSxXQUFVLG9CQUFoQjtBQUF1Q1Ysb0JBQU1VO0FBQTdDLGFBREY7QUFFRTtBQUFBO0FBQUEsZ0JBQU0sV0FBVSx3QkFBaEI7QUFBMkNWLG9CQUFNVztBQUFqRDtBQUZGLFdBREosR0FLTSxJQXBCVjtBQXNCSVgsZ0JBQU1ZLFFBdEJWO0FBd0JJWixnQkFBTWEsSUFBTixHQUNJLDZEQUFnQixXQUFZYixNQUFNYSxJQUFsQyxHQURKLEdBRU0sSUExQlY7QUE2QkliLGdCQUFNYyxVQUFOLEdBQ0ksbUVBQXFCLFdBQVUsOEJBQS9CLEdBREosR0FFTSxJQS9CVjtBQWtDSWQsZ0JBQU1lLEdBQU4sR0FDSTtBQUFBO0FBQUEsY0FBSyxXQUFVLGtCQUFmO0FBQW9DZixrQkFBTWU7QUFBMUMsV0FESixHQUVNO0FBcENWO0FBRkYsT0FERjtBQTRDRDs7Ozs7QUFHSCxzQkFBY2pCLFVBQWQsRUFBMEI7QUFDeEI7QUFDQTtBQUNBOztBQUVBa0IsYUFBVztBQUNURixnQkFBWSxpQkFBTUcsSUFEVDtBQUVUWCxZQUFRLGlCQUFNWSxNQUZMO0FBR1RYLFlBQVEsaUJBQU1XLE1BSEw7QUFJVFQsY0FBVSxpQkFBTVUsU0FBTixDQUFnQixDQUFFLGlCQUFNQyxNQUFSLEVBQWdCLGlCQUFNRixNQUF0QixDQUFoQixDQUpEO0FBS1RWLGVBQVcsaUJBQU1XLFNBQU4sQ0FBZ0IsQ0FBRSxpQkFBTUMsTUFBUixFQUFnQixpQkFBTUYsTUFBdEIsQ0FBaEIsQ0FMRjtBQU1UO0FBQ0FSLFdBQU8saUJBQU1XLElBUEo7QUFRVDtBQUNBVixjQUFVLGlCQUFNVSxJQVRQO0FBVVQ7QUFDQVIsVUFBTSxpQkFBTUssTUFYSDtBQVlUO0FBQ0FJLFVBQU0saUJBQU1DLE1BYkg7QUFjVDtBQUNBUixTQUFLLGlCQUFNRztBQWZGLEdBTGE7O0FBdUJ4Qk0sZ0JBQWM7QUFDWlYsZ0JBQVksS0FEQTtBQUVaUixZQUFRLElBRkk7QUFHWkMsWUFBUSxJQUhJO0FBSVpFLGNBQVUsRUFKRTtBQUtaRCxlQUFXLEVBTEM7QUFNWkUsV0FBTyxJQU5LO0FBT1pDLGNBQVUsSUFQRTtBQVFaVyxVQUFNO0FBUk07QUF2QlUsQ0FBMUI7O1FBbUNTeEIsVSxHQUFBQSxVO2tCQUNNLHFDQUFVQSxVQUFWLEVBQXNCO0FBQ25DMkIsY0FEbUMsMEJBQ25CO0FBQ2QsUUFBTTFCLElBQUksSUFBVjtBQURjLFFBRVJDLEtBRlEsR0FFRUQsQ0FGRixDQUVSQyxLQUZROztBQUdkLFdBQU9BLE1BQU1zQixJQUFiO0FBQ0Q7QUFMa0MsQ0FBdEIsQyIsImZpbGUiOiJhcF9saXN0X2l0ZW0uanN4Iiwic291cmNlUm9vdCI6ImxpYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTGlzdCBpdGVtIGNvbXBvbmVudC5cbiAqIEBjbGFzcyBBcExpc3RJdGVtXG4gKi9cblxuJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCBSZWFjdCwgeyBQcm9wVHlwZXMgYXMgdHlwZXMsIENvbXBvbmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcbmltcG9ydCB7IHdpdGhUb3VjaCB9IGZyb20gJ2FwZW1hbi1yZWFjdC10b3VjaGFibGUnXG5pbXBvcnQgQXBMaXN0SXRlbUljb24gZnJvbSAnLi9hcF9saXN0X2l0ZW1faWNvbidcbmltcG9ydCBBcExpc3RJdGVtSW1hZ2UgZnJvbSAnLi9hcF9saXN0X2l0ZW1faW1hZ2UnXG5pbXBvcnQgQXBMaXN0SXRlbVRleHQgZnJvbSAnLi9hcF9saXN0X2l0ZW1fdGV4dCdcbmltcG9ydCBBcExpc3RJdGVtQXJyb3dJY29uIGZyb20gJy4vYXBfbGlzdF9pdGVtX2Fycm93X2ljb24nXG5cbmNvbnN0IHNpemVTdHJpbmcgPSAoc2l6ZSkgPT4gaXNOYU4oTnVtYmVyKHNpemUpKSA/IHNpemUgOiBgJHtzaXplfXB4YFxuXG4vKiogQGxlbmRzIEFwTGlzdEl0ZW0gKi9cbmNsYXNzIEFwTGlzdEl0ZW0gZXh0ZW5kcyBDb21wb25lbnQge1xuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgbGV0IHsgcHJvcHMgfSA9IHNcblxuICAgIGxldCBjbGFzc05hbWUgPSBjbGFzc25hbWVzKCdhcC1saXN0LWl0ZW0nLCBwcm9wcy5jbGFzc05hbWUsIHtcbiAgICAgICdhcC1saXN0LWl0ZW0tdGFwcGFibGUnOiBwcm9wcy5oYXNUb3VjaFxuICAgIH0pXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGxpIGNsYXNzTmFtZT17IGNsYXNzTmFtZSB9XG4gICAgICA+XG4gICAgICAgIDxhIGNsYXNzTmFtZT0nYXAtbGlzdC1pdGVtLWlubmVyJ1xuICAgICAgICAgICBocmVmPXsgcHJvcHMuaHJlZiB9XG4gICAgICAgICAgIG9uQ2xpY2s9eyAoZSkgPT4gZS5wcmV2ZW50RGVmYXVsdCgpIH1cbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nYXAtbGlzdC1pdGVtLWFsaWduZXInPiZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm9wcy5pbWdTcmMgPyAoXG4gICAgICAgICAgICAgICAgPEFwTGlzdEl0ZW1JbWFnZSBjbGFzc05hbWU9J2FwLWxpc3QtaXRlbS1zdW1ibmFpbC1pbWFnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17IHByb3BzLmltZ1NyYyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9eyBwcm9wcy5pbWdBbHQgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsgcHJvcHMuaW1nSGVpZ2h0IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXsgcHJvcHMuaW1nV2lkdGggfS8+XG4gICAgICAgICAgICAgICkgOiBudWxsXG4gICAgICAgICAgfVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByb3BzLnRpdGxlID8gKFxuICAgICAgICAgICAgICAgIDxBcExpc3RJdGVtVGV4dCBjbGFzc05hbWU9J2FwLWxpc3QtaXRlbS10aXRsZS13cmFwJz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nYXAtbGlzdC1pdGVtLXRpdGxlJz57IHByb3BzLnRpdGxlIH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J2FwLWxpc3QtaXRlbS1zdWItdGl0bGUnPnsgcHJvcHMuc3ViVGl0bGUgfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L0FwTGlzdEl0ZW1UZXh0PlxuICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICB7IHByb3BzLmNoaWxkcmVuIH1cbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm9wcy5pY29uID8gKFxuICAgICAgICAgICAgICAgIDxBcExpc3RJdGVtSWNvbiBjbGFzc05hbWU9eyBwcm9wcy5pY29uIH0vPlxuICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm9wcy5kaXNjbG9zdXJlID8gKFxuICAgICAgICAgICAgICAgIDxBcExpc3RJdGVtQXJyb3dJY29uIGNsYXNzTmFtZT0nYXAtbGlzdC1pdGVtLWRpc2Nsb3N1cmUtaWNvbicvPlxuICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm9wcy5hbHQgPyAoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2FwLWxpc3QtaXRlbS1hbHQnPnsgcHJvcHMuYWx0IH08L2Rpdj5cbiAgICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgKVxuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oQXBMaXN0SXRlbSwge1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTcGVjc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByb3BUeXBlczoge1xuICAgIGRpc2Nsb3N1cmU6IHR5cGVzLmJvb2wsXG4gICAgaW1nU3JjOiB0eXBlcy5zdHJpbmcsXG4gICAgaW1nQWx0OiB0eXBlcy5zdHJpbmcsXG4gICAgaW1nV2lkdGg6IHR5cGVzLm9uZU9mVHlwZShbIHR5cGVzLm51bWJlciwgdHlwZXMuc3RyaW5nIF0pLFxuICAgIGltZ0hlaWdodDogdHlwZXMub25lT2ZUeXBlKFsgdHlwZXMubnVtYmVyLCB0eXBlcy5zdHJpbmcgXSksXG4gICAgLyoqIFRpdGxlIG9mIGl0ZW0gKi9cbiAgICB0aXRsZTogdHlwZXMubm9kZSxcbiAgICAvKiogU3ViIHRpdGxlIG9mIGl0ZW0gKi9cbiAgICBzdWJUaXRsZTogdHlwZXMubm9kZSxcbiAgICAvKiogQ3VzdG9tIGljb24gY2xhc3MgKi9cbiAgICBpY29uOiB0eXBlcy5zdHJpbmcsXG4gICAgLyoqIERhdGEgZm9yIGV2ZW50cyAqL1xuICAgIGRhdGE6IHR5cGVzLm9iamVjdCxcbiAgICAvKiogQWx0IHRleHQgKi9cbiAgICBhbHQ6IHR5cGVzLnN0cmluZ1xuICB9LFxuXG4gIGRlZmF1bHRQcm9wczoge1xuICAgIGRpc2Nsb3N1cmU6IGZhbHNlLFxuICAgIGltZ1NyYzogbnVsbCxcbiAgICBpbWdBbHQ6IG51bGwsXG4gICAgaW1nV2lkdGg6IDcyLFxuICAgIGltZ0hlaWdodDogNDgsXG4gICAgdGl0bGU6IG51bGwsXG4gICAgc3ViVGl0bGU6IG51bGwsXG4gICAgZGF0YTogbnVsbFxuICB9XG59KVxuXG5leHBvcnQgeyBBcExpc3RJdGVtIH1cbmV4cG9ydCBkZWZhdWx0IHdpdGhUb3VjaChBcExpc3RJdGVtLCB7XG4gIGdldFRvdWNoRGF0YSAoKSB7XG4gICAgY29uc3QgcyA9IHRoaXNcbiAgICBsZXQgeyBwcm9wcyB9ID0gc1xuICAgIHJldHVybiBwcm9wcy5kYXRhXG4gIH1cbn0pXG4iXX0=