UNPKG

apeman-react-list

Version:
106 lines (83 loc) 2.3 kB
/** * List component. * @class ApList */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _apemanReactSpinner = require('apeman-react-spinner'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** @lends ApList */ var ApList = _react2.default.createClass({ displayName: 'ApList', // -------------------- // Specs // -------------------- propTypes: { /** Shows spin */ spinning: _react.PropTypes.bool, /** Theme of spinner */ spinner: _react.PropTypes.string, /** Min height of list */ minHeight: _react.PropTypes.number, /** Mark as empty */ empty: _react.PropTypes.bool, /** Alt text to show when empty */ alt: _react.PropTypes.string }, mixins: [], statics: {}, getInitialState: function getInitialState() { return {}; }, getDefaultProps: function getDefaultProps() { return { spinning: false, spinner: _apemanReactSpinner.ApSpinner.DEFAULT_THEME, minHeight: null, empty: false, alt: 'Not data found' }; }, render: function render() { var s = this; var props = s.props; return _react2.default.createElement( 'ul', { className: (0, _classnames2.default)('ap-list', { 'ap-list-empty': !!props.empty }, props.className), style: Object.assign({ minHeight: props.minHeight }, props.style) }, _react2.default.createElement(_apemanReactSpinner.ApSpinner, { enabled: props.spinning, className: 'ap-list-spinner' }), props.children, props.empty ? s._renderAlt(props.alt) : null ); }, // -------------------- // Lifecycle // -------------------- // ------------------ // Custom // ------------------ // ------------------ // Private // ------------------ _renderAlt: function _renderAlt(text) { return _react2.default.createElement( 'div', { className: 'ap-list-alt' }, text ); } }); exports.default = ApList; //# sourceMappingURL=data:application/json;base64,bnVsbA==