X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FToolbar.js;h=cee6171a708ab5367770506367465cb55da13218;hb=75cbc4ce04c9c01ac47671cb01320ce699128d00;hp=58ed692bd6416117a99d38ff0065d4f356122d07;hpb=c761aca626ce471413e28d6885854a3ff7009da5;p=roojs1 diff --git a/Roo/Toolbar.js b/Roo/Toolbar.js index 58ed692bd6..cee6171a70 100644 --- a/Roo/Toolbar.js +++ b/Roo/Toolbar.js @@ -11,6 +11,7 @@ /** * @class Roo.Toolbar + * @children Roo.Toolbar.Item Roo.Toolbar.Button Roo.Toolbar.SplitButton Roo.form.Field * Basic Toolbar class. * @constructor * Creates a new Toolbar @@ -52,7 +53,7 @@ Roo.Toolbar.prototype = { * @cfg {Array} items * array of button configs or elements to add (will be converted to a MixedCollection) */ - + items: false, /** * @cfg {String/HTMLElement/Element} container * The id or element that will contain the toolbar @@ -356,6 +357,12 @@ 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; @@ -368,7 +375,7 @@ Roo.Toolbar.Item = function(el){ */ 'render': true }); - Roo.Toolbar.Item.superclass.constructor.call(this); + Roo.Toolbar.Item.superclass.constructor.call(this,cfg); }; Roo.extend(Roo.Toolbar.Item, Roo.util.Observable, { //Roo.Toolbar.Item.prototype = { @@ -459,10 +466,15 @@ Roo.extend(Roo.Toolbar.Item, Roo.util.Observable, { * @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, @@ -477,10 +489,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, @@ -509,23 +524,46 @@ Roo.Toolbar.Fill = Roo.extend(Roo.Toolbar.Spacer, { * A simple class that renders text directly into a toolbar. * @constructor * Creates a new TextItem - * @param {String} text + * @cfg {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 + focus:Roo.emptyFn, + /** + * Shows this button + */ + show: function(){ + this.hidden = false; + this.el.style.display = ""; + }, + + /** + * Hides this button + */ + hide: function(){ + this.hidden = true; + this.el.style.display = "none"; + } + }); /** @@ -539,7 +577,10 @@ Roo.extend(Roo.Toolbar.TextItem, Roo.Toolbar.Item, { Roo.Toolbar.Button = function(config){ Roo.Toolbar.Button.superclass.constructor.call(this, null, config); }; -Roo.extend(Roo.Toolbar.Button, Roo.Button, { +Roo.extend(Roo.Toolbar.Button, Roo.Button, +{ + + render : function(td){ this.td = td; Roo.Toolbar.Button.superclass.render.call(this, td);