Mercurial > lada > lada-client
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; |