-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
None
How to reproduce
- Go on a content edition with boxselect
- Select one or more contents in combo box
- Clic on create content button
The following error occurred
TypeError: Impossible d’obtenir la propriété « internalId » d’une référence null ou non définie TypeError: Impossible d’obtenir la propriété « internalId » d’une référence null ou non définie at getSelectionId (http://ametys-recette.onisep.fr/ideo2/plugins/extjs4/resources/js/ext-all-debug.js:100166:9) at remove (http://ametys-recette.onisep.fr/ideo2/plugins/extjs4/resources/js/ext-all-debug.js:24307:9) at onStoreRefresh (http://ametys-recette.onisep.fr/ideo2/plugins/extjs4/resources/js/ext-all-debug.js:100399:17) at fire (http://ametys-recette.onisep.fr/ideo2/plugins/extjs4/resources/js/ext-all-debug.js:10218:17) at continueFireEvent (http://ametys-recette.onisep.fr/ideo2/plugins/extjs4/resources/js/ext-all-debug.js:11625:25) at fireEventArgs (http://ametys-recette.onisep.fr/ideo2/plugins/extjs4/resources/js/ext-all-debug.js:11603:17) at prototype.fireEventArgs (http://ametys-recette.onisep.fr/ideo2/plugins/extjs4/resources/js/ext-all-debug.js:43280:13) at fireEvent (http://ametys-recette.onisep.fr/ideo2/plugins/extjs4/resources/js/ext-all-debug.js:11589:13) at loadRecords (http://ametys-recette.onisep.fr/ideo2/plugins/extjs4/resources/js/ext-all-debug.js:76196:9) at onProxyLoad (http://ametys-recette.onisep.fr/ideo2/plugins/extjs4/resources/js/ext-all-debug.js:75902:13)
Seems to be an issue in ExtJS. In #onStoreRefresh function of Ext.selection.Model, in "for" loop, records can be deleted while iterating on store records.
onStoreRefresh: function(){
var me = this,
selected = me.selected,
items, length, i, rec, storeRec;
if (me.store.buffered) {
return;
}
items = selected.items;
length = items.length;
me.lastSelected = me.getStoreRecord(me.lastSelected);
for (i = 0; i < length; ++i) {
rec = items[i];
storeRec = me.getStoreRecord(rec);
if (storeRec) {
if (rec.hasId()) {
me.selected.replace(storeRec);
}
} else {
me.selected.remove(rec);
}
}
}