comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/ModuleSelection.java @ 6119:0b9f0d37fe6e

We have a much faster interactive image map! * Image for highlighting rivers in link list instead of CSS manipulation. * Better event handling. * No more hover delay. Some problems still exist: * Sometime when switching the module to 'MINFO' the highlighted river on the image map is not unhighlighted. * The loop to unhighlight rivers when switching modules is called for every river.
author Raimund Renkert <rrenkert@intevation.de>
date Tue, 28 May 2013 15:57:10 +0200
parents ea9eef426962
children 3ff2a4317167
comparison
equal deleted inserted replaced
6118:97d055c24ad4 6119:0b9f0d37fe6e
63 /** The ModuleService used to retrieve the available modules of a user.*/ 63 /** The ModuleService used to retrieve the available modules of a user.*/
64 protected ModuleServiceAsync moduleService = GWT.create(ModuleService.class); 64 protected ModuleServiceAsync moduleService = GWT.create(ModuleService.class);
65 65
66 private List<String> fixRivers; 66 private List<String> fixRivers;
67 private List<String> minfoRivers; 67 private List<String> minfoRivers;
68 protected Map<String, LinkItem> rivers; 68 protected Map<String, HLayout> rivers;
69 69
70 /** 70 /**
71 * The default constructor. 71 * The default constructor.
72 */ 72 */
73 public ModuleSelection() { 73 public ModuleSelection() {
177 radio.addChangeHandler(new ChangeHandler() { 177 radio.addChangeHandler(new ChangeHandler() {
178 @Override 178 @Override
179 public void onChange(ChangeEvent event) { 179 public void onChange(ChangeEvent event) {
180 String selected = (String)event.getValue(); 180 String selected = (String)event.getValue();
181 if (!rivers.isEmpty()) { 181 if (!rivers.isEmpty()) {
182 for (Map.Entry<String, LinkItem> s: rivers.entrySet()) { 182 for (Map.Entry<String, HLayout> s: rivers.entrySet()) {
183 if (selected.equals("minfo") && !minfoRivers.contains(s.getKey())) { 183 if (selected.equals("minfo") && !minfoRivers.contains(s.getKey())) {
184 s.getValue().hide(); 184 s.getValue().hide();
185 } 185 }
186 else if (selected.equals("fixanalysis") && !fixRivers.contains(s.getKey())) { 186 else if (selected.equals("fixanalysis") && !fixRivers.contains(s.getKey())) {
187 s.getValue().hide(); 187 s.getValue().hide();
188 } 188 }
189 else { 189 else {
190 s.getValue().show(); 190 s.getValue().show();
191 s.getValue().setCellStyle("formCell");
192 } 191 }
193 callUnHighlightRiver(s.getKey());
194 } 192 }
195 } 193 }
196 } 194 }
197 }); 195 });
198 196
233 Data data = new DefaultData("module", null, null, items); 231 Data data = new DefaultData("module", null, null, items);
234 232
235 return new Data[] {data}; 233 return new Data[] {data};
236 } 234 }
237 235
238 public void setRivers(Map<String, LinkItem> rivers) { 236 public void setRivers(Map<String, HLayout> rivers) {
239 this.rivers = rivers; 237 this.rivers = rivers;
240 } 238 }
241
242 private native void callUnHighlightRiver(String name) /*-{
243 $wnd.unHighlight(name);
244 }-*/;
245 } 239 }
246 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 240 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org