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
var valueField = this.combo.valueField;
var displayField = this.combo.displayField;
if (this.items.indexOfKey(rec[valueField]) > -1) {
- console.log("GOT " + rec.data.id);
+ //console.log("GOT " + rec.data.id);
return;
}
{
//Roo.form.ComboBoxArray.superclass.reset.call(this);
this.items.each(function(f) {
+ Roo.log(f);
f.remove();
});
this.el.dom.value = '';
this.reset();
-
-
if (this.store.isLocal && (typeof(v) == 'string')) {
// then we can use the store to find the values..
// comma seperated at present.. this needs to allow JSON based encoding..
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