roojs-ui.js
[roojs1] / Roo / form / ComboBoxArray.js
index 74556bf..eeef951 100644 (file)
@@ -7,7 +7,7 @@
 
 /**
  * @class Roo.form.ComboBoxArray
- * @extends Roo.form.ComboBox
+ * @extends Roo.form.TextField
  * A facebook style adder... for lists of email / people / countries  etc...
  * pick multiple items from a combo box, and shows each one.
  *
@@ -82,7 +82,7 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField,
     items  : false,
     // private - the hidden field el.
     hiddenEl : false,
-    
+    // private - the filed el..
     el : false,
     
     //validateValue : function() { return true; }, // all values are ok!
@@ -272,19 +272,20 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField,
         if (this.store.isLocal) {
             // then we can use the store to find the values..
             // comma seperated at present.. this needs to allow JSON based encoding..
-            this.hiddenField.setValue(v);
+            this.hiddenEl.value  = v;
             var v_ar = [];
             Roo.each(v.split(','), function(k) {
-                var li = this.store.query(this.store.valueField, k);
+                Roo.log("CHECK " + this.valueField + ',' + k);
+                var li = this.store.query(this.valueField, k);
                 if (!li.length) {
                     return;
                 }
                 add = {};
-                add[this.store.valueField] = k;
-                add[this.store.displayField] = li.item(0).data[this.store.displayField];
+                add[this.valueField] = k;
+                add[this.displayField] = li.item(0).data[this.displayField];
                 
                 this.addItem(add);
-            }, this);;
+            }, this) 
             
                 
             
@@ -294,7 +295,16 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField,
     },
     setFromData: function(v)
     {
-        Roo.log(v);
+        // this recieves an object, if setValues is called.
+        var keys = v[this.valueField].split(',');
+        var display = v[this.displayField].split(',');
+        for (var i = 0 ; i < keys.length; i++) {
+            
+            add = {};
+            add[this.valueField] = keys[i];
+            add[this.displayField] = display[i];
+            this.addItem(add);
+        }
       
         
     },