[Checkins] SVN: z3c.formjs/trunk/src/z3c/formjs/ add viewlet manager and viewlets for dynamically generated javascript.

Paul Carduner paulcarduner at gmail.com
Tue May 13 00:51:42 EDT 2008


Log message for revision 86687:
  add viewlet manager and viewlets for dynamically generated javascript.

Changed:
  U   z3c.formjs/trunk/src/z3c/formjs/configure.zcml
  U   z3c.formjs/trunk/src/z3c/formjs/interfaces.py
  U   z3c.formjs/trunk/src/z3c/formjs/jsaction.txt

-=-
Modified: z3c.formjs/trunk/src/z3c/formjs/configure.zcml
===================================================================
--- z3c.formjs/trunk/src/z3c/formjs/configure.zcml	2008-05-13 04:02:19 UTC (rev 86686)
+++ z3c.formjs/trunk/src/z3c/formjs/configure.zcml	2008-05-13 04:51:42 UTC (rev 86687)
@@ -1,13 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configure
     xmlns="http://namespaces.zope.org/zope"
+    xmlns:browser="http://namespaces.zope.org/browser"
     i18n_domain="z3c.formjs">
 
   <!-- AJAX Traversers -->
   <adapter
       trusted="True"
       for=".interfaces.IFormTraverser
-	   zope.publisher.interfaces.browser.IBrowserRequest"
+           zope.publisher.interfaces.browser.IBrowserRequest"
       provides="zope.publisher.interfaces.browser.IBrowserPublisher"
       factory="z3c.traverser.browser.PluggableBrowserTraverser"
       permission="zope.Public"
@@ -117,6 +118,34 @@
       handler=".jsaction.createSubscriptionsForWidget"
       />
 
+  <!-- JavaScript Viewlet Manager and Viewlets -->
+
+  <browser:viewletManager
+      name="z3c.formjs.interfaces.IDynamicJavaScript"
+      provides=".interfaces.IDynamicJavaScript"
+      class="z3c.viewlet.manager.WeightOrderedViewletManager"
+      layer="z3c.form.interfaces.IFormLayer"
+      permission="zope.Public"
+      />
+
+  <browser:viewlet
+      name="z3c.formjs.subscriptions"
+      manager=".interfaces.IDynamicJavaScript"
+      view="z3c.formjs.interfaces.IHaveJSSubscriptions"
+      class="z3c.formjs.jsevent.JSSubscriptionsViewlet"
+      permission="zope.Public"
+      layer="z3c.form.interfaces.IFormLayer"
+      />
+
+  <browser:viewlet
+      name="z3c.formjs.functions"
+      manager=".interfaces.IDynamicJavaScript"
+      view="z3c.formjs.interfaces.IHaveJSFunctions"
+      class="z3c.formjs.jsfunction.JSFunctionsViewlet"
+      permission="zope.Public"
+      layer="z3c.form.interfaces.IFormLayer"
+      />
+
   <!-- Specific Javascript-backend implementations -->
 
   <include file="jqueryrenderer.zcml" />

Modified: z3c.formjs/trunk/src/z3c/formjs/interfaces.py
===================================================================
--- z3c.formjs/trunk/src/z3c/formjs/interfaces.py	2008-05-13 04:02:19 UTC (rev 86686)
+++ z3c.formjs/trunk/src/z3c/formjs/interfaces.py	2008-05-13 04:51:42 UTC (rev 86687)
@@ -18,6 +18,7 @@
 __docformat__ = "reStructuredText"
 import zope.interface
 import zope.schema
+from zope.viewlet.interfaces import IViewletManager
 
 from z3c.form.interfaces import IButton, IButtonHandler, IManager, IWidget
 from z3c.form.interfaces import ISelectionManager, IForm
@@ -143,6 +144,12 @@
         schema = IJSFunctions,
         required=True)
 
+# -----[ JavaScript Viewlet Manager ]-----------------------------------------
+
+class IDynamicJavaScript(IViewletManager):
+    """Viewlet manager for dynamically generated javascript."""
+
+
 # -----[ Widgets ]------------------------------------------------------------
 
 class IWidgetSelector(ISelector):

Modified: z3c.formjs/trunk/src/z3c/formjs/jsaction.txt
===================================================================
--- z3c.formjs/trunk/src/z3c/formjs/jsaction.txt	2008-05-13 04:02:19 UTC (rev 86686)
+++ z3c.formjs/trunk/src/z3c/formjs/jsaction.txt	2008-05-13 04:51:42 UTC (rev 86687)
@@ -107,7 +107,16 @@
     })
   </script>
 
+The z3c.formjs package provides a viewlet manager with this viewlet
+already registered for it.  The viewlet manager has the name
+``z3c.formjs.interfaces.IDynamicJavaScript`` and can be rendered in
+any template with the following:
 
+  <script tal:replace="structure
+                       provider:z3c.formjs.interfaces.IDynamicJavaScript">
+  </script>
+
+
 Forms with Javascript Buttons
 -----------------------------
 



More information about the Checkins mailing list