You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2007/05/20 23:29:39 UTC

svn commit: r539946 [3/3] - in /struts/struts2/trunk/plugins/dojo/src: main/java/org/apache/struts2/dojo/components/ main/java/org/apache/struts2/dojo/views/jsp/ui/ main/resources/org/apache/struts2/static/dojo/ main/resources/org/apache/struts2/static...

Modified: struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js (original)
+++ struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js Sun May 20 14:29:37 2007
@@ -22061,6 +22061,7 @@
   dojo.widget.HtmlWidget, {
   widgetType : "Bind",
   executeScripts : false,
+  scriptSeparation : false,
   targets : "",
   targetsArray : null,
   href : "",
@@ -22098,6 +22099,13 @@
   validate : false,
   ajaxAfterValidation : false,
   
+  //used for scripts downloading & caching
+  cacheContent : true,
+  //run script on its own scope
+  scriptSeparation : true,
+  //scope for the cript separation
+  scriptScope : null,
+   
   postCreate : function() {
     var self = this;
 
@@ -22235,14 +22243,7 @@
       if(this.executeScripts) {
         //update targets content
         var parsed = this.parse(data);
-        //eval scripts
-        if(parsed.scripts && parsed.scripts.length > 0) {
-          var scripts = "";
-          for(var i = 0; i < parsed.scripts.length; i++){
-            scripts += parsed.scripts[i];
-          }
-          (new Function('_container_', scripts+'; return this;'))(this);
-        }
+        this._executeScripts(parsed.scripts);
         this.setContent(parsed.text);
       }
       else {
@@ -22417,7 +22418,65 @@
       text: s,
       scripts: scripts
     };
-  }
+  }, 
+  
+  //from Dojo content pane
+  _executeScripts : function (scripts) {
+    var self = this;
+    var tmp = "", code = "";
+    for (var i = 0; i < scripts.length; i++) {
+        if (scripts[i].path) {
+            dojo.io.bind(this._cacheSetting({"url":scripts[i].path, "load":function (type, scriptStr) {
+                dojo.lang.hitch(self, tmp = ";" + scriptStr);
+            }, "error":function (type, error) {
+                error.text = type + " downloading remote script";
+                self._handleDefaults.call(self, error, "onExecError", "debug");
+            }, "mimetype":"text/plain", "sync":true}, this.cacheContent));
+            code += tmp;
+        } else {
+            code += scripts[i];
+        }
+    }
+    try {
+        if (this.scriptSeparation) {
+            delete this.scriptScope;
+            this.scriptScope = new (new Function("_container_", code + "; return this;"))(self);
+        } else {
+            var djg = dojo.global();
+            if (djg.execScript) {
+                djg.execScript(code);
+            } else {
+                var djd = dojo.doc();
+                var sc = djd.createElement("script");
+                sc.appendChild(djd.createTextNode(code));
+                (this.containerNode || this.domNode).appendChild(sc);
+            }
+        }
+    }
+    catch (e) {
+        e.text = "Error running scripts from content:\n" + e.description;
+        this.log(e);
+    }
+ },
+ 
+ _cacheSetting : function (bindObj, useCache) {
+    for (var x in this.bindArgs) {
+        if (dojo.lang.isUndefined(bindObj[x])) {
+            bindObj[x] = this.bindArgs[x];
+        }
+    }
+    if (dojo.lang.isUndefined(bindObj.useCache)) {
+        bindObj.useCache = useCache;
+    }
+    if (dojo.lang.isUndefined(bindObj.preventCache)) {
+        bindObj.preventCache = !useCache;
+    }
+    if (dojo.lang.isUndefined(bindObj.mimetype)) {
+        bindObj.mimetype = "text/html";
+    }
+    return bindObj;
+ }
+ 
 });
 
 
@@ -22774,7 +22833,7 @@
     },
     
     //from Dojo's ContentPane
-    //TODO: remove when fixed on Dojo
+    //TODO: remove when fixed on Dojo (WW-1869)
     splitAndFixPaths:function (s, url) {
       var titles = [], scripts = [], tmp = [];
       var match = [], requires = [], attr = [], styles = [];

Modified: struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/ajax-common.ftl
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/ajax-common.ftl?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/ajax-common.ftl (original)
+++ struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/ajax-common.ftl Sun May 20 14:29:37 2007
@@ -73,3 +73,6 @@
   <#if parameters.highlightDuration?if_exists != "">
     highlightDuration="${parameters.highlightDuration?html}"<#rt/>
   </#if>
+  <#if parameters.separateScripts?exists>
+    scriptSeparation="${parameters.separateScripts?string?html}"<#rt/>
+  </#if>

Modified: struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/bind.ftl
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/bind.ftl?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/bind.ftl (original)
+++ struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/bind.ftl Sun May 20 14:29:37 2007
@@ -70,6 +70,9 @@
 			<#else>
 			    "ajaxAfterValidation": false,    
 			</#if>
+			<#if parameters.separateScripts?exists>
+                "scriptSeparation": ${parameters.separateScripts?string?html},<#rt/>
+            </#if>
 		});
 	});
 </script>

