UNPKG

ldx-widgets

Version:

widgets

78 lines (70 loc) 2.22 kB
(function() { var React, SelectPvrOption, div; React = require('react'); div = React.DOM.div; /* Select Popover Option, see select_pvr.coffee for docs */ SelectPvrOption = React.createClass({ displayName: 'SelectPvrOption', render: function() { var className, disabled, hasSubLabel, isSelected, labelClass, lh, noWrapOptions, option, optionHeight, optionKey, ref; ref = this.props, option = ref.option, isSelected = ref.isSelected, optionHeight = ref.optionHeight, hasSubLabel = ref.hasSubLabel, className = ref.className, noWrapOptions = ref.noWrapOptions, disabled = ref.disabled; className = 'select-pvr-option'; if (isSelected) { className += ' is-selected'; } if (noWrapOptions) { className += ' no-wrap'; } if (disabled) { className += ' is-disabled'; } if (hasSubLabel) { className += ' has-sublabel'; lh = optionHeight / 2; } else { lh = optionHeight; } labelClass = 'label'; if (option.info != null) { labelClass += ' has-info'; } optionKey = option.id || option.value; return div({ key: optionKey, className: className, onClick: this.handleClick, style: { height: optionHeight, lineHeight: lh + "px" } }, [ div({ key: 'label', className: 'main-label' }, [ option.info ? div({ key: 'info', className: 'info' }, option.info) : void 0, div({ key: 'label', className: labelClass }, option.label), option.subLabel ? div({ key: 'sub-label', className: 'sub-label' }, option.subLabel) : void 0 ]) ]); }, handleClick: function(e) { var disabled, handleClick, isSelected, option, ref; e.stopPropagation(); ref = this.props, handleClick = ref.handleClick, option = ref.option, isSelected = ref.isSelected, disabled = ref.disabled; if (!(isSelected || disabled)) { return handleClick(option); } } }); module.exports = SelectPvrOption; }).call(this);