comparison app/controller/Filter.js @ 979:c6ae0aadb634 stammdatengrids

tidied up
author Dustin Demuth <dustin@intevation.de>
date Thu, 03 Dec 2015 09:58:36 +0100
parents 3c770fc7cf19
children 2c394e72ba41
comparison
equal deleted inserted replaced
978:7f5219b8e1bf 979:c6ae0aadb634
62 * content remains of the same type and Stammdaten, were columns are fixed but the type might 62 * content remains of the same type and Stammdaten, were columns are fixed but the type might
63 * vary between orte, kategorien, ... 63 * vary between orte, kategorien, ...
64 */ 64 */
65 selectSql: function(element, record) { 65 selectSql: function(element, record) {
66 var filters = element.up('panel[name=main]').down('fieldset[name=filtervariables]'); 66 var filters = element.up('panel[name=main]').down('fieldset[name=filtervariables]');
67 var columns = element.up('fieldset').down('displayfield[name=columns]'); 67
68 // Set "Filter Auswahl" Description
68 var desc = element.up('fieldset').down('displayfield[name=description]'); 69 var desc = element.up('fieldset').down('displayfield[name=description]');
70 desc.setValue(record[0].data.description);
71
69 this.displayFields = record[0].data.results; 72 this.displayFields = record[0].data.results;
70 var filterFields = record[0].data.filters; 73 var filterFields = record[0].data.filters;
71 var contentPanel = element.up('panel[name=main]').down('panel[name=contentpanel]'); 74 var contentPanel = element.up('panel[name=main]').down('panel[name=contentpanel]');
72 var queryType = record[0].get('type'); //The type of the query, might be proben, messprogramme, 75 var queryType = record[0].get('type'); //The type of the query, might be proben, messprogramme,
73 // or a stammdatendtype 76 // or a stammdatendtype
74 77
75 this.reset(element); 78 this.reset(element);
76 79
77 contentPanel.removeAll(); 80 contentPanel.removeAll(); //clear the panel: make space for new grids
81
82 // Set "Filter Auswahl" Columns
83 var columns = element.up('fieldset').down('displayfield[name=columns]');
84 var columnString = [];
85 for (var i = 0; i < this.displayFields.length; i++) {
86 columnString.push(this.displayFields[i].header);
87 }
88 columns.setValue(columnString.join(', '));
89
90 // Setup Columns
91 if (this.displayFields) {
92 this.displayFields.reverse();
93 }
78 94
79 /// THIS IS INTERMEDIARY CODE AND CAN BE REMOVED WHEN TYPES ARE SENT FOR PROBEN AND MESSPROGRAMME 95 /// THIS IS INTERMEDIARY CODE AND CAN BE REMOVED WHEN TYPES ARE SENT FOR PROBEN AND MESSPROGRAMME
80 console.log('remove this intermediary code...'); 96 console.log('remove this intermediary code...');
81 var modes = element.up('panel[name=main]').down('radiogroup').getChecked(); 97 var modes = element.up('panel[name=main]').down('radiogroup').getChecked();
82 queryType = (queryType) ? queryType : modes[0].inputValue; 98 queryType = (queryType) ? queryType : modes[0].inputValue;
83 /// END OF INTERMEDIARY CODE 99 /// END OF INTERMEDIARY CODE
84 100
85 101
86 if (queryType == 'proben' || queryType == 'messprogramme') { 102 if (queryType == 'proben' || queryType == 'messprogramme') {
103 // Dynamic Grids
104 // We need to set both grid and Store.
87 var frgrid; // The Resultgrid 105 var frgrid; // The Resultgrid
88 var gridstore; // The Store which will be used in the resultgrid. 106 var gridstore; // The Store which will be used in the resultgrid.
89 107
90 switch (queryType) { 108 switch (queryType) {
91 case 'proben': 109 case 'proben':
96 gridstore = Ext.create('Lada.store.MessprogrammeList'); 114 gridstore = Ext.create('Lada.store.MessprogrammeList');
97 frgrid = Ext.create('Lada.view.grid.MessprogrammeList'); 115 frgrid = Ext.create('Lada.view.grid.MessprogrammeList');
98 break; 116 break;
99 } 117 }
100 118
101 var columnString = [];
102 for (var i = 0; i < this.displayFields.length; i++) {
103 columnString.push(this.displayFields[i].header);
104 }
105 columns.setValue(columnString.join(', '));
106 desc.setValue(record[0].data.description);
107
108 // Setup Columns
109 if (this.displayFields) {
110 this.displayFields.reverse();
111 }
112
113 if (gridstore) { 119 if (gridstore) {
114 frgrid.setStore(gridstore); 120 frgrid.setStore(gridstore);
115 } 121 }
116 122
117 contentPanel.add(frgrid); 123 contentPanel.add(frgrid);
118 } 124 }
119 else { 125 else {
120 // Grids which are not build with dynamic columns 126 // Grids which are not build with dynamic columns
127 // The store is configured in each grid, hence we only need to set the
128 // grid
121 var resultGrid; 129 var resultGrid;
122 switch (queryType) { 130 switch (queryType) {
123 case 'MessprogrammKategorie': 131 case 'MessprogrammKategorie':
124 resultGrid = Ext.create('Lada.view.grid.MessprogrammKategorie'); 132 resultGrid = Ext.create('Lada.view.grid.MessprogrammKategorie');
125 break; 133 break;

http://lada.wald.intevation.org