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', {

http://lada.wald.intevation.org