[fusion-commits] r1925 - in trunk: lib widgets

svn_fusion at osgeo.org svn_fusion at osgeo.org
Thu Oct 1 10:34:37 EDT 2009


Author: madair
Date: 2009-10-01 10:34:36 -0400 (Thu, 01 Oct 2009)
New Revision: 1925

Modified:
   trunk/lib/jxlib.uncompressed.js
   trunk/widgets/TaskPane.js
Log:
closes #195, closes #235: fixed some issues with loading of TaskPane and keeping track of current task; also requires an update bugfix in JxLib

Modified: trunk/lib/jxlib.uncompressed.js
===================================================================
--- trunk/lib/jxlib.uncompressed.js	2009-09-30 21:03:20 UTC (rev 1924)
+++ trunk/lib/jxlib.uncompressed.js	2009-10-01 14:34:36 UTC (rev 1925)
@@ -4920,7 +4920,7 @@
 
 (function(){
   
-var special = ['À','à','Á','á','Â','â','Ã','ã','Ä','ä','Å','å','Ă','ă','Ą','ą','Ć','ć','Č','č','Ç','ç', 'Ď','ď','Đ','đ', 'È','è','É','é','Ê','ê','Ë','ë','Ě','ě','Ę','ę', 'Ğ','ğ','Ì','ì','Í','í','Î','î','Ï','ï', 'Ĺ','ĺ','Ľ','ľ','Ł','ł', 'Ñ','ñ','Ň','ň','Ń','ń','Ò','ò','Ó','ó','Ô','ô','Õ','õ','Ö','ö','Ø','ø','ő','Ř','ř','Ŕ','ŕ','Š','š','Ş','ş','Ś','ś', 'Ť','ť','Ť','ť','Ţ','ţ','Ù','ù','Ú','ú','Û','û','Ü','ü','Ů','ů', 'Ÿ','ÿ','ý','Ý','Ž','ž','Ź','ź','Ż','ż', 'Þ','þ','Ð','ð','ß','Œ','œ','Æ','æ','µ'];
+var special = ['À','à','�','á','Â','â','Ã','ã','Ä','ä','Å','å','Ă','ă','Ą','ą','Ć','ć','Č','�','Ç','ç', 'Ď','�','�','đ', 'È','è','É','é','Ê','ê','Ë','ë','Ě','ě','Ę','ę', 'Ğ','ğ','Ì','ì','�','í','Î','î','�','ï', 'Ĺ','ĺ','Ľ','ľ','�','ł', 'Ñ','ñ','Ň','ň','Ń','ń','Ò','ò','Ó','ó','Ô','ô','Õ','õ','Ö','ö','Ø','ø','ő','Ř','ř','Ŕ','ŕ','Š','š','Ş','ş','Ś','ś', 'Ť','ť','Ť','ť','Ţ','ţ','Ù','ù','Ú','ú','Û','û','Ü','ü','Ů','ů', 'Ÿ','ÿ','ý','�','Ž','ž','Ź','ź','Ż','ż', 'Þ','þ','�','ð','ß','Œ','œ','Æ','æ','µ'];
 
 var standard = ['A','a','A','a','A','a','A','a','Ae','ae','A','a','A','a','A','a','C','c','C','c','C','c','D','d','D','d', 'E','e','E','e','E','e','E','e','E','e','E','e','G','g','I','i','I','i','I','i','I','i','L','l','L','l','L','l', 'N','n','N','n','N','n', 'O','o','O','o','O','o','O','o','Oe','oe','O','o','o', 'R','r','R','r', 'S','s','S','s','S','s','T','t','T','t','T','t', 'U','u','U','u','U','u','Ue','ue','U','u','Y','y','Y','y','Z','z','Z','z','Z','z','TH','th','DH','dh','ss','OE','oe','AE','ae','u'];
 
@@ -4980,7 +4980,7 @@
 		MIT-style license.
 
 	Authors:
-		Sebastian Markbåge, Aaron Newton, Lennart Pilon, Valerio Proietti
+		Sebastian Markbåge, Aaron Newton, Lennart Pilon, Valerio Proietti
 */
 String.implement({
 
@@ -5021,7 +5021,7 @@
 		MIT-style license.
 
 	Authors:
-		Sebastian Markbåge, Aaron Newton
+		Sebastian Markbåge, Aaron Newton
 */
 
 var URI = new Class({
@@ -5167,7 +5167,7 @@
 		MIT-style license.
 
 	Authors:
-		Sebastian Markbåge
+		Sebastian Markbåge
 */
 
 URI = Class.refactor(URI, {
@@ -12844,8 +12844,9 @@
         if (this.options.enabled) {
             if (this.options.toggle) {
                 this.setActive(!this.options.active);
+            } else {
+                this.fireEvent('click', this);
             }
-            this.fireEvent('click', this);
             if (this.owner && this.owner.deactivate) {
                 this.owner.deactivate(obj.event);
             }

Modified: trunk/widgets/TaskPane.js
===================================================================
--- trunk/widgets/TaskPane.js	2009-09-30 21:03:20 UTC (rev 1924)
+++ trunk/widgets/TaskPane.js	2009-10-01 14:34:36 UTC (rev 1925)
@@ -32,7 +32,7 @@
 
 Fusion.Widget.TaskPane = OpenLayers.Class(Fusion.Widget, {
     aExecutedTasks: null,   //array of URLs for tasks execcuted in the TaskPane
-    nCurrentTask: 0,
+    nCurrentTask: -1,
     nTasks: 0,
     
     initializeWidget: function(widgetTag){
@@ -126,7 +126,7 @@
         this.oTaskPane.domObj.resize();
         
         Fusion.registerForEvent(Fusion.Event.FUSION_INITIALIZED, OpenLayers.Function.bind(this.setTaskMenu, this));
-        this.getMap().registerForEvent(Fusion.Event.MAP_LOADED, OpenLayers.Function.bind(this.setContent, this, initialTask));
+        this.getMap().registerForEvent(Fusion.Event.MAP_LOADED, OpenLayers.Function.bind(this.setInitialContent, this, initialTask));
     },
     
     updateButtons: function() {
@@ -136,30 +136,55 @@
     
     gotoPrevTask: function() {
         this.nCurrentTask = this.nCurrentTask>0 ? --this.nCurrentTask : 0;
-        this.iframe.src = this.aExecutedTasks[this.nCurrentTask];
-        this.updateButtons();
+        var url = this.aExecutedTasks[this.nCurrentTask];
+        this.loadFrame(url);
     },
 
     gotoNextTask: function() {
         this.nCurrentTask = this.nCurrentTask<this.aExecutedTasks.length-1 ? 
                           ++this.nCurrentTask : this.aExecutedTasks.length-1;
-        this.iframe.src = this.aExecutedTasks[this.nCurrentTask];
-        this.updateButtons();
+        var url = this.aExecutedTasks[this.nCurrentTask];
+        this.loadFrame(url);
     },
 
     goHome: function() {
         this.nCurrentTask = 0;
-        this.iframe.src = this.aExecutedTasks[this.nCurrentTask];
-        this.updateButtons();
+        var url = this.aExecutedTasks[this.nCurrentTask];
+        this.loadFrame(url);
     },
 
+    setInitialContent: function(url) {
+        this.aExecutedTasks = [];
+        this.nCurrentTask = 0;
+        this.setContent(url);
+    },
+
     setContent: function(url) {
-        if (this.nCurrentTask < this.aExecutedTasks.length) {
-            this.aExecutedTasks.splice(this.nCurrentTask, this.aExecutedTasks.length - this.nCurrentTask);
+        if (this.nCurrentTask < this.aExecutedTasks.length-1) {
+            //this.aExecutedTasks.splice(this.nCurrentTask, this.aExecutedTasks.length - this.nCurrentTask);
         }
         
-        this.aExecutedTasks.push(url);
+        //add in some common parameters if they aren't supplied already
+        var baseUrl = url.split("?");
+        var params = OpenLayers.Util.getParameters(url);
+        var mapLayers = this.getMap().getAllMaps();
+        if (!params["LOCALE"] && !params["locale"]) {
+          params["locale"] = Fusion.locale;
+        }
+        if (!params["SESSION"] && !params["session"]) {
+          params["session"] = mapLayers[0].getSessionID();
+        }
+        if (!params["MAPNAME"] && !params["mapname"]) {
+          params["mapname"] = mapLayers[0].getMapName();
+        }
+        var newUrl = baseUrl[0] + "?" + OpenLayers.Util.getParameterString(params);
+        
+        this.aExecutedTasks.push(newUrl);
         ++this.nCurrentTask;
+        this.loadFrame(url);
+    },
+    
+    loadFrame: function(url) {
         this.iframe.src = url;
         this.iframe.taskPaneId = this.widgetTag.name;
         this.updateButtons();
@@ -170,7 +195,7 @@
      * have been created.
      *
      */
-    setTaskMenu : function() {
+    setTaskMenu: function() {
         if (this.menuName) {
             var container = this.getMap().widgetSet.getContainerByName(this.menuName);
             if (container) {



More information about the fusion-commits mailing list