raimund@1287: /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz raimund@1287: * Software engineering by Intevation GmbH raimund@1287: * raimund@1287: * This file is Free Software under the GNU GPL (v>=3) raimund@1287: * and comes with ABSOLUTELY NO WARRANTY! Check out raimund@1287: * the documentation coming with IMIS-Labordaten-Application for details. raimund@1287: */ raimund@1287: raimund@1287: /** raimund@1287: * Panel for universal orte search resultset. raimund@1287: * raimund@1287: */ raimund@1287: Ext.define('Lada.view.window.OrtFilter', { raimund@1287: extend: 'Ext.window.Window', raimund@1287: alias: 'widget.ortfilterwindow', raimund@1287: raimund@1287: // layout: 'vbox', raimund@1287: layout: { raimund@1287: type: 'vbox', raimund@1287: align: 'left' raimund@1287: }, raimund@1287: width: 400, raimund@1287: resizable: false, raimund@1287: shadow: false, raimund@1287: alwaysOnTop: true, raimund@1304: closeAction: 'hide', raimund@1287: raimund@1287: initComponent: function() { raimund@1287: var me = this; raimund@1287: var i18n = Lada.getApplication().bundle; raimund@1287: raimund@1287: me.items = [{ raimund@1287: name: 'nohits', raimund@1287: html: 'keine Treffer', raimund@1287: hidden: true, raimund@1287: width: '100%', raimund@1287: minHeight: 30 raimund@1287: }, { raimund@1287: xtype: 'grid', raimund@1287: name: 'messpunkte', raimund@1287: hideHeaders: true, tom@1301: title: i18n.getMsg('ortId'), raimund@1287: minHeight: 30, raimund@1287: maxHeight: 100, raimund@1287: width: '100%', raimund@1287: columns: [{ raimund@1287: dataIndex: 'ortId' raimund@1287: }, { raimund@1287: dataIndex: 'kurztext', raimund@1287: flex: 1 raimund@1287: }, { raimund@1287: dataIndex: 'gemId' raimund@1287: }] raimund@1287: }, { raimund@1287: xtype: 'grid', raimund@1287: name: 'verwaltungseinheiten', raimund@1287: hideHeaders: true, tom@1300: title: i18n.getMsg('orte.verwaltungseinheit'), raimund@1287: minHeight: 30, raimund@1287: maxHeight: 100, raimund@1287: width: '100%', raimund@1287: columns: [{ raimund@1287: dataIndex: 'id', raimund@1287: flex: 1, raimund@1287: renderer: function(value, meta, record) { raimund@1287: return value + ' - ' + record.get('bezeichnung'); raimund@1287: } raimund@1287: }] raimund@1287: }, { raimund@1287: xtype: 'grid', raimund@1287: name: 'staaten', raimund@1287: hideHeaders: true, tom@1301: title: i18n.getMsg('staat'), raimund@1287: minHeight: 30, raimund@1287: maxHeight: 100, raimund@1287: width: '100%', raimund@1287: columns: [{ raimund@1287: dataIndex: 'id', raimund@1287: flex: 1, raimund@1287: renderer: function(value, meta, record) { raimund@1287: return record.get('staatIso') + ' - ' + record.get('staat'); raimund@1287: } raimund@1287: }] raimund@1287: }]; raimund@1287: raimund@1287: me.callParent(arguments); raimund@1287: }, raimund@1287: raimund@1287: updateGrids: function(orte, verwaltungseinheiten, staaten) { raimund@1287: var mp = this.down('grid[name=messpunkte]') raimund@1287: var ve = this.down('grid[name=verwaltungseinheiten]'); raimund@1287: var st = this.down('grid[name=staaten]'); raimund@1287: var nohits = this.down('panel[name=nohits]'); raimund@1287: if (orte.count() > 0) { raimund@1287: mp.reconfigure(orte); raimund@1287: mp.show(); raimund@1287: nohits.hide(); raimund@1287: } raimund@1287: else { raimund@1287: mp.hide(); raimund@1287: } raimund@1287: if(verwaltungseinheiten.count() > 0) { raimund@1287: ve.reconfigure(verwaltungseinheiten) raimund@1287: ve.show(); raimund@1287: nohits.hide(); raimund@1287: } raimund@1287: else { raimund@1287: ve.hide(); raimund@1287: } raimund@1287: if (staaten.count() > 0) { raimund@1287: st.reconfigure(staaten) raimund@1287: st.show(); raimund@1287: nohits.hide(); raimund@1287: } raimund@1287: else { raimund@1287: st.hide(); raimund@1287: } raimund@1287: if (orte.count() === 0 && raimund@1287: verwaltungseinheiten.count() === 0 && raimund@1287: staaten.count() === 0 raimund@1287: ) { raimund@1287: nohits.show(); raimund@1287: } raimund@1287: }, raimund@1287: raimund@1287: reposition: function(x, y) { raimund@1287: var height = this.getHeight(); raimund@1287: this.setX(x); raimund@1287: this.setY(y - height); raimund@1287: } raimund@1287: });