apeman-react-list
Version:
apeman react package for list component.
85 lines (63 loc) • 5.52 kB
JavaScript
/**
* @class ApListMoreButton
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _assign = require('babel-runtime/core-js/object/assign');
var _assign2 = _interopRequireDefault(_assign);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _asobj = require('asobj');
var _apemanReactTouchable = require('apeman-react-touchable');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ApListMoreButton = _react2.default.createClass({
displayName: 'ApListMoreButton',
// --------------------
// Specs
// --------------------
propTypes: {
text: _react.PropTypes.string,
enabled: _react.PropTypes.bool
},
mixins: [],
statics: {},
getInitialState: function getInitialState() {
return {};
},
getDefaultProps: function getDefaultProps() {
return {
text: 'Load More',
enabled: false
};
},
render: function render() {
var s = this;
var state = s.state,
props = s.props;
var className = (0, _classnames2.default)('ap-list-more-button', {
'ap-list-more-button-enabled': props.enabled
}, props.className);
return _react2.default.createElement(
'a',
{ className: className,
style: (0, _assign2.default)({}, props.style) },
props.text,
props.children
);
},
// --------------------
// Lifecycle
// --------------------
shouldComponentUpdate: function shouldComponentUpdate(nextProps, nextState) {
var s = this;
var props = s.props,
state = s.state;
return !(0, _asobj.shallowEqual)(props, nextProps) || (0, _asobj.shallowEqual)(state, nextState);
}
});
exports.default = (0, _apemanReactTouchable.withTouch)(ApListMoreButton);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX2xpc3RfbW9yZV9idXR0b24uanN4Il0sIm5hbWVzIjpbIkFwTGlzdE1vcmVCdXR0b24iLCJjcmVhdGVDbGFzcyIsInByb3BUeXBlcyIsInRleHQiLCJzdHJpbmciLCJlbmFibGVkIiwiYm9vbCIsIm1peGlucyIsInN0YXRpY3MiLCJnZXRJbml0aWFsU3RhdGUiLCJnZXREZWZhdWx0UHJvcHMiLCJyZW5kZXIiLCJzIiwic3RhdGUiLCJwcm9wcyIsImNsYXNzTmFtZSIsInN0eWxlIiwiY2hpbGRyZW4iLCJzaG91bGRDb21wb25lbnRVcGRhdGUiLCJuZXh0UHJvcHMiLCJuZXh0U3RhdGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7QUFHQTs7Ozs7Ozs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7QUFDQTs7OztBQUVBLElBQU1BLG1CQUFtQixnQkFBTUMsV0FBTixDQUFrQjtBQUFBOztBQUN6QztBQUNBO0FBQ0E7O0FBRUFDLGFBQVc7QUFDVEMsVUFBTSxpQkFBTUMsTUFESDtBQUVUQyxhQUFTLGlCQUFNQztBQUZOLEdBTDhCOztBQVV6Q0MsVUFBUSxFQVZpQzs7QUFZekNDLFdBQVMsRUFaZ0M7O0FBY3pDQyxpQkFkeUMsNkJBY3RCO0FBQ2pCLFdBQU8sRUFBUDtBQUNELEdBaEJ3QztBQWtCekNDLGlCQWxCeUMsNkJBa0J0QjtBQUNqQixXQUFPO0FBQ0xQLFlBQU0sV0FERDtBQUVMRSxlQUFTO0FBRkosS0FBUDtBQUlELEdBdkJ3QztBQXlCekNNLFFBekJ5QyxvQkF5Qi9CO0FBQ1IsUUFBTUMsSUFBSSxJQUFWO0FBRFEsUUFFRkMsS0FGRSxHQUVlRCxDQUZmLENBRUZDLEtBRkU7QUFBQSxRQUVLQyxLQUZMLEdBRWVGLENBRmYsQ0FFS0UsS0FGTDs7QUFHUixRQUFJQyxZQUFZLDBCQUFXLHFCQUFYLEVBQWtDO0FBQ2hELHFDQUErQkQsTUFBTVQ7QUFEVyxLQUFsQyxFQUViUyxNQUFNQyxTQUZPLENBQWhCO0FBR0EsV0FDRTtBQUFBO0FBQUEsUUFBRyxXQUFZQSxTQUFmO0FBQ0csZUFBUSxzQkFBYyxFQUFkLEVBQWtCRCxNQUFNRSxLQUF4QixDQURYO0FBRUlGLFlBQU1YLElBRlY7QUFHSVcsWUFBTUc7QUFIVixLQURGO0FBT0QsR0F0Q3dDOzs7QUF3Q3pDO0FBQ0E7QUFDQTs7QUFFQUMsdUJBNUN5QyxpQ0E0Q2xCQyxTQTVDa0IsRUE0Q1BDLFNBNUNPLEVBNENJO0FBQzNDLFFBQU1SLElBQUksSUFBVjtBQUQyQyxRQUVyQ0UsS0FGcUMsR0FFcEJGLENBRm9CLENBRXJDRSxLQUZxQztBQUFBLFFBRTlCRCxLQUY4QixHQUVwQkQsQ0FGb0IsQ0FFOUJDLEtBRjhCOztBQUczQyxXQUFPLENBQUMseUJBQWFDLEtBQWIsRUFBb0JLLFNBQXBCLENBQUQsSUFBbUMseUJBQWFOLEtBQWIsRUFBb0JPLFNBQXBCLENBQTFDO0FBQ0Q7QUFoRHdDLENBQWxCLENBQXpCOztrQkFtRGUscUNBQVVwQixnQkFBVixDIiwiZmlsZSI6ImFwX2xpc3RfbW9yZV9idXR0b24uanN4Iiwic291cmNlUm9vdCI6ImxpYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGNsYXNzIEFwTGlzdE1vcmVCdXR0b25cbiAqL1xuJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCBSZWFjdCwgeyBQcm9wVHlwZXMgYXMgdHlwZXMgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnXG5pbXBvcnQgeyBzaGFsbG93RXF1YWwgfSBmcm9tICdhc29iaidcbmltcG9ydCB7IHdpdGhUb3VjaCB9IGZyb20gJ2FwZW1hbi1yZWFjdC10b3VjaGFibGUnXG5cbmNvbnN0IEFwTGlzdE1vcmVCdXR0b24gPSBSZWFjdC5jcmVhdGVDbGFzcyh7XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNwZWNzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcHJvcFR5cGVzOiB7XG4gICAgdGV4dDogdHlwZXMuc3RyaW5nLFxuICAgIGVuYWJsZWQ6IHR5cGVzLmJvb2xcbiAgfSxcblxuICBtaXhpbnM6IFtdLFxuXG4gIHN0YXRpY3M6IHt9LFxuXG4gIGdldEluaXRpYWxTdGF0ZSAoKSB7XG4gICAgcmV0dXJuIHt9XG4gIH0sXG5cbiAgZ2V0RGVmYXVsdFByb3BzICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dDogJ0xvYWQgTW9yZScsXG4gICAgICBlbmFibGVkOiBmYWxzZVxuICAgIH1cbiAgfSxcblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgbGV0IHsgc3RhdGUsIHByb3BzIH0gPSBzXG4gICAgbGV0IGNsYXNzTmFtZSA9IGNsYXNzbmFtZXMoJ2FwLWxpc3QtbW9yZS1idXR0b24nLCB7XG4gICAgICAnYXAtbGlzdC1tb3JlLWJ1dHRvbi1lbmFibGVkJzogcHJvcHMuZW5hYmxlZFxuICAgIH0sIHByb3BzLmNsYXNzTmFtZSlcbiAgICByZXR1cm4gKFxuICAgICAgPGEgY2xhc3NOYW1lPXsgY2xhc3NOYW1lIH1cbiAgICAgICAgIHN0eWxlPXsgT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMuc3R5bGUpIH0+XG4gICAgICAgIHsgcHJvcHMudGV4dCB9XG4gICAgICAgIHsgcHJvcHMuY2hpbGRyZW4gfVxuICAgICAgPC9hPlxuICAgIClcbiAgfSxcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBMaWZlY3ljbGVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBzaG91bGRDb21wb25lbnRVcGRhdGUgKG5leHRQcm9wcywgbmV4dFN0YXRlKSB7XG4gICAgY29uc3QgcyA9IHRoaXNcbiAgICBsZXQgeyBwcm9wcywgc3RhdGUgfSA9IHNcbiAgICByZXR1cm4gIXNoYWxsb3dFcXVhbChwcm9wcywgbmV4dFByb3BzKSB8fCBzaGFsbG93RXF1YWwoc3RhdGUsIG5leHRTdGF0ZSlcbiAgfVxufSlcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRvdWNoKEFwTGlzdE1vcmVCdXR0b24pXG5cbiJdfQ==