Modified: struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/div.ftl
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/div.ftl?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/div.ftl (original)
+++ struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/div.ftl Sun May 20 14:29:37 2007
@@ -20,9 +20,6 @@
   <#if parameters.refreshOnShow?exists>
     refreshOnShow="${parameters.refreshOnShow?string?html}"<#rt/>
   </#if>
-  <#if parameters.separateScripts?exists>
-    scriptSeparation="${parameters.separateScripts?string?html}"<#rt/>
-  </#if>
   <#if parameters.preload?exists>
     preload="${parameters.preload?string?html}"<#rt/>
   </#if>

Modified: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/AnchorTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/AnchorTest.java?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/AnchorTest.java (original)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/AnchorTest.java Sun May 20 14:29:37 2007
@@ -52,6 +52,7 @@
         tag.setHighlightDuration("n");
         tag.setValidate("true");
         tag.setAjaxAfterValidation("true");
+        tag.setSeparateScripts("true");
         tag.doStartTag();
         tag.doEndTag();
 

Modified: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/BindTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/BindTest.java?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/BindTest.java (original)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/BindTest.java Sun May 20 14:29:37 2007
@@ -27,6 +27,7 @@
         tag.setHighlightColor("p");
         tag.setHighlightDuration("q");
         tag.setValidate("true");
+        tag.setSeparateScripts("true");
         tag.doStartTag();
         tag.doEndTag();
 

Modified: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/SubmitAjaxTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/SubmitAjaxTest.java?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/SubmitAjaxTest.java (original)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/dojo/views/jsp/ui/SubmitAjaxTest.java Sun May 20 14:29:37 2007
@@ -48,6 +48,7 @@
         tag.setHighlightDuration("o");
         tag.setValidate("true");
         tag.setAjaxAfterValidation("true");
+        tag.setSeparateScripts("true");
         tag.setTabindex("1");
         tag.doStartTag();
         tag.doEndTag();
@@ -77,6 +78,7 @@
         tag.setIndicator("l");
         tag.setErrorNotifyTopics("m");
         tag.setValidate("true");
+        tag.setSeparateScripts("true");
         tag.setTabindex("1");
         tag.doStartTag();
         tag.doEndTag();
@@ -107,6 +109,7 @@
         tag.setIndicator("l");
         tag.setErrorNotifyTopics("m");
         tag.setValidate("true");
+        tag.setSeparateScripts("true");
         tag.doStartTag();
         tag.doEndTag();
 

Modified: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/Bind-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/Bind-1.txt?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/Bind-1.txt (original)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/Bind-1.txt Sun May 20 14:29:37 2007
@@ -20,6 +20,7 @@
 			"highlightDuration":q,
 			"validate": true,
 			"ajaxAfterValidation":false,
+			"scriptSeparation": true,
 		});
 	});
 </script>

Modified: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/div-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/div-1.txt?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/div-1.txt (original)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/div-1.txt Sun May 20 14:29:37 2007
@@ -7,7 +7,6 @@
   startTimerListenTopics="h"
   stopTimerListenTopics="i"
   refreshOnShow="true"
-  scriptSeparation="false"
   id="mylabel"
   href="a"
   loadingText="b"
@@ -21,5 +20,6 @@
   showError="true"
   showLoading="true"
   highlightColor="o"
-  highlightDuration="p">
+  highlightDuration="p"
+  scriptSeparation="false">
 </div>

Modified: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/href-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/href-1.txt?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/href-1.txt (original)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/href-1.txt Sun May 20 14:29:37 2007
@@ -17,5 +17,6 @@
  showError="true"
  showLoading="true"
  highlightColor="m"
- highlightDuration="n">
+ highlightDuration="n"
+ scriptSeparation="true">
 </a>

Modified: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-1.txt?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-1.txt (original)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-1.txt Sun May 20 14:29:37 2007
@@ -21,4 +21,5 @@
   showLoading="true"
   highlightColor="n"
   highlightDuration="o"
+  scriptSeparation="true"
   />

Modified: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-2.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-2.txt?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-2.txt (original)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-2.txt Sun May 20 14:29:37 2007
@@ -15,5 +15,6 @@
   errorNotifyTopics="m"
   handler="h"
   indicator="l"
+  scriptSeparation="true"
   value="i"
   />

Modified: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-3.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-3.txt?view=diff&rev=539946&r1=539945&r2=539946
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-3.txt (original)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-3.txt Sun May 20 14:29:37 2007
@@ -19,4 +19,5 @@
   errorNotifyTopics="m"
   handler="h"
   indicator="l"
+  scriptSeparation="true"
   />