Mercurial > lada > lada-client
annotate app/controller/Sql.js @ 378:d001e88affde
Fixed building searchparams support empty selection in multiselect.
author | Torsten Irländer <torsten.irlaender@intevation.de> |
---|---|
date | Mon, 26 Aug 2013 12:13:26 +0200 |
parents | 1327dd6ec246 |
children | 00bf2d4f3bd1 |
rev | line source |
---|---|
31
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
1 var queries = new Array('query1', 'query2'); |
246
c5d7fae5997a
Change logic how to show and hide the search filters. Now we iterate over the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
241
diff
changeset
|
2 |
294
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
3 /** |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
4 * Controller for the Search |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
5 * This controller handles all logic related to the search |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
6 */ |
6
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
7 Ext.define('Lada.controller.Sql', { |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
8 extend: 'Ext.app.Controller', |
8
e4fcb4ddd782
Moved stored SQL into its own file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
6
diff
changeset
|
9 stores: [ |
235
78134e20e62d
Added new model and store for Queries.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
147
diff
changeset
|
10 'Proben', // List of found Proben |
374
832e3c8f9191
Implemented dynamic ProbelList model. The model will get initialized by the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
370
diff
changeset
|
11 'ProbenList', // List of found Proben |
235
78134e20e62d
Added new model and store for Queries.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
147
diff
changeset
|
12 'Queries' |
8
e4fcb4ddd782
Moved stored SQL into its own file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
6
diff
changeset
|
13 ], |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
14 requires: [ |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
15 'Lada.view.widgets.Mst', |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
16 'Lada.view.widgets.Uwb', |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
17 'Lada.view.widgets.Datetime' |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
18 ], |
6
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
19 init: function() { |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
20 console.log('Initialising the Sql controller'); |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
21 this.control({ |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
22 // CSS like selector to select element in the viewport. See |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
23 // ComponentQuery documentation for more details. |
31
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
24 '#search': { |
6
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
25 // Map the "render" event to the given function. |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
26 render: this.onPanelRendered, |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
27 // Map Doubleclick on rows of the probenlist. |
28
4d60b9ebce15
Renamed sql modul into search. Further display The query selection as Combobox
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
25
diff
changeset
|
28 select: this.selectSql |
31
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
29 }, |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
30 '#SearchBtn': { |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
31 // Map click event on Button. |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
32 click: this.search |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
33 }, |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
34 '#ResetBtn': { |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
35 // Map click event on Button. |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
36 click: this.reset |
6
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
37 } |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
38 }); |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
39 }, |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
40 onPanelRendered: function() { |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
41 console.log('The panel was rendered'); |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
42 }, |
294
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
43 /** |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
44 * Function called when the user selects a SQL query in the dropdownlist. |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
45 * The function will hide/display additional element related to the |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
46 * selected search query |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
47 */ |
28
4d60b9ebce15
Renamed sql modul into search. Further display The query selection as Combobox
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
25
diff
changeset
|
48 selectSql: function(element, record, index) { |
241
4ca858026191
If the user selects a search query add call setupColumns method to dynamically
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
235
diff
changeset
|
49 var result = Ext.getCmp('result'); |
246
c5d7fae5997a
Change logic how to show and hide the search filters. Now we iterate over the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
241
diff
changeset
|
50 var filters = Ext.getCmp('queryfilters'); |
252
1bce2d59b7e9
Update description and sql statement when chosing another query
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
251
diff
changeset
|
51 var sqlquery = Ext.getCmp('sqlquery'); |
1bce2d59b7e9
Update description and sql statement when chosing another query
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
251
diff
changeset
|
52 var sqldesc = Ext.getCmp('sqldesc'); |
31
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
53 var buttons = Ext.getCmp('SearchBtnPanel'); |
253
424f18da3c64
Fixed variable name
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
252
diff
changeset
|
54 var displayFields = record[0].data.results; |
246
c5d7fae5997a
Change logic how to show and hide the search filters. Now we iterate over the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
241
diff
changeset
|
55 var filterFields = record[0].data.filters; |
253
424f18da3c64
Fixed variable name
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
252
diff
changeset
|
56 |
31
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
57 this.reset(); |
246
c5d7fae5997a
Change logic how to show and hide the search filters. Now we iterate over the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
241
diff
changeset
|
58 |
252
1bce2d59b7e9
Update description and sql statement when chosing another query
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
251
diff
changeset
|
59 sqlquery.setValue(record[0].data.sql); |
1bce2d59b7e9
Update description and sql statement when chosing another query
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
251
diff
changeset
|
60 sqldesc.setValue(record[0].data.description); |
1bce2d59b7e9
Update description and sql statement when chosing another query
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
251
diff
changeset
|
61 |
246
c5d7fae5997a
Change logic how to show and hide the search filters. Now we iterate over the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
241
diff
changeset
|
62 // Setup Columns of the probenlist |
241
4ca858026191
If the user selects a search query add call setupColumns method to dynamically
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
235
diff
changeset
|
63 result.setupColumns(displayFields); |
246
c5d7fae5997a
Change logic how to show and hide the search filters. Now we iterate over the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
241
diff
changeset
|
64 |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
65 // Setup Filters of the probenlist |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
66 // |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
67 // Allowed types are |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
68 // * text |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
69 // * number |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
70 // * datetime |
375
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
71 // * bool |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
72 // * listmst |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
73 // * listumw |
375
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
74 // * listver |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
75 // * listdbasis |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
76 // * listnetz |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
77 // |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
78 // Iterate over all configured filters and add filters dynamically |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
79 // |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
80 // 1. Empty filters |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
81 filters.removeAll(); |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
82 var hide = true; |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
83 // 2. Iterate over all configured filters |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
84 for (var j=0; j < filterFields.length; j++) { |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
85 var type = filterFields[j].type; |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
86 var name = filterFields[j].dataIndex; |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
87 var label = filterFields[j].label; |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
88 var field = null; |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
89 if (type == "text") { |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
90 console.log("Found text filter"); |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
91 field = Ext.create('Ext.form.field.Text', { name: name, fieldLabel: label }); |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
92 } else if (type == "number") { |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
93 console.log("Found number filter"); |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
94 field = Ext.create('Ext.form.field.Number', { name: name, fieldLabel: label }); |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
95 } else if (type == "datetime") { |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
96 console.log("Found datetime filter"); |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
97 field = Ext.create('Lada.view.widgets.Datetime', { name: name, fieldLabel: label }); |
375
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
98 } else if (type == "bool") { |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
99 console.log("Found bool filter"); |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
100 field = Ext.create('Lada.view.widgets.Testdatensatz', { name: name, fieldLabel: label, emptyText: '' }); |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
101 } else if (type == "listmst") { |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
102 console.log("Found listmst filter"); |
375
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
103 field = Ext.create('Lada.view.widgets.Mst', { name: name, fieldLabel: label, multiSelect: true }); |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
104 } else if (type == "listumw") { |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
105 console.log("Found listumw filter"); |
375
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
106 field = Ext.create('Lada.view.widgets.Uwb', { name: name, fieldLabel: label, multiSelect: true }); |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
107 } else if (type == "listdbasis") { |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
108 console.log("Found listdbasis filter"); |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
109 field = Ext.create('Lada.view.widgets.Datenbasis', { name: name, fieldLabel: label, multiSelect: true }); |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
110 } else if (type == "listver") { |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
111 console.log("Found listver filter"); |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
112 field = Ext.create('Lada.view.widgets.Verwaltungseinheit', { name: name, fieldLabel: label, multiSelect: true }); |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
113 } else if (type == "listnetz") { |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
114 console.log("Found listnetz filter"); |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
115 field = Ext.create('Lada.view.widgets.Netzbetreiber', { name: name, fieldLabel: label, multiSelect: true }); |
366 | 116 } |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
117 if (field) { |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
118 console.log("Pushing field to filters"); |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
119 filters.add(field); |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
120 filters.show(); |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
121 hide = false; |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
122 } |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
123 } |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
124 if (hide) { |
246
c5d7fae5997a
Change logic how to show and hide the search filters. Now we iterate over the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
241
diff
changeset
|
125 filters.hide(); |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
126 } |
31
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
127 buttons.show(); |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
128 }, |
294
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
129 /** |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
130 * Function is called when the user clicks the search button. The function |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
131 * will perform a search to the server on refreshes the result list. |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
132 */ |
31
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
133 search: function(element, record, index) { |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
134 var result = Ext.getCmp('result'); |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
135 var filters = Ext.getCmp('queryfilters'); |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
136 var search = Ext.getCmp('search'); |
36
2a67e062519b
Implemted search. When user clicks on the search buttons parameters are
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
35
diff
changeset
|
137 |
2a67e062519b
Implemted search. When user clicks on the search buttons parameters are
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
35
diff
changeset
|
138 // Get search parameters: |
2a67e062519b
Implemted search. When user clicks on the search buttons parameters are
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
35
diff
changeset
|
139 var searchParams = {}; |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
140 searchParams['qid'] = search.getValue(); |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
141 for (var i = filters.items.length - 1; i >= 0; i--){ |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
142 var filter = filters.items.items[i]; |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
143 var value = filter.getValue(); |
378
d001e88affde
Fixed building searchparams support empty selection in multiselect.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
375
diff
changeset
|
144 if (value instanceof Array) { |
d001e88affde
Fixed building searchparams support empty selection in multiselect.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
375
diff
changeset
|
145 value = value.join(","); |
d001e88affde
Fixed building searchparams support empty selection in multiselect.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
375
diff
changeset
|
146 } |
d001e88affde
Fixed building searchparams support empty selection in multiselect.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
375
diff
changeset
|
147 searchParams[filter.getName()] = value; |
36
2a67e062519b
Implemted search. When user clicks on the search buttons parameters are
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
35
diff
changeset
|
148 } |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
149 console.log('Loading store with the following search params: ' + searchParams); |
36
2a67e062519b
Implemted search. When user clicks on the search buttons parameters are
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
35
diff
changeset
|
150 result.getStore().load({ |
2a67e062519b
Implemted search. When user clicks on the search buttons parameters are
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
35
diff
changeset
|
151 params: searchParams |
2a67e062519b
Implemted search. When user clicks on the search buttons parameters are
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
35
diff
changeset
|
152 }); |
28
4d60b9ebce15
Renamed sql modul into search. Further display The query selection as Combobox
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
25
diff
changeset
|
153 console.log('Store loaded'); |
25
f964a50bfe57
Restructured the application. Fixed layouts etc.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
17
diff
changeset
|
154 result.show(); |
31
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
155 }, |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
156 reset: function(element, record, index) { |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
157 var buttons = Ext.getCmp('SearchBtnPanel'); |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
158 var result = Ext.getCmp('result'); |
246
c5d7fae5997a
Change logic how to show and hide the search filters. Now we iterate over the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
241
diff
changeset
|
159 //for (var i = 0; i < queries.length; ++i) { |
c5d7fae5997a
Change logic how to show and hide the search filters. Now we iterate over the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
241
diff
changeset
|
160 // var toHide = Ext.getCmp(queries[i]); |
c5d7fae5997a
Change logic how to show and hide the search filters. Now we iterate over the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
241
diff
changeset
|
161 // toHide.hide(); |
c5d7fae5997a
Change logic how to show and hide the search filters. Now we iterate over the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
241
diff
changeset
|
162 //} |
147
5da0b56bf9bf
Do no hide the earch buttons and the resultlist on reset.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
139
diff
changeset
|
163 //result.hide(); |
5da0b56bf9bf
Do no hide the earch buttons and the resultlist on reset.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
139
diff
changeset
|
164 //buttons.hide(); |
6
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
165 } |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
166 }); |