Roo/form/ComboBoxArray.js
[roojs1] / Roo / form / ComboBoxArray.js
index 1a71d82..530279c 100644 (file)
 Roo.form.ComboBoxArray = function(config)
 {
     this.addEvents({
+        /**
+         * @event beforeremove
+         * Fires before remove the value from the list
+            * @param {Roo.form.ComboBoxArray} _self This combo box array
+             * @param {Roo.form.ComboBoxArray.Item} item removed item
+            */
+        'beforeremove' : true,
         /**
          * @event remove
          * Fires when remove the value from the list
@@ -230,7 +237,7 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField,
         var valueField = this.combo.valueField;
         var displayField = this.combo.displayField;
         if (this.items.indexOfKey(rec[valueField]) > -1) {
-            Roo.log("GOT " + rec);
+            //console.log("GOT " + rec.data.id);
             return;
         }
         
@@ -461,11 +468,15 @@ Roo.extend(Roo.form.ComboBoxArray.Item, Roo.BoxComponent, {
         if(this.cb.disabled){
             return;
         }
-        this.cb.items.remove(this);
-        this.el.child('img').un('click', this.remove, this);
-        this.el.remove();
-        this.cb.updateHiddenEl();
         
-        this.cb.fireEvent('remove', this.cb, this);
+        if(false !== this.cb.fireEvent('beforeremove', this.cb, this)){
+            this.cb.items.remove(this);
+            this.el.child('img').un('click', this.remove, this);
+            this.el.remove();
+            this.cb.updateHiddenEl();
+
+            this.cb.fireEvent('remove', this.cb, this);
+        }
+        
     }
 });
\ No newline at end of file