Changeset 2689
- Timestamp:
- 03/09/10 11:46:50 (2 years ago)
- Location:
- molgenis4animaldb/handwritten/java/plugin/listplugin
- Files:
-
- 2 edited
-
ListPlugin.ftl (modified) (4 diffs)
-
ListPlugin.java (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
molgenis4animaldb/handwritten/java/plugin/listplugin/ListPlugin.ftl
r2658 r2689 41 41 42 42 <tr> 43 <td></td> 43 <td><div align="center"> 44 <button type="submit" onclick="ColumnInQuestion.value='-1'; __action.value='noFilterColumn';"><img src="res/img/nofunnel.jpg" alt="disable filter" /></button> 45 </div></td> 44 46 <#assign i = 0> 45 47 <#list screen.featureList as fl> … … 48 50 <input type="submit" value="-" class="minusbutton" onclick="ColumnInQuestion.value='${i}'; __action.value='remColumn';" /> 49 51 50 <button type="submit" onclick="ColumnInQuestion.value='${i}'; __action.value='noFilterColumn';"><img src="res/img/nofunnel.jpg" alt=" no funnel" /></button>52 <button type="submit" onclick="ColumnInQuestion.value='${i}'; __action.value='noFilterColumn';"><img src="res/img/nofunnel.jpg" alt="disable filter" /></button> 51 53 </div></td> 52 54 </#if> … … 77 79 78 80 <tr> 79 <td></td> 81 <td><div align="center"> 82 <select name="operator-1"> 83 <option value="=">=</option> 84 <option value="<"><</option> 85 <option value="<="><=</option> 86 <option value=">">></option> 87 <option value=">=">>=</option> 88 </select> 89 90 <input type="text" name="filtertext-1" /> 91 92 <button type="submit" onclick="ColumnInQuestion.value='-1'; __action.value='filterColumn';"><img src="res/img/funnel.jpg" alt="enable filter" /></button> 93 </div></td> 80 94 <#assign i = 0> 81 95 <#list screen.featureList as fl> 82 96 <#if screen.featureVisibilityList[i] == 1> 83 97 <td><div align="center"> 84 <select name="operator ">98 <select name="operator${i}"> 85 99 <option value="=">=</option> 100 <option value="<"><</option> 101 <option value="<="><=</option> 102 <option value=">">></option> 103 <option value=">=">>=</option> 86 104 </select> 87 105 88 106 <input type="text" name="filtertext${i}" /> 89 107 90 <button type="submit" onclick="ColumnInQuestion.value='${i}'; __action.value='filterColumn';"><img src="res/img/funnel.jpg" alt=" funnel" /></button>108 <button type="submit" onclick="ColumnInQuestion.value='${i}'; __action.value='filterColumn';"><img src="res/img/funnel.jpg" alt="enable filter" /></button> 91 109 </div></td> 92 110 </#if> … … 97 115 </table> 98 116 </div> 117 99 118 <div> 100 119 <select name="feature" id="feature" class="selectbox"> -
molgenis4animaldb/handwritten/java/plugin/listplugin/ListPlugin.java
r2671 r2689 33 33 private List<Integer> animalVisibilityList = new ArrayList<Integer>();; 34 34 private ArrayList<ArrayList<String>> valueMatrix = new ArrayList<ArrayList<String>>(); 35 private ArrayList<ArrayList<Integer>> valueVisibilityMatrix = new ArrayList<ArrayList<Integer>>(); 35 36 private boolean firstTime = true; 36 37 … … 141 142 } 142 143 } 144 145 private void recalculateAnimalVisibilityList() { 146 for (int i = 0; i < animalList.size(); i++) { 147 int vis = 1; 148 ArrayList<Integer> tmpList = valueVisibilityMatrix.get(i); 149 for (int j = 0; j < featureList.size() + 1; j++) { 150 if (tmpList.get(j) == 0) { 151 vis = 0; 152 } 153 } 154 animalVisibilityList.set(i, vis); 155 } 156 } 143 157 144 158 public void handleRequest(Database db, Tuple request) { … … 158 172 if (action.equals("filterColumn")) { 159 173 int selectedFeatureId = request.getInt("ColumnInQuestion"); 160 //String operator = request.getString("operator");174 String operatorsymbol = request.getString("operator" + selectedFeatureId); 161 175 String filtertext = request.getString("filtertext" + selectedFeatureId); 176 if (filtertext == null) { 177 filtertext = ""; 178 } 162 179 for (int i = 0; i < animalList.size(); i++) { 163 String currentValue = valueMatrix.get(i).get(selectedFeatureId); 164 if (!currentValue.equals(filtertext)) { // TO DO: allow other operators! 165 animalVisibilityList.set(i, 0); 180 String currentValue; 181 if (selectedFeatureId == -1) { 182 currentValue = animalList.get(i).getName(); 183 } else { 184 currentValue = valueMatrix.get(i).get(selectedFeatureId); 166 185 } 167 } 186 if (operatorsymbol.equals("=")) { 187 if (!currentValue.equals(filtertext)) { 188 valueVisibilityMatrix.get(i).set(selectedFeatureId + 1, 0); 189 } 190 } else { 191 int currVal = Integer.parseInt(currentValue); 192 int filterVal = Integer.parseInt(filtertext); 193 if ((operatorsymbol.equals("<") && currVal >= filterVal) || 194 (operatorsymbol.equals("<=") && currVal > filterVal) || 195 (operatorsymbol.equals(">") && currVal <= filterVal) || 196 (operatorsymbol.equals(">=") && currVal < filterVal) 197 ) { 198 valueVisibilityMatrix.get(i).set(selectedFeatureId + 1, 0); 199 } 200 } 201 } 202 recalculateAnimalVisibilityList(); 168 203 } 169 204 170 205 if (action.equals("noFilterColumn")) { 171 //int selectedFeatureId = request.getInt("ColumnInQuestion"); 172 // TO DO: remove only rows filtered out by filter on this column 206 int selectedFeatureId = request.getInt("ColumnInQuestion"); 173 207 for (int i = 0; i < animalList.size(); i++) { 174 animalVisibilityList.set(i, 1); 175 } 208 valueVisibilityMatrix.get(i).set(selectedFeatureId + 1, 1); 209 } 210 recalculateAnimalVisibilityList(); 176 211 } 177 212 … … 214 249 e.printStackTrace(); 215 250 } 216 217 // Initialize animal visibility list218 animalVisibilityList.clear();219 for (int i = 0; i < animalList.size(); i++) {220 animalVisibilityList.add(1);221 }222 251 223 252 // Populate feature list … … 229 258 } 230 259 260 // Initialize animal visibility list 261 animalVisibilityList.clear(); 262 for (int i = 0; i < animalList.size(); i++) { 263 animalVisibilityList.add(1); 264 } 265 266 // Clean value visibility matrix 267 valueVisibilityMatrix.clear(); 268 for (int i = 0; i < animalList.size(); i++) { 269 ArrayList<Integer> lineToAdd = new ArrayList<Integer>(); 270 for (int j = 0; j < featureList.size() + 1; j++) { 271 lineToAdd.add(1); 272 } 273 valueVisibilityMatrix.add(lineToAdd); 274 } 275 231 276 // Clean feature visibility list 232 277 featureVisibilityList.clear();
Note: See TracChangeset
for help on using the changeset viewer.