[fusion-commits] r2421 - trunk/widgets

svn_fusion at osgeo.org svn_fusion at osgeo.org
Thu Aug 11 21:56:52 EDT 2011


Author: liuar
Date: 2011-08-11 18:56:52 -0700 (Thu, 11 Aug 2011)
New Revision: 2421

Modified:
   trunk/widgets/ViewOptions.js
Log:
Fix ticket #472 Values are not consistent while more than one ViewOptions widgets exists

Modified: trunk/widgets/ViewOptions.js
===================================================================
--- trunk/widgets/ViewOptions.js	2011-08-10 01:09:04 UTC (rev 2420)
+++ trunk/widgets/ViewOptions.js	2011-08-12 01:56:52 UTC (rev 2421)
@@ -39,11 +39,14 @@
     },
         
     menuItems: null,
+    
+    system: null,
 
     initializeWidget: function(widgetTag) {
         var json = widgetTag.extension;
 
         this.displayUnits = json.DisplayUnits ? json.DisplayUnits[0] : false;
+        this.paramRegister.push("Units");
         this.getMap().registerForEvent(Fusion.Event.MAP_LOADED, OpenLayers.Function.bind(this.setMapUnits, this));
         this.menuItems = {};
     },
@@ -71,9 +74,18 @@
     setMapUnits: function() {
         var units = this.displayUnits ? this.displayUnits : this.getMap().getUnits();
         this.setViewOptions(units);
-        var system = Fusion.unitSystem(Fusion.unitFromName(units));
-        if (this.menuItems[system]) {
-            this.menuItems[system].setActive(true);
+        this.system = Fusion.unitSystem(Fusion.unitFromName(units));
+        if (this.menuItems[this.system]) {
+            this.menuItems[this.system].setActive(true);
         }
+    },
+    
+    setParameter: function(param, value) {
+        if (param == 'Units' && this.system != Fusion.unitSystem(Fusion.unitFromName(value))) {
+            this.system = Fusion.unitSystem(Fusion.unitFromName(value))
+            if (this.menuItems[this.system]) {
+                this.menuItems[this.system].setActive(true);
+            }
+        }
     }
 });



More information about the fusion-commits mailing list