UNPKG

ssc-refer

Version:
107 lines (86 loc) 2.83 kB
'use strict'; exports.__esModule = true; exports.BaseListItem = undefined; var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _lodash = require('lodash'); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _getOptionLabel = require('./utils/getOptionLabel'); var _getOptionLabel2 = _interopRequireDefault(_getOptionLabel); var _menuItemContainer = require('../containers/menuItemContainer'); var _menuItemContainer2 = _interopRequireDefault(_menuItemContainer); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var BaseListItem = _react2['default'].createClass({ displayName: 'BaseListItem', getDefaultProps: function getDefaultProps() { return { onClick: _lodash.noop }; }, render: function render() { var _props = this.props, active = _props.active, children = _props.children, className = _props.className, disabled = _props.disabled, labelKey = _props.labelKey; var label = (0, _getOptionLabel2['default'])(children, labelKey); var item = void 0; if (children.isLeaf === 'true') { item = _react2['default'].createElement( 'li', { className: (0, _classnames2['default'])({ 'active': active, 'disabled': disabled }, className) }, _react2['default'].createElement( 'span', { className: 'hoverBackground', onClick: this._handleIsLeaf }, label ) ); } else { item = _react2['default'].createElement( 'li', { className: (0, _classnames2['default'])({ 'active': active, 'disabled': disabled }, className) }, _react2['default'].createElement( 'span', { className: 'hoverBackground', onClick: this._handleIsLeaf }, label ), ' ', _react2['default'].createElement('span', { className: 'glyphicon glyphicon-menu-right' }) ); } return _react2['default'].createElement( 'div', null, item ); }, _handleClick: function _handleClick(e) { var _props2 = this.props, disabled = _props2.disabled, onClick = _props2.onClick; e.preventDefault(); !disabled && onClick(e); }, _handleIsLeaf: function _handleIsLeaf(e) { var _props3 = this.props, children = _props3.children, changeStatus = _props3.changeStatus; if (children.isLeaf == 'false') { e.preventDefault(); this.props.changeStatus(children); } else { this._handleClick(e); } } }); var ListItem = (0, _menuItemContainer2['default'])(BaseListItem); exports.BaseListItem = BaseListItem; exports['default'] = ListItem;