X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FToolbar.js;h=b6ecbd6f3ecfb2283aa1fd0dfde82ed62365b83d;hb=0b69a11b1055a6d3a3fd0719bdd58b5a235de0e4;hp=15707c6bad5bd30bce7c30f08bfd6f336a2e032e;hpb=4369650ee7905860f2ff2285f41136137eb6263c;p=roojs1 diff --git a/Roo/Toolbar.js b/Roo/Toolbar.js index 15707c6bad..b6ecbd6f3e 100644 --- a/Roo/Toolbar.js +++ b/Roo/Toolbar.js @@ -37,13 +37,13 @@ Roo.Toolbar = function(container, buttons, config) Roo.apply(this, config); this.buttons = buttons; -// if(container){ -// this.render(container); -// } -// this.xitems = xitems; -// Roo.each(xitems, function(b) { -// this.add(b); -// }, this); + if(container){ + this.render(container); + } + this.xitems = xitems; + Roo.each(xitems, function(b) { + this.add(b); + }, this); }; @@ -356,12 +356,28 @@ Roo.Toolbar.prototype = { * @param {HTMLElement} el */ Roo.Toolbar.Item = function(el){ + var cfg = {}; + if (typeof (el.xtype) != 'undefined') { + cfg = el; + el = cfg.el; + } + this.el = Roo.getDom(el); this.id = Roo.id(this.el); this.hidden = false; + + this.addEvents({ + /** + * @event render + * Fires when the button is rendered + * @param {Button} this + */ + 'render': true + }); + Roo.Toolbar.Item.superclass.constructor.call(this,cfg); }; - -Roo.Toolbar.Item.prototype = { +Roo.extend(Roo.Toolbar.Item, Roo.util.Observable, { +//Roo.Toolbar.Item.prototype = { /** * Get this item's HTML Element @@ -373,8 +389,11 @@ Roo.Toolbar.Item.prototype = { // private render : function(td){ - this.td = td; + + this.td = td; td.appendChild(this.el); + + this.fireEvent('render', this); }, /** @@ -436,7 +455,7 @@ Roo.Toolbar.Item.prototype = { this.disabled = false; this.el.disabled = false; } -}; +}); /** @@ -446,10 +465,15 @@ Roo.Toolbar.Item.prototype = { * @constructor * Creates a new Separator */ -Roo.Toolbar.Separator = function(){ +Roo.Toolbar.Separator = function(cfg){ + var s = document.createElement("span"); s.className = "ytb-sep"; - Roo.Toolbar.Separator.superclass.constructor.call(this, s); + if (cfg) { + cfg.el = s; + } + + Roo.Toolbar.Separator.superclass.constructor.call(this, cfg || s); }; Roo.extend(Roo.Toolbar.Separator, Roo.Toolbar.Item, { enable:Roo.emptyFn, @@ -464,10 +488,13 @@ Roo.extend(Roo.Toolbar.Separator, Roo.Toolbar.Item, { * @constructor * Creates a new Spacer */ -Roo.Toolbar.Spacer = function(){ +Roo.Toolbar.Spacer = function(cfg){ var s = document.createElement("div"); s.className = "ytb-spacer"; - Roo.Toolbar.Spacer.superclass.constructor.call(this, s); + if (cfg) { + cfg.el = s; + } + Roo.Toolbar.Spacer.superclass.constructor.call(this, cfg || s); }; Roo.extend(Roo.Toolbar.Spacer, Roo.Toolbar.Item, { enable:Roo.emptyFn, @@ -498,16 +525,25 @@ Roo.Toolbar.Fill = Roo.extend(Roo.Toolbar.Spacer, { * Creates a new TextItem * @param {String} text */ -Roo.Toolbar.TextItem = function(text){ - if (typeof(text) == 'object') { - text = text.text; +Roo.Toolbar.TextItem = function(cfg){ + var text = cfg || ""; + if (typeof(cfg) == 'object') { + text = cfg.text || ""; + } else { + cfg = null; } var s = document.createElement("span"); s.className = "ytb-text"; s.innerHTML = text; - Roo.Toolbar.TextItem.superclass.constructor.call(this, s); + if (cfg) { + cfg.el = s; + } + + Roo.Toolbar.TextItem.superclass.constructor.call(this, cfg || s); }; Roo.extend(Roo.Toolbar.TextItem, Roo.Toolbar.Item, { + + enable:Roo.emptyFn, disable:Roo.emptyFn, focus:Roo.emptyFn