X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2Fform%2FComboBoxArray.js;h=47d9cafa9867a8e69d558731c6cc474994a5f657;hb=2193646ae7828101118318d7a3f580255b7b1c7b;hp=39b79f8ed1b45b17e77f545e043876069dd774ca;hpb=d5704b1c525f3b79b03301211f4274975d97d965;p=roojs1 diff --git a/Roo/form/ComboBoxArray.js b/Roo/form/ComboBoxArray.js index 39b79f8ed1..47d9cafa98 100644 --- a/Roo/form/ComboBoxArray.js +++ b/Roo/form/ComboBoxArray.js @@ -37,6 +37,13 @@ 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 @@ -270,6 +277,7 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, { //Roo.form.ComboBoxArray.superclass.reset.call(this); this.items.each(function(f) { + Roo.log(f); f.remove(); }); this.el.dom.value = ''; @@ -287,8 +295,6 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, 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.. @@ -461,11 +467,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