Mercurial > lada > lada-client
changeset 1322:6edab3ee2198
filter orte in a separate store.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 03 Feb 2017 14:32:12 +0100 |
parents | f1e348109ebb |
children | 754db8d73691 |
files | app/controller/grid/Ortszuordnung.js |
diffstat | 1 files changed, 14 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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(); },