Mercurial > lada > lada-client
annotate app/controller/Filter.js @ 1407:2195fd3946e4
Reduce code duplication.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Wed, 22 Mar 2017 16:12:11 +0100 |
parents | 09d121acda6c |
children | b2dbf3e3f3f7 |
rev | line source |
---|---|
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 * |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 */ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 /** |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 * Controller for the Filter |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 * This controller handles all logic related to the filter |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 */ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 Ext.define('Lada.controller.Filter', { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 extend: 'Ext.app.Controller', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 requires: [ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 'Lada.view.widget.Messstelle', |
1157
056ffbc2790a
Add more missing requirements.
Tom Gottfried <tom@intevation.de>
parents:
1124
diff
changeset
|
18 'Lada.view.widget.Status', |
1051
981339d774b8
merged stammdatengrids to default.
Raimund Renkert <raimund.renkert@intevation.de>
diff
changeset
|
19 'Lada.view.grid.MessprogrammeList', |
981339d774b8
merged stammdatengrids to default.
Raimund Renkert <raimund.renkert@intevation.de>
diff
changeset
|
20 'Lada.view.grid.ProbeList', |
1077
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
21 'Lada.view.grid.MessungList', |
1214
c992e57a9328
Add missing requirements.
Tom Gottfried <tom@intevation.de>
parents:
1206
diff
changeset
|
22 'Lada.view.grid.Probenehmer', |
c992e57a9328
Add missing requirements.
Tom Gottfried <tom@intevation.de>
parents:
1206
diff
changeset
|
23 'Lada.view.grid.DatensatzErzeuger', |
c992e57a9328
Add missing requirements.
Tom Gottfried <tom@intevation.de>
parents:
1206
diff
changeset
|
24 'Lada.view.grid.MessprogrammKategorie', |
1324
09d121acda6c
Add missing requirement.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
25 'Lada.view.panel.Ort', |
1077
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
26 'Lada.store.MessungenList', |
1015
af9879d72310
Updated UI, added window for filter management and added fieldset for query
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1008
diff
changeset
|
27 'Lada.view.window.FilterManagement', |
1206
695e93e3275d
Add missing requirement.
Tom Gottfried <tom@intevation.de>
parents:
1160
diff
changeset
|
28 'Lada.view.window.About', |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 'Lada.view.widget.Umwelt' |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 ], |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 stores: [ |
908
96e04c258b8f
Fixed Code to correct minified js
Dustin Demuth <dustin@intevation.de>
parents:
882
diff
changeset
|
33 'ProbenList', // List of found Proben |
96e04c258b8f
Fixed Code to correct minified js
Dustin Demuth <dustin@intevation.de>
parents:
882
diff
changeset
|
34 'MessprogrammeList' //List of found Messprogramme |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 ], |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 |
734
2d482dfaa41a
Update list on search and reset filter values on reset button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
657
diff
changeset
|
37 displayFields: null, |
2d482dfaa41a
Update list on search and reset filter values on reset button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
657
diff
changeset
|
38 |
1015
af9879d72310
Updated UI, added window for filter management and added fieldset for query
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1008
diff
changeset
|
39 managementWindow: null, |
af9879d72310
Updated UI, added window for filter management and added fieldset for query
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1008
diff
changeset
|
40 |
af9879d72310
Updated UI, added window for filter management and added fieldset for query
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1008
diff
changeset
|
41 mode: 'proben', |
af9879d72310
Updated UI, added window for filter management and added fieldset for query
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1008
diff
changeset
|
42 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
43 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
44 * Initialize this Controller |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
45 * It has 4 Listeners |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
46 */ |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 init: function() { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 this.control({ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 // CSS like selector to select element in the viewport. See |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 // ComponentQuery documentation for more details. |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
51 'filterpanel combobox[name=filter]': { |
794
bc6bc71efb78
Preselect Proben in PPS, Preselect the first entry in the Filter Combobox
Dustin Demuth <dustin@intevation.de>
parents:
792
diff
changeset
|
52 // Map Select event |
882 | 53 select: this.selectSql |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 }, |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
55 'filterpanel button[action=search]': { |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 // Map click event on Button. |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 click: this.search |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 }, |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
59 'filterpanel button[action=reset]': { |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 // Map click event on Button. |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 click: this.reset |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 }, |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
63 'filterpanel button[action=details]': { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
64 click: this.showDetails |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
65 }, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
66 'filterpanel button[action=manage]': { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
67 click: this.showManagement |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
68 }, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
69 'filterpanel checkbox[name=favorites]': { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
70 change: this.triggerFilterUpdate |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
71 }, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
72 'filterpanel button[action=savedefault]': { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
73 click: this.saveFilterDefaults |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
74 }, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
75 'filterpanel button[action=resetdefault]': { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
76 click: this.resetFilterDefaults |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
77 }, |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 'menuitem[action=about]': { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 // Map click event on Button. |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 click: this.about |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 }); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 this.callParent(arguments); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 }, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 /** |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 * Function called when the user selects a SQL query in the dropdownlist. |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 * The function will hide/display additional element related to the |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
89 * selected search query. |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
90 * It also replaces the Store of the Filteresultgrid. |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
91 * Two possibilities exist to do so: Proben/Messprogramme where dynamic columns exist, but the |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
92 * content remains of the same type and Stammdaten, were columns are fixed but the type might |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
93 * vary between orte, kategorien, ... |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 */ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 selectSql: function(element, record) { |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
96 var filters = element.up('panel[name=main]').down('panel[name=filtervariables]'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
97 var filterValues = element.up('panel[name=main]').down('panel[name=filtervalues]'); |
979 | 98 |
1043
91f65b9cc2fb
Uncheck favorites if no favorite entries exist.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1042
diff
changeset
|
99 var desc = element.up('fieldset').down('displayfield[name=description]'); |
1015
af9879d72310
Updated UI, added window for filter management and added fieldset for query
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1008
diff
changeset
|
100 if (!record[0]) { |
1043
91f65b9cc2fb
Uncheck favorites if no favorite entries exist.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1042
diff
changeset
|
101 desc.setValue(''); |
1015
af9879d72310
Updated UI, added window for filter management and added fieldset for query
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1008
diff
changeset
|
102 return; |
af9879d72310
Updated UI, added window for filter management and added fieldset for query
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1008
diff
changeset
|
103 } |
979 | 104 // Set "Filter Auswahl" Description |
105 desc.setValue(record[0].data.description); | |
106 | |
734
2d482dfaa41a
Update list on search and reset filter values on reset button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
657
diff
changeset
|
107 this.displayFields = record[0].data.results; |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 var filterFields = record[0].data.filters; |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
109 var contentPanel = element.up('panel[name=main]').down('panel[name=contentpanel]'); |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
110 var queryType = record[0].get('type'); //The type of the query, might be proben, messprogramme, |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
111 // or a stammdatendtype |
1015
af9879d72310
Updated UI, added window for filter management and added fieldset for query
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1008
diff
changeset
|
112 var details = element.up('panel[name=main]').down('filterdetails'); |
af9879d72310
Updated UI, added window for filter management and added fieldset for query
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1008
diff
changeset
|
113 details.setRecord(record[0]); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 |
734
2d482dfaa41a
Update list on search and reset filter values on reset button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
657
diff
changeset
|
115 this.reset(element); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 |
979 | 117 contentPanel.removeAll(); //clear the panel: make space for new grids |
118 | |
119 // Setup Columns | |
1124
a4944b52176e
Fixed selecting item on undefined attribute.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1121
diff
changeset
|
120 if (this.displayFields && |
a4944b52176e
Fixed selecting item on undefined attribute.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1121
diff
changeset
|
121 this.displayFields.length > 0 && |
a4944b52176e
Fixed selecting item on undefined attribute.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1121
diff
changeset
|
122 this.displayFields[0].index === 0) { |
979 | 123 this.displayFields.reverse(); |
124 } | |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
125 |
1077
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
126 if (queryType == 'probe' || |
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
127 queryType == 'messung' || |
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
128 queryType == 'messprogramm') { |
979 | 129 // Dynamic Grids |
130 // We need to set both grid and Store. | |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
131 var frgrid; // The Resultgrid |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
132 var gridstore; // The Store which will be used in the resultgrid. |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
133 |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
134 switch (queryType) { |
981
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
135 case 'probe': |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
136 gridstore = Ext.create('Lada.store.ProbenList'); |
1111
a73726bba79c
Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1077
diff
changeset
|
137 frgrid = Ext.create('Lada.view.grid.ProbeList', { |
a73726bba79c
Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1077
diff
changeset
|
138 plugins: [{ |
a73726bba79c
Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1077
diff
changeset
|
139 ptype: 'gridrowexpander', |
a73726bba79c
Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1077
diff
changeset
|
140 gridType: 'Lada.view.grid.Messung', |
1121
0b908138a740
Do not expand child grids on double click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1117
diff
changeset
|
141 expandOnDblClick: false, |
1111
a73726bba79c
Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1077
diff
changeset
|
142 gridConfig: { |
a73726bba79c
Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1077
diff
changeset
|
143 bottomBar: false |
a73726bba79c
Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1077
diff
changeset
|
144 } |
a73726bba79c
Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1077
diff
changeset
|
145 }] |
a73726bba79c
Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1077
diff
changeset
|
146 }); |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
147 break; |
1077
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
148 case 'messung': |
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
149 gridstore = Ext.create('Lada.store.MessungenList'); |
1112
e76551a6da27
Use custom row expander in messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1111
diff
changeset
|
150 frgrid = Ext.create('Lada.view.grid.MessungList', { |
e76551a6da27
Use custom row expander in messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1111
diff
changeset
|
151 plugins: [{ |
e76551a6da27
Use custom row expander in messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1111
diff
changeset
|
152 ptype: 'gridrowexpander', |
e76551a6da27
Use custom row expander in messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1111
diff
changeset
|
153 gridType: 'Lada.view.grid.Messwert', |
1121
0b908138a740
Do not expand child grids on double click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1117
diff
changeset
|
154 expandOnDblClick: false, |
1112
e76551a6da27
Use custom row expander in messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1111
diff
changeset
|
155 gridConfig: { |
e76551a6da27
Use custom row expander in messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1111
diff
changeset
|
156 bottomBar: false |
e76551a6da27
Use custom row expander in messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1111
diff
changeset
|
157 } |
e76551a6da27
Use custom row expander in messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1111
diff
changeset
|
158 }] |
e76551a6da27
Use custom row expander in messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1111
diff
changeset
|
159 }); |
1077
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
160 break; |
981
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
161 case 'messprogramm': |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
162 gridstore = Ext.create('Lada.store.MessprogrammeList'); |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
163 frgrid = Ext.create('Lada.view.grid.MessprogrammeList'); |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
164 break; |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
165 } |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
166 |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
167 if (gridstore) { |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
168 frgrid.setStore(gridstore); |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
169 } |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
170 |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
171 contentPanel.add(frgrid); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
172 } |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
173 else { |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
174 // Grids which are not build with dynamic columns |
979 | 175 // The store is configured in each grid, hence we only need to set the |
176 // grid | |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
177 var resultGrid; |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
178 switch (queryType) { |
981
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
179 case 'messprogrammkategorie': |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
180 resultGrid = Ext.create('Lada.view.grid.MessprogrammKategorie'); |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
181 break; |
981
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
182 case 'datensatzerzeuger': |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
183 resultGrid = Ext.create('Lada.view.grid.DatensatzErzeuger'); |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
184 break; |
981
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
185 case 'ort': |
1021
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1004
diff
changeset
|
186 resultGrid = Ext.create('Lada.view.panel.Ort'); |
981
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
187 break; |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
188 case 'probenehmer': |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
189 resultGrid = Ext.create('Lada.view.grid.Probenehmer'); |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
190 break; |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
191 } |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
192 if (resultGrid) { |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
193 contentPanel.add(resultGrid); |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
194 } |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
195 } |
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
196 /* Setup Filters |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
197 * |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
198 * Allowed types are |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
199 * * text |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
200 * * number |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
201 * * datetime |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
202 * * bool |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
203 * * listmst |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
204 * * listumw |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
205 * * listver |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
206 * * listdbasis |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
207 * * listnetz |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
208 * |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
209 * Iterate over all configured filters and add filters dynamically |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
210 * |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
211 * 1. Empty filters |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
212 */ |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
213 filterValues.removeAll(); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
214 var hide = true; |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
215 /* 2. Iterate over all configured filters */ |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
216 var j; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
217 for (j = 0; j < filterFields.length; j++) { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
218 var type = filterFields[j].type; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
219 var name = filterFields[j].dataIndex; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
220 var label = filterFields[j].label; |
1056
239e0ebb97e0
Fixed typo in filter creation.^
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1051
diff
changeset
|
221 var multi = filterFields[j].multiselect; |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
222 var filterId = filterFields[j].id; |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
223 var field = null; |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
224 var value = filterFields[j].value; |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
225 if (type === 'text') { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
226 field = Ext.create('Ext.form.field.Text', { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
227 name: name, |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
228 fieldLabel: label, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
229 filterId: filterId, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
230 value: value |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
231 }); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
232 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
233 else if (type === 'number') { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
234 field = Ext.create('Ext.form.field.Number', { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
235 name: name, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
236 labelWidth: 135, |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
237 fieldLabel: label, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
238 filterId: filterId, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
239 value: value |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
240 }); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
241 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
242 else if (type === 'datetime') { |
575
54dbb6c44ca6
Fixed filter widget creation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
548
diff
changeset
|
243 field = Ext.create('Lada.view.widget.Datetime', { |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
244 name: name, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
245 labelWidth: 135, |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
246 fieldLabel: label, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
247 filterId: filterId, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
248 value: value |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
249 }); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
250 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
251 else if (type === 'bool') { |
575
54dbb6c44ca6
Fixed filter widget creation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
548
diff
changeset
|
252 field = Ext.create('Lada.view.widget.Testdatensatz', { |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
253 name: name, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
254 labelWidth: 135, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
255 fieldLabel: label, |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
256 value: value, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
257 filterId: filterId, |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
258 emptyText: '' |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
259 }); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
260 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
261 else if (type === 'listmst') { |
575
54dbb6c44ca6
Fixed filter widget creation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
548
diff
changeset
|
262 field = Ext.create('Lada.view.widget.Messstelle', { |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
263 name: name, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
264 labelWidth: 135, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
265 fieldLabel: label, |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
266 multiSelect: multi, |
1063
4654b788f3d4
Allow empty filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1056
diff
changeset
|
267 forceSelection: false, |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
268 filterId: filterId, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
269 value: value |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
270 }); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
271 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
272 else if (type === 'listumw') { |
575
54dbb6c44ca6
Fixed filter widget creation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
548
diff
changeset
|
273 field = Ext.create('Lada.view.widget.Umwelt', { |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
274 name: name, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
275 labelWidth: 135, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
276 fieldLabel: label, |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
277 value: value, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
278 filterId: filterId, |
1063
4654b788f3d4
Allow empty filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1056
diff
changeset
|
279 forceSelection: false, |
874
031b4431b1b8
Applied Patch which was presented in the Workshop: Umweltbereich ComboBox in shall not show the name of the umweltbereich
Dustin Demuth <dustin@intevation.de>
parents:
844
diff
changeset
|
280 multiSelect: multi, |
031b4431b1b8
Applied Patch which was presented in the Workshop: Umweltbereich ComboBox in shall not show the name of the umweltbereich
Dustin Demuth <dustin@intevation.de>
parents:
844
diff
changeset
|
281 displayTpl: Ext.create('Ext.XTemplate', |
031b4431b1b8
Applied Patch which was presented in the Workshop: Umweltbereich ComboBox in shall not show the name of the umweltbereich
Dustin Demuth <dustin@intevation.de>
parents:
844
diff
changeset
|
282 '<tpl for=".">{id} </tpl>') |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
283 }); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
284 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
285 else if (type === 'listdbasis') { |
575
54dbb6c44ca6
Fixed filter widget creation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
548
diff
changeset
|
286 field = Ext.create('Lada.view.widget.Datenbasis', { |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
287 name: name, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
288 labelWidth: 135, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
289 fieldLabel: label, |
1063
4654b788f3d4
Allow empty filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1056
diff
changeset
|
290 forceSelection: false, |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
291 value: value, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
292 filterId: filterId, |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
293 multiSelect: multi |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
294 }); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
295 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
296 else if (type === 'listver') { |
575
54dbb6c44ca6
Fixed filter widget creation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
548
diff
changeset
|
297 field = Ext.create('Lada.view.widget.Verwaltungseinheit', { |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
298 name: name, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
299 labelWidth: 135, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
300 fieldLabel: label, |
1063
4654b788f3d4
Allow empty filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1056
diff
changeset
|
301 forceSelection: false, |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
302 value: value, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
303 filterId: filterId, |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
304 multiSelect: multi |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
305 }); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
306 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
307 else if (type === 'listnetz') { |
575
54dbb6c44ca6
Fixed filter widget creation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
548
diff
changeset
|
308 field = Ext.create('Lada.view.widget.Netzbetreiber', { |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
309 name: name, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
310 labelWidth: 135, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
311 fieldLabel: label, |
1063
4654b788f3d4
Allow empty filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1056
diff
changeset
|
312 forceSelection: false, |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
313 value: value, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
314 filterId: filterId, |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
315 multiSelect: multi |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
316 }); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
317 } |
1106
ecce10cf32dc
add stus filter to messungs query
Michael Stanko <mstanko@bfs.de>
parents:
1077
diff
changeset
|
318 else if (type === 'liststatus') { |
ecce10cf32dc
add stus filter to messungs query
Michael Stanko <mstanko@bfs.de>
parents:
1077
diff
changeset
|
319 field = Ext.create('Lada.view.widget.Status', { |
ecce10cf32dc
add stus filter to messungs query
Michael Stanko <mstanko@bfs.de>
parents:
1077
diff
changeset
|
320 name: name, |
1160
a393d9650a0b
Use store with all status values for filtering.
Tom Gottfried <tom@intevation.de>
parents:
1158
diff
changeset
|
321 store: Ext.StoreManager.get('statuswerte'), |
1106
ecce10cf32dc
add stus filter to messungs query
Michael Stanko <mstanko@bfs.de>
parents:
1077
diff
changeset
|
322 labelWidth: 135, |
ecce10cf32dc
add stus filter to messungs query
Michael Stanko <mstanko@bfs.de>
parents:
1077
diff
changeset
|
323 fieldLabel: label, |
ecce10cf32dc
add stus filter to messungs query
Michael Stanko <mstanko@bfs.de>
parents:
1077
diff
changeset
|
324 forceSelection: false, |
ecce10cf32dc
add stus filter to messungs query
Michael Stanko <mstanko@bfs.de>
parents:
1077
diff
changeset
|
325 value: value, |
ecce10cf32dc
add stus filter to messungs query
Michael Stanko <mstanko@bfs.de>
parents:
1077
diff
changeset
|
326 filterId: filterId, |
1158
846dcd217be3
Editing entries in multiselect fields currently breaks request.
Tom Gottfried <tom@intevation.de>
parents:
1157
diff
changeset
|
327 editable: false, |
1106
ecce10cf32dc
add stus filter to messungs query
Michael Stanko <mstanko@bfs.de>
parents:
1077
diff
changeset
|
328 multiSelect: multi |
ecce10cf32dc
add stus filter to messungs query
Michael Stanko <mstanko@bfs.de>
parents:
1077
diff
changeset
|
329 }); |
ecce10cf32dc
add stus filter to messungs query
Michael Stanko <mstanko@bfs.de>
parents:
1077
diff
changeset
|
330 } |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
331 if (field) { |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
332 filterValues.add(field); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
333 filters.show(); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
334 hide = false; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
335 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
336 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
337 if (hide) { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
338 filters.hide(); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
339 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
340 }, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
341 |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
342 /** |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
343 * Function is called when the user clicks the search button. The function |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
344 * will perform a search to the server on refreshes the result list. |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
345 * To do so it replaces the store of the Resultgrids. |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
346 */ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
347 search: function(element) { |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
348 var resultGrid = element.up('panel[name=main]').down('panel[name=contentpanel]').down('grid'); |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
349 var filters = element.up('panel[name=main]').down('panel[name=filtervalues]'); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
350 var search = element.up('fieldset').down('combobox[name=filter]'); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
351 |
1030
f4bd170f8ee6
Cancel search if no filter is selected.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1016
diff
changeset
|
352 if (!search.getValue()) { |
f4bd170f8ee6
Cancel search if no filter is selected.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1016
diff
changeset
|
353 return; |
f4bd170f8ee6
Cancel search if no filter is selected.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1016
diff
changeset
|
354 } |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
355 //Type of the search Proben/Messprogramme/Stammdaten |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
356 var type = search.store.getById(search.getValue()).get('type'); |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
357 |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
358 // Get search parameters: |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
359 var searchParams = {}; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
360 searchParams['qid'] = search.getValue(); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
361 for (var i = filters.items.length - 1; i >= 0; i--) { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
362 var filter = filters.items.items[i]; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
363 var value = filter.getValue(); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
364 if (value instanceof Array) { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
365 value = value.join(','); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
366 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
367 searchParams[filter.getName()] = value; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
368 } |
751
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
369 |
981
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
370 //Store depends of the Type... |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
371 // TODO the switchcasese should be unified withj those in SelectSql |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
372 switch (type) { |
983 | 373 case 'probe': |
981
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
374 sname = 'Lada.store.ProbenList'; |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
375 break; |
1077
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
376 case 'messung': |
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
377 sname = 'Lada.store.MessungenList'; |
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
378 break; |
981
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
379 case 'messprogramm': |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
380 sname = 'Lada.store.MessprogrammeList'; |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
381 break; |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
382 case 'messprogrammkategorie': |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
383 sname = 'Lada.store.MessprogrammKategorie'; |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
384 break; |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
385 case 'datensatzerzeuger': |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
386 sname = 'Lada.store.DatensatzErzeuger'; |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
387 break; |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
388 case 'ort': |
1004
9ac03f461ab4
Introduced Orte into Stammdatengrids, Added Ortszuordnung. THIS COMMIT IS WORK IN PROGRESS, Proben will NOT work after this commit. Orte can not be edited.
Dustin Demuth <dustin@intevation.de>
parents:
983
diff
changeset
|
389 sname = 'Lada.store.Orte'; |
981
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
390 break; |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
391 case 'probenehmer': |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
392 sname = 'Lada.store.Probenehmer'; |
2c394e72ba41
Use the lada-server for stammdatenqueries.
Dustin Demuth <dustin@intevation.de>
parents:
979
diff
changeset
|
393 break; |
975
fb99332bb48e
Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
908
diff
changeset
|
394 } |
751
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
395 |
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
396 // Find the store or create a new one. |
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
397 var store = Ext.StoreManager.lookup(sname); |
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
398 if (!store) { |
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
399 store = Ext.create(sname); |
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
400 } |
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
401 if (store) { |
810
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
402 store.addListener('beforeload', this.loadingAnimationOn, resultGrid); |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
403 store.addListener('load', this.loadingAnimationOff, resultGrid); |
1049
1bd4c0709bd6
Working version of selectable 'ort' in map and grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1021
diff
changeset
|
404 if (type === 'ort') { |
1bd4c0709bd6
Working version of selectable 'ort' in map and grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1021
diff
changeset
|
405 var panel = resultGrid.up('ortpanel'); |
1bd4c0709bd6
Working version of selectable 'ort' in map and grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1021
diff
changeset
|
406 store.addListener('load', panel.down('map').addLocations, panel.down('map')); |
1bd4c0709bd6
Working version of selectable 'ort' in map and grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1021
diff
changeset
|
407 panel.connectListeners(); |
1bd4c0709bd6
Working version of selectable 'ort' in map and grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1021
diff
changeset
|
408 } |
976
3c770fc7cf19
Added a variable which makes it possible to detect if a grid is dynamic
Dustin Demuth <dustin@intevation.de>
parents:
975
diff
changeset
|
409 |
751
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
410 resultGrid.setStore(store); |
976
3c770fc7cf19
Added a variable which makes it possible to detect if a grid is dynamic
Dustin Demuth <dustin@intevation.de>
parents:
975
diff
changeset
|
411 //TODO: Check if this is still necessary, as a Grid exists |
3c770fc7cf19
Added a variable which makes it possible to detect if a grid is dynamic
Dustin Demuth <dustin@intevation.de>
parents:
975
diff
changeset
|
412 // for each Type. |
3c770fc7cf19
Added a variable which makes it possible to detect if a grid is dynamic
Dustin Demuth <dustin@intevation.de>
parents:
975
diff
changeset
|
413 |
3c770fc7cf19
Added a variable which makes it possible to detect if a grid is dynamic
Dustin Demuth <dustin@intevation.de>
parents:
975
diff
changeset
|
414 if (resultGrid.isDynamic) { |
3c770fc7cf19
Added a variable which makes it possible to detect if a grid is dynamic
Dustin Demuth <dustin@intevation.de>
parents:
975
diff
changeset
|
415 //only the dynamic resultgrid can and needs to do the following: |
3c770fc7cf19
Added a variable which makes it possible to detect if a grid is dynamic
Dustin Demuth <dustin@intevation.de>
parents:
975
diff
changeset
|
416 resultGrid.setupColumns(this.displayFields); |
3c770fc7cf19
Added a variable which makes it possible to detect if a grid is dynamic
Dustin Demuth <dustin@intevation.de>
parents:
975
diff
changeset
|
417 } |
3c770fc7cf19
Added a variable which makes it possible to detect if a grid is dynamic
Dustin Demuth <dustin@intevation.de>
parents:
975
diff
changeset
|
418 |
751
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
419 resultGrid.getStore().proxy.extraParams = searchParams; |
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
420 resultGrid.getStore().load(); |
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
421 resultGrid.show(); |
704bb359c0fe
dynamically exchange the store of the resultfiltergrid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
422 } |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
423 }, |
810
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
424 |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
425 /** |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
426 * Enable the Loading Animation of the Grid. |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
427 */ |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
428 loadingAnimationOn: function(store, operation) { |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
429 // this = resultgrid because of the scope which was set in addListener |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
430 this.setLoading(true); |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
431 }, |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
432 |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
433 /** |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
434 * Disable the Loading Animation of the Grid. |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
435 */ |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
436 loadingAnimationOff: function(store, operation) { |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
437 // this = resultgrid because of the scope which was set in addListener |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
438 this.setLoading(false); |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
439 }, |
a5373ee662e2
Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents:
800
diff
changeset
|
440 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
441 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
442 * This function resets the filters |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
443 */ |
734
2d482dfaa41a
Update list on search and reset filter values on reset button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
657
diff
changeset
|
444 reset: function(element) { |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
445 var filters = element.up('panel[name=main]').down('panel[name=filtervalues]'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
446 var search = element.up('fieldset').down('combobox[name=filter]'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
447 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
448 //Type of the search Proben/Messprogramme/Stammdaten |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
449 var qId = search.getValue(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
450 var query = search.store.getById(qId); |
734
2d482dfaa41a
Update list on search and reset filter values on reset button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
657
diff
changeset
|
451 for (var i = filters.items.length - 1; i >= 0; i--) { |
2d482dfaa41a
Update list on search and reset filter values on reset button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
657
diff
changeset
|
452 var filter = filters.items.items[i]; |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
453 for (var j = 0; j < query.data.filters.length; j++) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
454 if (filter.filterId === query.data.filters[j].id) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
455 filter.setValue(query.data.filters[j].value); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
456 } |
844
1449d58d6f58
Clear the text filter correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
810
diff
changeset
|
457 } |
734
2d482dfaa41a
Update list on search and reset filter values on reset button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
657
diff
changeset
|
458 } |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
459 }, |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
460 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
461 * This Function is supposed to handle the About action |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
462 * It has no function yet. |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
734
diff
changeset
|
463 */ |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
464 about: function() { |
800
4b9b1d3ad9f1
Added about window, There are still some todos when retrieving the server version, the asynchronous request seems to fail and does not evaluate in time
Dustin Demuth <dustin@intevation.de>
parents:
794
diff
changeset
|
465 var win = Ext.create('Lada.view.window.About'); |
4b9b1d3ad9f1
Added about window, There are still some todos when retrieving the server version, the asynchronous request seems to fail and does not evaluate in time
Dustin Demuth <dustin@intevation.de>
parents:
794
diff
changeset
|
466 win.show(); |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
467 }, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
468 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
469 showDetails: function(element) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
470 var search = element.up('fieldset').down('combobox[name=filter]'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
471 var details = element.up('panel[name=main]').down('filterdetails'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
472 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
473 //Type of the search Proben/Messprogramme/Stammdaten |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
474 var record = search.store.getById(search.getValue()); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
475 details.setRecord(record); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
476 if (element.pressed) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
477 details.show(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
478 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
479 else { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
480 details.hide(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
481 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
482 }, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
483 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
484 showManagement: function() { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
485 if (!this.managementWindow) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
486 this.managementWindow = Ext.create('Lada.view.window.FilterManagement'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
487 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
488 this.managementWindow.show(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
489 }, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
490 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
491 triggerFilterUpdate: function(checkbox) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
492 var cbox = checkbox.up('fieldset').down('combobox[name=filter]'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
493 this.updateFilter(cbox); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
494 }, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
495 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
496 updateFilter: function(combobox) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
497 var store; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
498 var entries; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
499 var fav = combobox.up('fieldset').down('checkbox[name=favorites]'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
500 if (this.mode === 'proben') { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
501 store = Ext.StoreManager.get('probequeries'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
502 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
503 else if (this.mode === 'messprogramme') { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
504 store = Ext.StoreManager.get('messprogrammqueries'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
505 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
506 else if (this.mode === 'stammdaten') { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
507 store = Ext.StoreManager.get('stammdatenqueries'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
508 } |
1077
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
509 else if (this.mode === 'messungen') { |
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
510 store = Ext.StoreManager.get('messungqueries'); |
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
511 } |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
512 else { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
513 return; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
514 } |
1048
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
515 var allEntries = store.queryBy(function() { |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
516 return true; |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
517 }); |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
518 var favorites = store.queryBy(function(record) { |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
519 if (record.get('favorite')) { |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
520 return true; |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
521 } |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
522 }); |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
523 combobox.store.removeAll(); |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
524 if (fav.checked && favorites.getCount() > 0) { |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
525 combobox.store.add(favorites.items); |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
526 } |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
527 else { |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
528 combobox.store.add(allEntries.items); |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
529 if (favorites.getCount() === 0) { |
1043
91f65b9cc2fb
Uncheck favorites if no favorite entries exist.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1042
diff
changeset
|
530 fav.setValue(false); |
1048
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
531 fav.disable(); |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
532 } |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
533 else { |
eacf25f071c0
Enable/Disable favorites checkbox whether user has query favorites or not.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1043
diff
changeset
|
534 fav.enable(); |
1043
91f65b9cc2fb
Uncheck favorites if no favorite entries exist.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1042
diff
changeset
|
535 } |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
536 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
537 combobox.select(combobox.store.getAt(0)); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
538 combobox.fireEvent('select', combobox, [combobox.store.getAt(0)]); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
539 }, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
540 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
541 saveFilterDefaults: function(button) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
542 var filters = button.up('fieldset').down('panel[name=filtervalues]'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
543 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
544 var search = button.up('fieldset').down('combobox[name=filter]'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
545 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
546 //Type of the search Proben/Messprogramme/Stammdaten |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
547 var qId = search.getValue(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
548 var query = search.store.getById(qId); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
549 var ndx = 0; |
1042
16c0c6946ae9
Fixed filter item check.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1030
diff
changeset
|
550 for (var i = filters.items.items.length - 1; i >= 0; i--) { |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
551 var filter = filters.items.items[i]; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
552 var filterId = filter.filterId; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
553 var value = filter.getValue(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
554 if (value instanceof Array) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
555 value = value.join(','); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
556 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
557 Ext.Ajax.request({ |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
558 url: 'lada-server/rest/filter', |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
559 method: 'PUT', |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
560 jsonData: { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
561 id: filterId, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
562 value: value |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
563 }, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
564 success: function() { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
565 ndx++; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
566 for (var j = 0; j < query.data.filters.length; i++) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
567 if (query.data.filters[j].id === filterId) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
568 query.data.filters[j].value = value; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
569 break; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
570 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
571 } |
1042
16c0c6946ae9
Fixed filter item check.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1030
diff
changeset
|
572 if (ndx < filters.items.items.length - 1) { |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
573 return; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
574 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
575 if (query.get('type') === 'probe') { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
576 Ext.StoreManager.get('probequeries').load(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
577 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
578 else if (query.get('type') === 'messprogramm') { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
579 Ext.StoreManager.get('messprogrammqueries').load(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
580 } |
1077
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
581 else if (query.get('type') === 'messung') { |
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
582 Ext.StoreManager.get('messungqueries').load(); |
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
583 } |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
584 else { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
585 Ext.StoreManager.get('stammdatenqueries').load(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
586 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
587 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
588 }); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
589 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
590 }, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
591 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
592 resetFilterDefaults: function(button) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
593 var filters = button.up('fieldset').down('panel[name=filtervalues]'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
594 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
595 var search = button.up('fieldset').down('combobox[name=filter]'); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
596 |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
597 var qId = search.getValue(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
598 var query = search.store.getById(qId); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
599 for (var i = filters.items.length - 1; i >= 0; i--) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
600 var filter = filters.items.items[i]; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
601 var filterId = filter.filterId; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
602 var value = filter.getValue(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
603 if (value instanceof Array) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
604 value = value.join(','); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
605 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
606 Ext.Ajax.request({ |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
607 url: 'lada-server/rest/filter/' + filterId, |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
608 method: 'DELETE', |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
609 success: function(response) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
610 var json = Ext.decode(response.responseText); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
611 if (!json.success) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
612 return; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
613 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
614 filter.setValue(json.data.value); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
615 for (var j = 0; j < query.data.filters.length; j++) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
616 if (query.data.filters[j].id === json.data.id) { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
617 query.data.filters[j].value = json.data.value; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
618 break; |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
619 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
620 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
621 if (query.get('type') === 'probe') { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
622 Ext.StoreManager.get('probequeries').reload(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
623 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
624 else if (query.get('type') === 'messprogramm') { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
625 Ext.StoreManager.get('messprogrammqueries').reload(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
626 } |
1077
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
627 else if (query.get('type') === 'messung') { |
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
628 Ext.StoreManager.get('messungqueries').reload(); |
2a5d42045c63
Display Messungen query mode and use the new messung list grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1063
diff
changeset
|
629 } |
1016
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
630 else { |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
631 Ext.StoreManager.get('stammdatenqueries').reload(); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
632 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
633 } |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
634 }); |
d6e259e76de6
Updated filter value handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1015
diff
changeset
|
635 } |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
636 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
637 }); |