raimund@1308: /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz raimund@1308: * Software engineering by Intevation GmbH raimund@1308: * raimund@1308: * This file is Free Software under the GNU GPL (v>=3) raimund@1308: * and comes with ABSOLUTELY NO WARRANTY! Check out raimund@1308: * the documentation coming with IMIS-Labordaten-Application for details. raimund@1308: */ raimund@1308: raimund@1308: Ext.define('Lada.override.StringFilter', { raimund@1308: override: 'Ext.ux.grid.filter.StringFilter', raimund@1308: raimund@1308: validateRecord: function(record) { raimund@1308: if (this.dataIndex === 'gemId') { raimund@1308: var store = Ext.data.StoreManager.get('verwaltungseinheiten'); raimund@1308: var item = store.getById(record.get('gemId')); raimund@1308: var comp = item.get('bezeichnung'); raimund@1308: return comp.toLowerCase().indexOf(this.getValue().toLowerCase()) > -1; raimund@1308: } raimund@1308: else if (this.dataIndex === 'staatId') { raimund@1308: var store = Ext.data.StoreManager.get('staaten'); raimund@1308: var item = store.getById(record.get('staatId')); raimund@1308: var comp = item.get('staatIso'); raimund@1308: return comp.toLowerCase().indexOf(this.getValue().toLowerCase()) > -1; raimund@1308: } raimund@1308: else { raimund@1308: var val = record.get(this.dataIndex); raimund@1308: if(typeof val != 'string') { raimund@1308: return (this.getValue().length === 0); raimund@1308: } raimund@1308: return val.toLowerCase().indexOf(this.getValue().toLowerCase()) > -1; raimund@1308: } raimund@1308: } raimund@1308: });