* @extends Roo.bootstrap.Component
* Bootstrap Button class
* @cfg {String} html The button content
- * @cfg {String} weight default (or empty) | primary | success | info | warning | danger
+ * @cfg {String} weight default (or empty) | primary | success | info | warning | danger | link
* @cfg {String} size empty | lg | sm | xs
* @cfg {String} tag empty | a | input | submit
* @cfg {String} href empty or href
* @cfg {String} ontext text for on toggle state
* @cfg {String} offtext text for off toggle state
* @cfg {Boolean} defaulton true | false
+ * @cfg {Boolean} preventDefault (true | false) default true
+ * @cfg {Boolean} removeClass true | false remove the standard class..
+ * @cfg {String} target (_self|_blank|_parent|_top)target for a href.
*
* @constructor
* Create a new button
ontext: 'ON',
offtext: 'OFF',
defaulton: true,
+ preventDefault: true,
+ removeClass: false,
+ name: false,
+ target: false,
+
+ pressed : false,
+
getAutoCreate : function(){
var cfg = {
tag : 'button',
cls : 'roo-button',
- html: 'hello'
+ html: ''
};
if (['a', 'button', 'input', 'submit'].indexOf(this.tag) < 0) {
if (this.theme==='default') {
cfg.cls = 'btn roo-button';
- if (this.parentType != 'Navbar') {
- this.weight = this.weight.length ? this.weight : 'default';
- }
+ //if (this.parentType != 'Navbar') {
+ this.weight = this.weight.length ? this.weight : 'default';
+ //}
if (['default', 'primary', 'success', 'info', 'warning', 'danger', 'link'].indexOf(this.weight) > -1) {
cfg.cls += ' btn-' + this.weight;
cfg.cls += ' active';
}
+ if (this.disabled) {
+ cfg.disabled = 'disabled';
+ }
+
+ if (this.items) {
+ Roo.log('changing to ul' );
+ cfg.tag = 'ul';
+ this.glyphicon = 'caret';
+ }
+
cfg.cls += this.size.length ? (' btn-' + this.size) : '';
//gsRoo.log(this.parentType);
- if (this.parentType === 'Navbar') {
+ if (this.parentType === 'Navbar' && !this.parent().bar) {
+ Roo.log('changing to li?');
+
cfg.tag = 'li';
cfg.cls = '';
delete cfg.html;
- } else if (this.menu) {
- cfg.tag = 'a';
- cfg.cls += ' dropdown test';
}
-
-
- if (this.disabled) {
- cfg.disabled = 'disabled';
- }
- //????
- if (this.items) {
- Roo.log('changing to ul' );
- cfg.tag = 'ul';
- this.glyphicon = 'caret';
- }
+ cfg.cls += this.parentType === 'Navbar' ? ' navbar-btn' : '';
if (this.glyphicon) {
cfg.html = ' ' + cfg.html;
cfg.tag = 'a';
- cfg.cls='btn roo-button';
+// cfg.cls='btn roo-button';
cfg.href=this.href;
+ var value = cfg.html;
+
+ if(this.glyphicon){
+ value = {
+ tag: 'span',
+ cls: 'glyphicon glyphicon-' + this.glyphicon,
+ html: this.html
+ };
+
+ }
+
cfg.cn = [
- cfg.html,
+ value,
{
tag: 'span',
cls: 'badge',
cfg.html='';
}
+ if (this.menu) {
+ cfg.cls += ' dropdown';
+ cfg.html = typeof(cfg.html) != 'undefined' ? cfg.html + ' <span class="caret"></span>' : '<span class="caret"></span>';
+ }
+
if (cfg.tag !== 'a' && this.href !== '') {
throw "Tag must be a to set href.";
} else if (this.href.length > 0) {
cfg.href = this.href;
}
+ if(this.removeClass){
+ cfg.cls = '';
+ }
+
+ if(this.target){
+ cfg.target = this.target;
+ }
+
return cfg;
},
initEvents: function() {
// Roo.log('init events?');
- // Roo.log(this.el.dom);
+// Roo.log(this.el.dom);
if (this.el.hasClass('roo-button')) {
this.el.on('click', this.onClick, this);
} else {
onClick : function(e)
{
Roo.log('button on click ');
- if(this.tag !== 'a' || this.href === ''){
+ if(this.preventDefault){
e.preventDefault();
}
+
this.fireEvent('click', this, e);
}