Mercurial > lada > lada-client
comparison app/controller/Filter.js @ 734:2d482dfaa41a 2.0-beta1
Update list on search and reset filter values on reset button click.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 17 Apr 2015 15:17:24 +0200 |
parents | 74cc7f086d83 |
children | 6e28ebbe1a73 |
comparison
equal
deleted
inserted
replaced
733:a8389baaf4af | 734:2d482dfaa41a |
---|---|
19 ], | 19 ], |
20 | 20 |
21 stores: [ | 21 stores: [ |
22 'ProbenList' // List of found Proben | 22 'ProbenList' // List of found Proben |
23 ], | 23 ], |
24 | |
25 displayFields: null, | |
24 | 26 |
25 init: function() { | 27 init: function() { |
26 this.control({ | 28 this.control({ |
27 // CSS like selector to select element in the viewport. See | 29 // CSS like selector to select element in the viewport. See |
28 // ComponentQuery documentation for more details. | 30 // ComponentQuery documentation for more details. |
50 * Function called when the user selects a SQL query in the dropdownlist. | 52 * Function called when the user selects a SQL query in the dropdownlist. |
51 * The function will hide/display additional element related to the | 53 * The function will hide/display additional element related to the |
52 * selected search query | 54 * selected search query |
53 */ | 55 */ |
54 selectSql: function(element, record) { | 56 selectSql: function(element, record) { |
55 var resultGrid = element.up('panel[name=main]').down('filterresultgrid'); | |
56 var filters = element.up('panel[name=main]').down('fieldset[name=filtervariables]'); | 57 var filters = element.up('panel[name=main]').down('fieldset[name=filtervariables]'); |
57 var columns = element.up('fieldset').down('displayfield[name=columns]'); | 58 var columns = element.up('fieldset').down('displayfield[name=columns]'); |
58 var desc = element.up('fieldset').down('displayfield[name=description]'); | 59 var desc = element.up('fieldset').down('displayfield[name=description]'); |
59 var displayFields = record[0].data.results; | 60 this.displayFields = record[0].data.results; |
60 var filterFields = record[0].data.filters; | 61 var filterFields = record[0].data.filters; |
61 | 62 |
62 this.reset(); | 63 this.reset(element); |
63 | 64 |
64 var columnString = []; | 65 var columnString = []; |
65 for (var i = 0; i < displayFields.length; i++) { | 66 for (var i = 0; i < this.displayFields.length; i++) { |
66 columnString.push(displayFields[i].header); | 67 columnString.push(this.displayFields[i].header); |
67 } | 68 } |
68 columns.setValue(columnString.join(', ')); | 69 columns.setValue(columnString.join(', ')); |
69 desc.setValue(record[0].data.description); | 70 desc.setValue(record[0].data.description); |
70 | 71 |
71 // Setup Columns of the probenlist | 72 // Setup Columns of the probenlist |
72 displayFields.reverse(); | 73 this.displayFields.reverse(); |
73 resultGrid.setupColumns(displayFields); | |
74 | 74 |
75 // Setup Filters of the probenlist | 75 // Setup Filters of the probenlist |
76 // | 76 // |
77 // Allowed types are | 77 // Allowed types are |
78 // * text | 78 // * text |
181 * Function is called when the user clicks the search button. The function | 181 * Function is called when the user clicks the search button. The function |
182 * will perform a search to the server on refreshes the result list. | 182 * will perform a search to the server on refreshes the result list. |
183 */ | 183 */ |
184 search: function(element) { | 184 search: function(element) { |
185 var resultGrid = element.up('panel[name=main]').down('filterresultgrid'); | 185 var resultGrid = element.up('panel[name=main]').down('filterresultgrid'); |
186 resultGrid.setupColumns(this.displayFields); | |
186 var filters = element.up('panel[name=main]').down('fieldset[name=filtervariables]'); | 187 var filters = element.up('panel[name=main]').down('fieldset[name=filtervariables]'); |
187 var search = element.up('fieldset').down('combobox[name=filter]'); | 188 var search = element.up('fieldset').down('combobox[name=filter]'); |
188 | 189 |
189 // Get search parameters: | 190 // Get search parameters: |
190 var searchParams = {}; | 191 var searchParams = {}; |
200 resultGrid.getStore().proxy.extraParams = searchParams; | 201 resultGrid.getStore().proxy.extraParams = searchParams; |
201 resultGrid.getStore().load(); | 202 resultGrid.getStore().load(); |
202 resultGrid.show(); | 203 resultGrid.show(); |
203 }, | 204 }, |
204 | 205 |
205 reset: function() { | 206 reset: function(element) { |
206 // var buttons = Ext.getCmp('SearchBtnPanel'); | 207 var filters = element.up('panel[name=main]').down('fieldset[name=filtervariables]'); |
207 // var result = Ext.getCmp('result'); | 208 for (var i = filters.items.length - 1; i >= 0; i--) { |
208 // for (var i = 0; i < queries.length; ++i) { | 209 var filter = filters.items.items[i]; |
209 // var toHide = Ext.getCmp(queries[i]); | 210 filter.clearValue(); |
210 // toHide.hide(); | 211 } |
211 // } | |
212 // result.hide(); | |
213 // buttons.hide(); | |
214 }, | 212 }, |
215 | 213 |
216 about: function() { | 214 about: function() { |
217 var info = this.getInfoStore(); | 215 var info = this.getInfoStore(); |
218 Ext.widget('about', { | 216 Ext.widget('about', { |