diff flys-client/src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java @ 519:77234b1d009c

ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps. flys-client/trunk@1998 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 24 May 2011 16:22:34 +0000
parents e3565f58b0ae
children f8f8982e2d5c
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java	Tue May 24 11:22:05 2011 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java	Tue May 24 16:22:34 2011 +0000
@@ -126,12 +126,21 @@
 
             LinkedHashMap<String, String> it = new LinkedHashMap<String, String>();
 
-            boolean firstItem = true;
+            boolean  defaultSet = false;
+            boolean  first      = true;
+
+            DataItem def      = d.getDefault();
+            String   defValue = def != null ? def.getStringValue() : null;
+
+            if (defValue != null && defValue.length() > 0) {
+                initial.put(d.getLabel(), def.getStringValue());
+                defaultSet = true;
+            }
 
             for (DataItem item: d.getItems()) {
-                if (firstItem) {
+                if (!defaultSet && first) {
                     initial.put(d.getLabel(), item.getStringValue());
-                    firstItem = false;
+                    first = false;
                 }
 
                 it.put(item.getStringValue(), item.getLabel());

http://dive4elements.wald.intevation.org