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"
/>