apeman-react-list
Version:
apeman react package for list component.
110 lines (85 loc) • 6.76 kB
JavaScript
/**
* List component.
* @class ApList
*/
'use strict';
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 _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: (0, _assign2.default)({
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX2xpc3QuanN4Il0sIm5hbWVzIjpbIkFwTGlzdCIsImNyZWF0ZUNsYXNzIiwicHJvcFR5cGVzIiwic3Bpbm5pbmciLCJib29sIiwic3Bpbm5lciIsInN0cmluZyIsIm1pbkhlaWdodCIsIm51bWJlciIsImVtcHR5IiwiYWx0IiwibWl4aW5zIiwic3RhdGljcyIsImdldEluaXRpYWxTdGF0ZSIsImdldERlZmF1bHRQcm9wcyIsIkRFRkFVTFRfVEhFTUUiLCJyZW5kZXIiLCJzIiwicHJvcHMiLCJjbGFzc05hbWUiLCJzdHlsZSIsImNoaWxkcmVuIiwiX3JlbmRlckFsdCIsInRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OztBQUtBOzs7Ozs7Ozs7O0FBRUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBRUE7QUFDQSxJQUFNQSxTQUFTLGdCQUFNQyxXQUFOLENBQWtCO0FBQUE7OztBQUUvQjtBQUNBO0FBQ0E7O0FBRUFDLGFBQVc7QUFDVDtBQUNBQyxjQUFVLGlCQUFNQyxJQUZQO0FBR1Q7QUFDQUMsYUFBUyxpQkFBTUMsTUFKTjtBQUtUO0FBQ0FDLGVBQVcsaUJBQU1DLE1BTlI7QUFPVDtBQUNBQyxXQUFPLGlCQUFNTCxJQVJKO0FBU1Q7QUFDQU0sU0FBSyxpQkFBTUo7QUFWRixHQU5vQjs7QUFtQi9CSyxVQUFRLEVBbkJ1Qjs7QUFxQi9CQyxXQUFTLEVBckJzQjs7QUF1Qi9CQyxpQkF2QitCLDZCQXVCWjtBQUNqQixXQUFPLEVBQVA7QUFDRCxHQXpCOEI7QUEyQi9CQyxpQkEzQitCLDZCQTJCWjtBQUNqQixXQUFPO0FBQ0xYLGdCQUFVLEtBREw7QUFFTEUsZUFBUyw4QkFBVVUsYUFGZDtBQUdMUixpQkFBVyxJQUhOO0FBSUxFLGFBQU8sS0FKRjtBQUtMQyxXQUFLO0FBTEEsS0FBUDtBQU9ELEdBbkM4QjtBQXFDL0JNLFFBckMrQixvQkFxQ3JCO0FBQ1IsUUFBTUMsSUFBSSxJQUFWO0FBRFEsUUFFRkMsS0FGRSxHQUVRRCxDQUZSLENBRUZDLEtBRkU7OztBQUlSLFdBQ0U7QUFBQTtBQUFBLFFBQUksV0FBWSwwQkFBVyxTQUFYLEVBQXNCO0FBQzVCLDJCQUFpQixDQUFDLENBQUNBLE1BQU1UO0FBREcsU0FBdEIsRUFFUFMsTUFBTUMsU0FGQyxDQUFoQjtBQUdJLGVBQVEsc0JBQWM7QUFDWloscUJBQVdXLE1BQU1YO0FBREwsU0FBZCxFQUVDVyxNQUFNRSxLQUZQLENBSFo7QUFNRSxxRUFBVyxTQUFVRixNQUFNZixRQUEzQjtBQUNXLG1CQUFVO0FBRHJCLFFBTkY7QUFTSWUsWUFBTUcsUUFUVjtBQVVJSCxZQUFNVCxLQUFOLEdBQWNRLEVBQUVLLFVBQUYsQ0FBYUosTUFBTVIsR0FBbkIsQ0FBZCxHQUF3QztBQVY1QyxLQURGO0FBY0QsR0F2RDhCOzs7QUF5RC9CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBWSxZQXJFK0Isc0JBcUVuQkMsSUFyRW1CLEVBcUViO0FBQ2hCLFdBQ0U7QUFBQTtBQUFBLFFBQUssV0FBVSxhQUFmO0FBQStCQTtBQUEvQixLQURGO0FBR0Q7QUF6RThCLENBQWxCLENBQWY7O2tCQTRFZXZCLE0iLCJmaWxlIjoiYXBfbGlzdC5qc3giLCJzb3VyY2VSb290IjoibGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMaXN0IGNvbXBvbmVudC5cbiAqIEBjbGFzcyBBcExpc3RcbiAqL1xuXG4ndXNlIHN0cmljdCdcblxuaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzIGFzIHR5cGVzfSBmcm9tICdyZWFjdCdcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnXG5pbXBvcnQge0FwU3Bpbm5lcn0gZnJvbSAnYXBlbWFuLXJlYWN0LXNwaW5uZXInXG5cbi8qKiBAbGVuZHMgQXBMaXN0ICovXG5jb25zdCBBcExpc3QgPSBSZWFjdC5jcmVhdGVDbGFzcyh7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU3BlY3NcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBwcm9wVHlwZXM6IHtcbiAgICAvKiogU2hvd3Mgc3BpbiAqL1xuICAgIHNwaW5uaW5nOiB0eXBlcy5ib29sLFxuICAgIC8qKiBUaGVtZSBvZiBzcGlubmVyICovXG4gICAgc3Bpbm5lcjogdHlwZXMuc3RyaW5nLFxuICAgIC8qKiBNaW4gaGVpZ2h0IG9mIGxpc3QgKi9cbiAgICBtaW5IZWlnaHQ6IHR5cGVzLm51bWJlcixcbiAgICAvKiogTWFyayBhcyBlbXB0eSAqL1xuICAgIGVtcHR5OiB0eXBlcy5ib29sLFxuICAgIC8qKiBBbHQgdGV4dCB0byBzaG93IHdoZW4gZW1wdHkgKi9cbiAgICBhbHQ6IHR5cGVzLnN0cmluZ1xuICB9LFxuXG4gIG1peGluczogW10sXG5cbiAgc3RhdGljczoge30sXG5cbiAgZ2V0SW5pdGlhbFN0YXRlICgpIHtcbiAgICByZXR1cm4ge31cbiAgfSxcblxuICBnZXREZWZhdWx0UHJvcHMgKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzcGlubmluZzogZmFsc2UsXG4gICAgICBzcGlubmVyOiBBcFNwaW5uZXIuREVGQVVMVF9USEVNRSxcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcbiAgICAgIGVtcHR5OiBmYWxzZSxcbiAgICAgIGFsdDogJ05vdCBkYXRhIGZvdW5kJ1xuICAgIH1cbiAgfSxcblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgbGV0IHsgcHJvcHMgfSA9IHNcblxuICAgIHJldHVybiAoXG4gICAgICA8dWwgY2xhc3NOYW1lPXsgY2xhc3NuYW1lcygnYXAtbGlzdCcsIHtcbiAgICAgICAgICAgICAgICAnYXAtbGlzdC1lbXB0eSc6ICEhcHJvcHMuZW1wdHlcbiAgICAgICAgICAgIH0sIHByb3BzLmNsYXNzTmFtZSkgfVxuICAgICAgICAgIHN0eWxlPXsgT2JqZWN0LmFzc2lnbih7XG4gICAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogcHJvcHMubWluSGVpZ2h0XG4gICAgICAgICAgICAgICAgfSwgcHJvcHMuc3R5bGUpIH0+XG4gICAgICAgIDxBcFNwaW5uZXIgZW5hYmxlZD17IHByb3BzLnNwaW5uaW5nIH1cbiAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhcC1saXN0LXNwaW5uZXJcIlxuICAgICAgICAvPlxuICAgICAgICB7IHByb3BzLmNoaWxkcmVuIH1cbiAgICAgICAgeyBwcm9wcy5lbXB0eSA/IHMuX3JlbmRlckFsdChwcm9wcy5hbHQpIDogbnVsbCB9XG4gICAgICA8L3VsPlxuICAgIClcbiAgfSxcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBMaWZlY3ljbGVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQ3VzdG9tXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQcml2YXRlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIF9yZW5kZXJBbHQgKHRleHQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhcC1saXN0LWFsdFwiPnsgdGV4dCB9PC9kaXY+XG4gICAgKVxuICB9XG59KVxuXG5leHBvcnQgZGVmYXVsdCBBcExpc3RcbiJdfQ==