GXT 1.2.2: In the below method modified.remove(model); has no effect as the modified contains the list of Records and not Models.
PHP Code:
/**
* Remove a item from the store and fires the <i>Remove</i> event.
*
* @param model the model to remove
*/
public void remove(M model) {
int index = indexOf(model);
if (all.remove(model)) {
unregisterModel(model);
StoreEvent se = createStoreEvent();
se.model = model;
se.index = index;
fireEvent(Remove, se);
}
modified.remove(model);
if(isFiltered())
snapshot.remove(model);
}
This is causing ArrayIndexOutOfBoundsException when doing store.commit after removing a model from the store.
PHP Code:
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(ArrayList.java:323)
at com.extjs.gxt.ui.client.store.ListStore.getAt(ListStore.java:166)
at com.extjs.gxt.ui.client.widget.grid.GridView.refreshRow(GridView.java:1336)
at com.extjs.gxt.ui.client.widget.grid.GridView.onUpdate(GridView.java:1307)
at com.extjs.gxt.ui.client.widget.grid.GridView$5.storeUpdate(GridView.java:1082)
at com.extjs.gxt.ui.client.store.StoreListener.handleEvent(StoreListener.java:42)
at com.extjs.gxt.ui.client.store.StoreListener.handleEvent(StoreListener.java:1)
at com.extjs.gxt.ui.client.event.BaseObservable.fireEvent(BaseObservable.java:85)
at com.extjs.gxt.ui.client.store.Store.fireStoreEvent(Store.java:536)
at com.extjs.gxt.ui.client.store.Store.afterCommit(Store.java:508)
at com.extjs.gxt.ui.client.store.Record.commit(Record.java:151)
at com.extjs.gxt.ui.client.store.Store.commitChanges(Store.java:206)