UNPKG

react-bootstrap

Version:

Bootstrap 3 components build with React

64 lines (50 loc) 1.87 kB
var React = require('react'); var joinClasses = require('./utils/joinClasses'); var classSet = require('./utils/classSet'); var BootstrapMixin = require('./BootstrapMixin'); var NavItem = React.createClass({displayName: "NavItem", mixins: [BootstrapMixin], propTypes: { onSelect: React.PropTypes.func, active: React.PropTypes.bool, disabled: React.PropTypes.bool, href: React.PropTypes.string, title: React.PropTypes.string, eventKey: React.PropTypes.any, target: React.PropTypes.string }, getDefaultProps: function () { return { href: '#' }; }, render: function () { var $__0= this.props,disabled=$__0.disabled,active=$__0.active,href=$__0.href,title=$__0.title,target=$__0.target,children=$__0.children,props=(function(source, exclusion) {var rest = {};var hasOwn = Object.prototype.hasOwnProperty;if (source == null) {throw new TypeError();}for (var key in source) {if (hasOwn.call(source, key) && !hasOwn.call(exclusion, key)) {rest[key] = source[key];}}return rest;})($__0,{disabled:1,active:1,href:1,title:1,target:1,children:1}), classes = { 'active': active, 'disabled': disabled }; return ( React.createElement("li", React.__spread({}, props, {className: joinClasses(props.className, classSet(classes))}), React.createElement("a", { href: href, title: title, target: target, onClick: this.handleClick, ref: "anchor"}, children ) ) ); }, handleClick: function (e) { if (this.props.onSelect) { e.preventDefault(); if (!this.props.disabled) { this.props.onSelect(this.props.eventKey, this.props.href, this.props.target); } } } }); module.exports = NavItem;