Fix cache clearing in selection manager

This commit is contained in:
Nathan Gray 2014-01-21 15:50:06 +00:00
parent 4604d2b90f
commit 87473ae76b
2 changed files with 19 additions and 0 deletions

View File

@ -143,9 +143,15 @@ var et2_dataview_controller = Class.extend({
// Scroll to top // Scroll to top
this._grid.makeIndexVisible(0); this._grid.makeIndexVisible(0);
this._grid.clear(); this._grid.clear();
// Free selection manager
this._selectionMgr.clear();
// Clear the map // Clear the map
this._indexMap = {} this._indexMap = {}
// Update selection manager, it uses this by reference
this._selectionMgr.setIndexMap(this._indexMap);
// Clear the queue // Clear the queue
this._queue = {}; this._queue = {};
} }

View File

@ -94,6 +94,19 @@ var et2_dataview_selectionManager = Class.extend(
this.select_callback = null; this.select_callback = null;
}, },
clear: function() {
for (var key in this._registeredRows)
{
this.unregisterRow(key, this._registeredRows[key].tr);
}
this._indexMap = {};
this._total = 0;
this._focusedEntry = null;
this._invertSelection = false;
this._selectAll = false;
this._inUpdate = false;
},
setIndexMap: function (_indexMap) { setIndexMap: function (_indexMap) {
this._indexMap = _indexMap; this._indexMap = _indexMap;
}, },