X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2Fform%2FComboBoxArray.js;h=68fdf1e767fb861f89e4580d519567d8b1c557e7;hb=a4e5ae82af3ce69ec02d62ebce05f9b0ab6f7bd5;hp=6c45b598b8a68e0a2c174b33f4a23645f7a222be;hpb=c748ceeb910f876bc060b4e3eb4c81b13f708807;p=roojs1 diff --git a/Roo/form/ComboBoxArray.js b/Roo/form/ComboBoxArray.js index 6c45b598b8..68fdf1e767 100644 --- a/Roo/form/ComboBoxArray.js +++ b/Roo/form/ComboBoxArray.js @@ -49,8 +49,9 @@ Roo.form.ComboBoxArray = function(config) } + -Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField +Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, { /** * @cfg {Roo.form.Combo} combo The combo box that is wrapped @@ -82,7 +83,7 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField // private - the hidden field el. hiddenEl : false, - boxWidth : 200, // use to set the box around the entry.. + el : false, //validateValue : function() { return true; }, // all values are ok! //onAddClick: function() { }, @@ -91,7 +92,7 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField { // create the standard hidden element - Roo.form.ComboBoxArray.superclass.onRender.call(this, ct, position); + //Roo.form.ComboBoxArray.superclass.onRender.call(this, ct, position); // give fake names to child combo; @@ -101,6 +102,11 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField this.combo = Roo.factory(this.combo, Roo.form); this.combo.onRender(ct, position); + // assigned so form know we need to do this.. + this.store = this.combo.store; + this.valueField = this.combo.valueField; + this.displayField = this.combo.displayField ; + this.combo.wrap.addClass('x-cbarray-grp'); @@ -112,6 +118,9 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField this.hiddenEl = this.combo.wrap.createChild({ tag: 'input', type:'hidden' , name: this.hiddenName, value : '' + }); + this.el = this.combo.wrap.createChild({ + tag: 'input', type:'hidden' , name: this.name, value : '' }); // this.el.dom.removeAttribute("name"); @@ -119,12 +128,12 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField this.outerWrap = this.combo.wrap; this.wrap = cbwrap; - this.outerWrap.setWidth(this.boxWidth); + this.outerWrap.setWidth(this.width); this.outerWrap.dom.removeChild(this.el.dom); this.wrap.dom.appendChild(this.el.dom); - this.outerWrap.dom.removeChild(this.trigger.dom); - this.combo.wrap.dom.appendChild(this.trigger.dom); + this.outerWrap.dom.removeChild(this.combo.trigger.dom); + this.combo.wrap.dom.appendChild(this.combo.trigger.dom); this.combo.trigger.setStyle('position','relative'); this.combo.trigger.setStyle('left', '0px'); @@ -167,13 +176,15 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField { // returns hidden if it's set.. if (!this.rendered) {return ''}; - return this.hiddenListName; + return this.hiddenName ? this.hiddenName : this.name; }, onResize: function(w, h){ + return; + // not sure if this is needed.. this.combo.onResize(w,h); if(typeof w != 'number'){ @@ -256,15 +267,22 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField }, setValue: function(v) // not a valid action - must use addItems.. { - if (typeof(v) != 'object') { - return; - } + + var _this = this; Roo.each(v, function(l) { _this.addItem(l); }); }, + setFromData: function(v) + { + Roo.log(v); + + + }, + + validateValue : function(value){ return Roo.form.ComboBoxArray.superclass.validateValue.call(this, this.getValue());