# HG changeset patch # User Raimund Renkert # Date 1486128732 -3600 # Node ID 6edab3ee2198ce9643553ceb6669c7ddd7928082 # Parent f1e348109ebbbe031d1388ed02db216d719d72d0 filter orte in a separate store. diff -r f1e348109ebb -r 6edab3ee2198 app/controller/grid/Ortszuordnung.js --- a/app/controller/grid/Ortszuordnung.js Fri Feb 03 14:31:10 2017 +0100 +++ b/app/controller/grid/Ortszuordnung.js Fri Feb 03 14:32:12 2017 +0100 @@ -208,6 +208,8 @@ if (evt.getKey() === 27) { if (this.resultPanel.isVisible()) { this.resultPanel.close(); + verwaltungseinheiten.clearFilter(true); + staaten.clearFilter(true); return; } else { @@ -221,6 +223,8 @@ } if (field.getValue().length === 0) { this.resultPanel.hide(); + verwaltungseinheiten.clearFilter(true); + staaten.clearFilter(true); return; } if (field.getValue().length < 3) { @@ -236,12 +240,19 @@ execSearch: function(field, filter) { // Filter stores var messpunkte = Ext.data.StoreManager.get('orte'); + var cloneRecords = []; + messpunkte.each(function(r) { + cloneRecords.push(r.copy()); + }); + var filterMesspunkte = Ext.create('Lada.store.Orte',{ + autoLoad: false + }); + filterMesspunkte.add(cloneRecords); var verwaltungseinheiten = Ext.data.StoreManager.get('verwaltungseinheiten'); var staaten = Ext.data.StoreManager.get('staaten'); - messpunkte.clearFilter(true); verwaltungseinheiten.clearFilter(true); staaten.clearFilter(true); - messpunkte.filter({filterFn: function(item) { + filterMesspunkte.filter({filterFn: function(item) { if (item.get('ortId').indexOf(filter) > -1) { return true; } @@ -272,7 +283,7 @@ }); } this.resultPanel.show(); - this.resultPanel.updateGrids(messpunkte, verwaltungseinheiten, staaten); + this.resultPanel.updateGrids(filterMesspunkte, verwaltungseinheiten, staaten); this.resultPanel.reposition(field.getX() + field.getLabelWidth(), field.getY()); field.focus(); },