[Checkins] SVN: Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/ added path adapter to allow access to jsevents from page template.

Paul Carduner paulcarduner at gmail.com
Fri Jun 29 00:21:03 EDT 2007


Log message for revision 77205:
  added path adapter to allow access to jsevents from page template.

Changed:
  U   Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/configure.zcml
  U   Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/jsevent.py
  U   Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/jsevent.txt

-=-
Modified: Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/configure.zcml
===================================================================
--- Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/configure.zcml	2007-06-29 04:15:02 UTC (rev 77204)
+++ Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/configure.zcml	2007-06-29 04:21:02 UTC (rev 77205)
@@ -25,6 +25,19 @@
       factory=".jswidget.JSEventsWidget"
       />
 
+  <!-- Path adapter -->
+  <class class="z3c.formjs.jsevent.JSEventPath">
+    <allow interface="zope.traversing.interfaces.ITraversable" />
+  </class>
+
+  <adapter
+      for="z3c.form.interfaces.IForm"
+      name="jsevents"
+      provides="zope.traversing.interfaces.IPathAdapter"
+      factory="z3c.formjs.jsevent.JSEventPath"
+      trusted="True"
+      />
+
   <!-- JavaScript Event Utitilities -->
   <utility
       provides="z3c.formjs.interfaces.IJSEvent"

Modified: Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/jsevent.py
===================================================================
--- Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/jsevent.py	2007-06-29 04:15:02 UTC (rev 77204)
+++ Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/jsevent.py	2007-06-29 04:21:02 UTC (rev 77205)
@@ -22,6 +22,7 @@
 from zope.interface import implements
 import zope.component
 from zope.publisher.interfaces.browser import IBrowserRequest
+from zope.traversing.interfaces import IPathAdapter, ITraversable
 from z3c.form import util, button
 from z3c.form.interfaces import IForm
 from jquery.layer import IJQueryJavaScriptBrowserLayer
@@ -186,3 +187,16 @@
         jshandlers.addHandler(button, handler)
         return handler
     return createHandler
+
+
+class JSEventPath(object):
+
+    zope.component.adapts(None)
+    zope.interface.implements(IPathAdapter, ITraversable)
+
+    def __init__(self, context):
+        self.context = context
+
+    def traverse(self, name, furtherPath=[]):
+        if name == 'renderer':
+            return interfaces.IJSFormEventsRenderer(self.context)

Modified: Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/jsevent.txt
===================================================================
--- Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/jsevent.txt	2007-06-29 04:15:02 UTC (rev 77204)
+++ Sandbox/pcardune/z3cFormJS/trunk/src/z3c/formjs/jsevent.txt	2007-06-29 04:21:02 UTC (rev 77205)
@@ -268,4 +268,4 @@
   >>> zope.component.provideAdapter(jsevent.JSFormEventsRenderer)
   >>> print jsinterfaces.IJSFormEventsRenderer(edit).render()
   $("#form-widgets-gender").bind("change", function(){alert("The Gender was Changed!");});
-  $("#form-widgets-age").bind("click", function(){alert("The Age was Clicked!");});
+  $("#form-widgets-age").bind("click", function(){alert("The Age was Clicked!");});
\ No newline at end of file



More information about the Checkins mailing list