ssc-refer
Version:
React refer component for SSC 3.0
107 lines (86 loc) • 2.83 kB
JavaScript
;
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;