Mercurial > lada > lada-client
annotate app/controller/Sql.js @ 488:f7446ebfe5d0
Added and updated models.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 31 Oct 2014 21:10:35 +0100 |
parents | debfcc7713e3 |
children | 850ccfe5f3c4 |
rev | line source |
---|---|
472
debfcc7713e3
Added license header to each file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
431
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
debfcc7713e3
Added license header to each file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
431
diff
changeset
|
2 * Software engineering by Intevation GmbH |
debfcc7713e3
Added license header to each file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
431
diff
changeset
|
3 * |
debfcc7713e3
Added license header to each file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
431
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
debfcc7713e3
Added license header to each file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
431
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
debfcc7713e3
Added license header to each file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
431
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
debfcc7713e3
Added license header to each file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
431
diff
changeset
|
7 */ |
debfcc7713e3
Added license header to each file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
431
diff
changeset
|
8 |
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
|
9 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
|
10 |
294
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
11 /** |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
12 * Controller for the Search |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
13 * 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
|
14 */ |
6
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
15 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
|
16 extend: 'Ext.app.Controller', |
8
e4fcb4ddd782
Moved stored SQL into its own file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
6
diff
changeset
|
17 stores: [ |
235
78134e20e62d
Added new model and store for Queries.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
147
diff
changeset
|
18 '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
|
19 'ProbenList', // List of found Proben |
386
00bf2d4f3bd1
Added about dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
378
diff
changeset
|
20 'Queries', |
422
f9bb1ecf6462
Removed trailing commas.
Raimund Renkert <rrenkert@intevation.de>
parents:
413
diff
changeset
|
21 'Info' |
8
e4fcb4ddd782
Moved stored SQL into its own file.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
6
diff
changeset
|
22 ], |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
23 requires: [ |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
24 '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
|
25 'Lada.view.widgets.Uwb', |
386
00bf2d4f3bd1
Added about dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
378
diff
changeset
|
26 'Lada.view.widgets.Datetime', |
00bf2d4f3bd1
Added about dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
378
diff
changeset
|
27 'Lada.view.About' |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
28 ], |
6
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
29 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
|
30 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
|
31 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
|
32 // 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
|
33 // 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
|
34 '#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
|
35 // 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
|
36 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
|
37 // 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
|
38 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
|
39 }, |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
40 '#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
|
41 // 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
|
42 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
|
43 }, |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
44 '#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
|
45 // 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
|
46 click: this.reset |
386
00bf2d4f3bd1
Added about dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
378
diff
changeset
|
47 }, |
00bf2d4f3bd1
Added about dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
378
diff
changeset
|
48 '#AboutBtn': { |
00bf2d4f3bd1
Added about dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
378
diff
changeset
|
49 // Map click event on Button. |
00bf2d4f3bd1
Added about dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
378
diff
changeset
|
50 click: this.about |
6
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
51 } |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
52 }); |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
53 }, |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
54 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
|
55 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
|
56 }, |
294
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
57 /** |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
58 * 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
|
59 * 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
|
60 * selected search query |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
61 */ |
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
|
62 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
|
63 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
|
64 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
|
65 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
|
66 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
|
67 var buttons = Ext.getCmp('SearchBtnPanel'); |
253
424f18da3c64
Fixed variable name
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
252
diff
changeset
|
68 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
|
69 var filterFields = record[0].data.filters; |
253
424f18da3c64
Fixed variable name
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
252
diff
changeset
|
70 |
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
|
71 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
|
72 |
252
1bce2d59b7e9
Update description and sql statement when chosing another query
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
251
diff
changeset
|
73 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
|
74 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
|
75 |
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
|
76 // Setup Columns of the probenlist |
413
e1af66012ef0
Reverse displayFields Array before configuring the columns of the result list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
403
diff
changeset
|
77 displayFields.reverse(); |
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
|
78 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
|
79 |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
80 // 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
|
81 // |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
82 // 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
|
83 // * text |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
84 // * number |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
85 // * datetime |
375
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
86 // * 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
|
87 // * listmst |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
88 // * listumw |
375
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
89 // * listver |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
90 // * listdbasis |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
91 // * 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
|
92 // |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
93 // 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
|
94 // |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
95 // 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
|
96 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
|
97 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
|
98 // 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
|
99 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
|
100 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
|
101 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
|
102 var label = filterFields[j].label; |
418
957a4a9fd260
Enabled multiselect for query filter. (Used as example in final workshop)
Raimund Renkert <rrenkert@intevation.de>
parents:
413
diff
changeset
|
103 var multi = filterFields[j].multiSelect; |
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 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
|
105 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
|
106 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
|
107 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
|
108 } 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
|
109 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
|
110 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
|
111 } 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
|
112 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
|
113 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
|
114 } else if (type == "bool") { |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
115 console.log("Found bool filter"); |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
116 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
|
117 } 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
|
118 console.log("Found listmst filter"); |
418
957a4a9fd260
Enabled multiselect for query filter. (Used as example in final workshop)
Raimund Renkert <rrenkert@intevation.de>
parents:
413
diff
changeset
|
119 field = Ext.create('Lada.view.widgets.Mst', { name: name, fieldLabel: label, multiSelect: multi }); |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
120 } 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
|
121 console.log("Found listumw filter"); |
418
957a4a9fd260
Enabled multiselect for query filter. (Used as example in final workshop)
Raimund Renkert <rrenkert@intevation.de>
parents:
413
diff
changeset
|
122 field = Ext.create('Lada.view.widgets.Uwb', { name: name, fieldLabel: label, multiSelect: multi }); |
375
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
123 } else if (type == "listdbasis") { |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
124 console.log("Found listdbasis filter"); |
418
957a4a9fd260
Enabled multiselect for query filter. (Used as example in final workshop)
Raimund Renkert <rrenkert@intevation.de>
parents:
413
diff
changeset
|
125 field = Ext.create('Lada.view.widgets.Datenbasis', { name: name, fieldLabel: label, multiSelect: multi }); |
375
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
126 } else if (type == "listver") { |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
127 console.log("Found listver filter"); |
418
957a4a9fd260
Enabled multiselect for query filter. (Used as example in final workshop)
Raimund Renkert <rrenkert@intevation.de>
parents:
413
diff
changeset
|
128 field = Ext.create('Lada.view.widgets.Verwaltungseinheit', { name: name, fieldLabel: label, multiSelect: multi }); |
375
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
129 } else if (type == "listnetz") { |
1327dd6ec246
Added more search filters.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
374
diff
changeset
|
130 console.log("Found listnetz filter"); |
418
957a4a9fd260
Enabled multiselect for query filter. (Used as example in final workshop)
Raimund Renkert <rrenkert@intevation.de>
parents:
413
diff
changeset
|
131 field = Ext.create('Lada.view.widgets.Netzbetreiber', { name: name, fieldLabel: label, multiSelect: multi }); |
366 | 132 } |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
133 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
|
134 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
|
135 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
|
136 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
|
137 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
|
138 } |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
139 } |
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
140 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
|
141 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
|
142 } |
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
|
143 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
|
144 }, |
294
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
145 /** |
92b475303806
Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
253
diff
changeset
|
146 * 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
|
147 * 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
|
148 */ |
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
|
149 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
|
150 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
|
151 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
|
152 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
|
153 |
2a67e062519b
Implemted search. When user clicks on the search buttons parameters are
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
35
diff
changeset
|
154 // 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
|
155 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
|
156 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
|
157 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
|
158 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
|
159 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
|
160 if (value instanceof Array) { |
d001e88affde
Fixed building searchparams support empty selection in multiselect.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
375
diff
changeset
|
161 value = value.join(","); |
d001e88affde
Fixed building searchparams support empty selection in multiselect.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
375
diff
changeset
|
162 } |
d001e88affde
Fixed building searchparams support empty selection in multiselect.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
375
diff
changeset
|
163 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
|
164 } |
369
cebed9ef8293
Dynamically add configured search filters. Send needed values to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
366
diff
changeset
|
165 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
|
166 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
|
167 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
|
168 }); |
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
|
169 console.log('Store loaded'); |
25
f964a50bfe57
Restructured the application. Fixed layouts etc.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
17
diff
changeset
|
170 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
|
171 }, |
897e3100c6da
Changed logic of the Probenauswahl. Now logic works like the BFS version.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
28
diff
changeset
|
172 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
|
173 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
|
174 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
|
175 //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
|
176 // 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
|
177 // 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
|
178 //} |
147
5da0b56bf9bf
Do no hide the earch buttons and the resultlist on reset.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
139
diff
changeset
|
179 //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
|
180 //buttons.hide(); |
386
00bf2d4f3bd1
Added about dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
378
diff
changeset
|
181 }, |
00bf2d4f3bd1
Added about dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
378
diff
changeset
|
182 about: function(element, record, index) { |
00bf2d4f3bd1
Added about dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
378
diff
changeset
|
183 var info = this.getInfoStore(); |
00bf2d4f3bd1
Added about dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
378
diff
changeset
|
184 var view = Ext.widget('about', {info: info}); |
6
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
185 } |
8e79bda4d55b
Added a list to select predefined SQL Statement for the Proben list.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
186 }); |