You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2006/05/30 23:37:35 UTC
svn commit: r410381 - in /tapestry/tapestry4/trunk/framework/src:
java/org/apache/tapestry/ java/org/apache/tapestry/dojo/
java/org/apache/tapestry/dojo/html/ java/org/apache/tapestry/html/
js/tapestry/
Author: jkuhnert
Date: Tue May 30 14:37:34 2006
New Revision: 410381
URL: http://svn.apache.org/viewvc?rev=410381&view=rev
Log:
Cleanup of event connection scripts, re-factored IO calls to global tapestry.bind call.
Modified:
tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/ComponentEvent.script
tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java
tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/dojo/html/WidgetEvent.script
tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/html/ElementEvent.script
tapestry/tapestry4/trunk/framework/src/js/tapestry/core.js
Modified: tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/ComponentEvent.script
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/ComponentEvent.script?rev=410381&r1=410380&r2=410381&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/ComponentEvent.script (original)
+++ tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/ComponentEvent.script Tue May 30 14:37:34 2006
@@ -8,15 +8,18 @@
<input-symbol key="events" required="yes" />
<body>
<unique>
- dojo.require("dojo.io");
- dojo.require("dojo.json");
dojo.require("dojo.event");
+ dojo.require("tapestry.*");
</unique>
</body>
<initialization>
<foreach expression="events" key="event">
dojo.event.connect(dojo.byId("${component.id}"), "${event}", function(e) {
- dojo.debug("Event fired");
+ var content={beventname:"${event}"};
+ tapestry.event.buildEventProperties(e, content);
+ if (!content["beventtarget.id"]) content["beventtarget.id"]="${component.id}";
+
+ tapestry.bind("${url}", content);
});
</foreach>
</initialization>
Modified: tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java?rev=410381&r1=410380&r2=410381&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java (original)
+++ tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java Tue May 30 14:37:34 2006
@@ -81,9 +81,8 @@
// logging configuration
str.append("\n<script type=\"text/javascript\">")
.append("dojo.require(\"dojo.logging.Logger\");\n")
- .append("dojo.event.connect(window, \"onload\",function(e){")
.append("dojo.log.setLevel(dojo.log.getLevel(\"").append(_browserLogLevel)
- .append("\"));});</script>");
+ .append("\"));</script>");
writer.printRaw(str.toString());
}
Modified: tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/dojo/html/WidgetEvent.script
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/dojo/html/WidgetEvent.script?rev=410381&r1=410380&r2=410381&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/dojo/html/WidgetEvent.script (original)
+++ tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/dojo/html/WidgetEvent.script Tue May 30 14:37:34 2006
@@ -8,9 +8,7 @@
<input-symbol key="events" required="yes" />
<body>
<unique>
- dojo.require("dojo.io");
dojo.require("dojo.event");
- dojo.require("dojo.widget.Manager");
dojo.require("tapestry.*");
</unique>
</body>
@@ -21,16 +19,7 @@
tapestry.event.buildEventProperties(e, content);
if (!content["beventtarget.id"]) content["beventtarget.id"]="${component.id}";
- dojo.io.bind({
- url:"${url}",
- content:content,
- headers:{"dojo-ajax-request":true},
- preventCache:true,
- load: (function(){tapestry.load.apply(this, arguments);}),
- error: (function(){tapestry.error.apply(this, arguments);}),
- mimetype: "text/xml",
- encoding: "UTF-8"
- });
+ tapestry.bind("${url}", content);
});
</foreach>
</initialization>
Modified: tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/html/ElementEvent.script
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/html/ElementEvent.script?rev=410381&r1=410380&r2=410381&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/html/ElementEvent.script (original)
+++ tapestry/tapestry4/trunk/framework/src/java/org/apache/tapestry/html/ElementEvent.script Tue May 30 14:37:34 2006
@@ -8,15 +8,18 @@
<input-symbol key="events" required="yes" />
<body>
<unique>
- dojo.require("dojo.io");
- dojo.require("dojo.json");
dojo.require("dojo.event");
+ dojo.require("tapestry.*");
</unique>
</body>
<initialization>
<foreach expression="events" key="event">
dojo.event.connect(dojo.byId("${target}"), "${event}", function(e) {
- dojo.debug("Event fired");
+ var content={beventname:"${event}"};
+ tapestry.event.buildEventProperties(e, content);
+ if (!content["beventtarget.id"]) content["beventtarget.id"]="${component.id}";
+
+ tapestry.bind("${url}", content);
});
</foreach>
</initialization>
Modified: tapestry/tapestry4/trunk/framework/src/js/tapestry/core.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/js/tapestry/core.js?rev=410381&r1=410380&r2=410381&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/js/tapestry/core.js (original)
+++ tapestry/tapestry4/trunk/framework/src/js/tapestry/core.js Tue May 30 14:37:34 2006
@@ -1,17 +1,49 @@
dojo.provide("tapestry");
dojo.provide("tapestry.core");
+
dojo.require("dojo.logging.Logger");
+dojo.require("dojo.io");
+dojo.require("dojo.event");
dojo.setModulePrefix("tapestry", "../tapestry");
tapestry={
+
version:"4.1",
+ /**
+ * Global XHR bind function for tapestry internals. The
+ * error/load functions of this same package are used to handle
+ * load/error of dojo.io.bind.
+ *
+ * @param url The url to bind the request to.
+ * @param content A properties map of optional extra content to send.
+ */
+ bind:function(url, content){
+ dojo.io.bind({
+ url:url,
+ content:content,
+ headers:{"dojo-ajax-request":true},
+ useCache:true,
+ preventCache:true,
+ load: (function(){tapestry.load.apply(this, arguments);}),
+ error: (function(){tapestry.error.apply(this, arguments);}),
+ mimetype: "text/xml",
+ encoding: "UTF-8"
+ });
+ },
+
+ /**
+ * Global error handling function for dojo.io.bind requests.
+ */
error:function(type, exception, http, kwArgs){
dojo.log.exception("Error received in IO response.", exception);
},
+ /**
+ * Global load handling function for dojo.io.bind requests.
+ */
load:function(type, data, http, kwArgs){
dojo.log.debug("Response recieved.");
}
-}
\ No newline at end of file
+}