[Checkins] SVN: z3c.formjs/trunk/src/z3c/formjs/ merging from my
sandbox. I will no longer use my sandbox anymore.
Paul Carduner
paulcarduner at gmail.com
Thu Jul 5 11:45:22 EDT 2007
Log message for revision 77469:
merging from my sandbox. I will no longer use my sandbox anymore.
Changed:
U z3c.formjs/trunk/src/z3c/formjs/browser/button_input.pt
U z3c.formjs/trunk/src/z3c/formjs/configure.zcml
U z3c.formjs/trunk/src/z3c/formjs/jsbutton.py
U z3c.formjs/trunk/src/z3c/formjs/jsbutton.txt
U z3c.formjs/trunk/src/z3c/formjs/tests.py
-=-
Modified: z3c.formjs/trunk/src/z3c/formjs/browser/button_input.pt
===================================================================
--- z3c.formjs/trunk/src/z3c/formjs/browser/button_input.pt 2007-07-05 15:36:52 UTC (rev 77468)
+++ z3c.formjs/trunk/src/z3c/formjs/browser/button_input.pt 2007-07-05 15:45:22 UTC (rev 77469)
@@ -5,7 +5,4 @@
class view/css;
value view/value;
accesskey view/accesskey;
- " />
-<script type="text/javascript"
- tal:content="view/eventHandler">
-</script>
\ No newline at end of file
+ " />
\ No newline at end of file
Modified: z3c.formjs/trunk/src/z3c/formjs/configure.zcml
===================================================================
--- z3c.formjs/trunk/src/z3c/formjs/configure.zcml 2007-07-05 15:36:52 UTC (rev 77468)
+++ z3c.formjs/trunk/src/z3c/formjs/configure.zcml 2007-07-05 15:45:22 UTC (rev 77469)
@@ -1,5 +1,6 @@
<configure
xmlns="http://namespaces.zope.org/zope"
+ xmlns:browser="http://namespaces.zope.org/zope"
i18n_domain="z3c.formjs">
<!-- Action Managers and Handlers -->
@@ -20,6 +21,34 @@
factory=".jsevent.JSFormEventsRenderer"
/>
+ <!-- JavaScript Validation -->
+ <adapter
+ factory=".jsvalidator.JQueryMessageValidationRenderer"
+ />
+
+ <browser:view
+ for=".interfaces.IAJAXValidator"
+ type="zope.publisher.interfaces.http.IHTTPRequest"
+ provides="zope.publisher.interfaces.http.IHTTPPublisher"
+ factory="z3c.traverser.traverser.PluggableTraverser"
+ permission="zope.Public"
+ />
+
+ <browser:view
+ for=".interfaces.IAJAXValidator"
+ type="zope.publisher.interfaces.browser.IBrowserRequest"
+ provides="zope.publisher.interfaces.browser.IBrowserPublisher"
+ factory="z3c.traverser.browser.PluggableBrowserTraverser"
+ permission="zope.Public"
+ />
+
+ <subscriber
+ for=".interfaces.IAJAXValidator
+ zope.publisher.interfaces.IPublisherRequest"
+ provides="z3c.traverser.interfaces.ITraverserPlugin"
+ factory=".jsvalidator.ValidateTraverser"
+ />
+
<!-- Widget Factory -->
<adapter
factory=".jswidget.JSEventsWidget"
Modified: z3c.formjs/trunk/src/z3c/formjs/jsbutton.py
===================================================================
--- z3c.formjs/trunk/src/z3c/formjs/jsbutton.py 2007-07-05 15:36:52 UTC (rev 77468)
+++ z3c.formjs/trunk/src/z3c/formjs/jsbutton.py 2007-07-05 15:45:22 UTC (rev 77469)
@@ -77,12 +77,3 @@
@property
def id(self):
return self.name.replace('.', '-')
-
- def eventHandler(self):
- actions = self.__parent__
- handler = actions.form.jshandlers.getHandler(self.field)
- if handler is None:
- return
- renderer = zope.component.getMultiAdapter((handler.event, self.request),
- interfaces.IJSEventRenderer)
- return renderer.render(handler, self.id, self.__parent__.form)
Modified: z3c.formjs/trunk/src/z3c/formjs/jsbutton.txt
===================================================================
--- z3c.formjs/trunk/src/z3c/formjs/jsbutton.txt 2007-07-05 15:36:52 UTC (rev 77468)
+++ z3c.formjs/trunk/src/z3c/formjs/jsbutton.txt 2007-07-05 15:45:22 UTC (rev 77469)
@@ -28,11 +28,9 @@
z3c.form. The difference comes with the actions. We will create a
form that provides these buttons with javascript actions.
- >>> from z3c.form import button
+ >>> from z3c.form import button, form
>>> from z3c.form import interfaces
- >>> class Form(object):
- ... zope.interface.implements(
- ... interfaces.IButtonForm, interfaces.IHandlerForm)
+ >>> class Form(form.AddForm):
... buttons = button.Buttons(IButtons)
... prefix = 'form'
...
@@ -55,13 +53,13 @@
that we first need a request and a form instance:
>>> request = TestRequest()
- >>> form = Form()
+ >>> addform = Form(None, request)
Action managers are instantiated using the form, request, and
context/content. A special button-action-manager implementation is avaialble
in the ``z3c.form.button`` package:
- >>> actions = button.ButtonActions(form, request, None)
+ >>> actions = button.ButtonActions(addform, request, None)
>>> actions.update()
Once the action manager is updated, the buttons should be available as
@@ -106,10 +104,19 @@
<input type="button" id="form-buttons-apply"
name="form.buttons.apply" class="buttonWidget"
value="Apply" />
- <script type="text/javascript">$("#form-buttons-apply").bind("click", function(){alert("You Clicked the Apply Button!");});</script>
>>> print actions['cancel'].render()
<input type="button" id="form-buttons-cancel"
name="form.buttons.cancel" class="buttonWidget"
value="Cancel" />
- <script type="text/javascript">$("#form-buttons-cancel").bind("dblclick", function(){alert("You Double Clicked the Cancel Button!");});</script>
+
+Another way to render the events is completely separate from the
+buttons themselves.
+
+ >>> request = TestRequest()
+ >>> addform = Form(None, request)
+ >>> addform.update()
+ >>> zope.component.provideAdapter(jsevent.JSFormEventsRenderer)
+ >>> print jsinterfaces.IJSFormEventsRenderer(addform).render()
+ $("#form-buttons-apply").bind("click", function(){alert("You Clicked the Apply Button!");});
+ $("#form-buttons-cancel").bind("dblclick", function(){alert("You Double Clicked the Cancel Button!");});
Modified: z3c.formjs/trunk/src/z3c/formjs/tests.py
===================================================================
--- z3c.formjs/trunk/src/z3c/formjs/tests.py 2007-07-05 15:36:52 UTC (rev 77468)
+++ z3c.formjs/trunk/src/z3c/formjs/tests.py 2007-07-05 15:45:22 UTC (rev 77469)
@@ -16,6 +16,11 @@
optionflags=zope.testing.doctest.NORMALIZE_WHITESPACE |
zope.testing.doctest.ELLIPSIS),
zope.testing.doctest.DocFileSuite(
+ 'jsvalidator.txt',
+ setUp=testing.setUp, tearDown=testing.tearDown,
+ optionflags=zope.testing.doctest.NORMALIZE_WHITESPACE |
+ zope.testing.doctest.ELLIPSIS),
+ zope.testing.doctest.DocFileSuite(
'jsbutton.txt',
setUp=testing.setUp, tearDown=testing.tearDown,
optionflags=zope.testing.doctest.NORMALIZE_WHITESPACE |
More information about the Checkins
mailing list