react-bootstrap
Version:
Bootstrap 3 components build with React
62 lines (51 loc) • 1.61 kB
JavaScript
define(
["./react-es6","./react-es6/lib/cx","./BootstrapMixin","exports"],
function(__dependency1__, __dependency2__, __dependency3__, __exports__) {
"use strict";
/** @jsx React.DOM */
var React = __dependency1__["default"];
var classSet = __dependency2__["default"];
var BootstrapMixin = __dependency3__["default"];
var Button = React.createClass({displayName: 'Button',
mixins: [BootstrapMixin],
propTypes: {
active: React.PropTypes.bool,
disabled: React.PropTypes.bool,
block: React.PropTypes.bool
},
getDefaultProps: function () {
return {
bsClass: 'button',
bsStyle: 'default',
type: 'button'
};
},
render: function () {
var classes = this.getBsClassSet();
classes['active'] = this.props.active;
classes['btn-block'] = this.props.block;
var renderFuncName = this.props.href ?
'renderAnchor' : 'renderButton';
return this[renderFuncName](classes);
},
renderAnchor: function (classes) {
classes['disabled'] = this.props.disabled;
return this.transferPropsTo(
React.DOM.a(
{className:classSet(classes),
role:"button"},
this.props.children
)
);
},
renderButton: function (classes) {
return this.transferPropsTo(
React.DOM.button(
{className:classSet(classes)},
this.props.children
)
);
}
});
__exports__["default"] = Button;
});