[Checkins] SVN: z3c.formjs/branches/pcardune-client-notify-r87806/s
remove dependency on jquery.layer,
since it doesn't seem to be maintained very frequently.
Paul Carduner
paulcarduner at gmail.com
Sat Jul 12 19:15:22 EDT 2008
Log message for revision 88306:
remove dependency on jquery.layer, since it doesn't seem to be maintained very frequently.
Changed:
U z3c.formjs/branches/pcardune-client-notify-r87806/setup.py
U z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jqueryrenderer.py
U z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jqueryrenderer.txt
-=-
Modified: z3c.formjs/branches/pcardune-client-notify-r87806/setup.py
===================================================================
--- z3c.formjs/branches/pcardune-client-notify-r87806/setup.py 2008-07-12 22:54:12 UTC (rev 88305)
+++ z3c.formjs/branches/pcardune-client-notify-r87806/setup.py 2008-07-12 23:15:20 UTC (rev 88306)
@@ -69,7 +69,6 @@
docs = ['Sphinx', 'z3c.recipe.sphinxdoc'],
),
install_requires = [
- 'jquery.layer',
'setuptools',
'z3c.form',
'z3c.traverser',
Modified: z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jqueryrenderer.py
===================================================================
--- z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jqueryrenderer.py 2008-07-12 22:54:12 UTC (rev 88305)
+++ z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jqueryrenderer.py 2008-07-12 23:15:20 UTC (rev 88306)
@@ -20,16 +20,31 @@
import zope.interface
from zope.traversing.browser import absoluteURL
from zope.component.interfaces import IObjectEvent
+from zope.publisher.interfaces.browser import IBrowserRequest
+from zope.viewlet.viewlet import ViewletBase
-from jquery.layer import IJQueryJavaScriptBrowserLayer
-
from z3c.formjs import interfaces
+try:
+ # try to be backwards compatible.
+ from jquery.layer import IJQueryJavaScriptBrowserLayer
+ IBaseLayer = IJQueryJavaScriptBrowserLayer
+except ImportError:
+ IBaseLayer = IBrowserRequest
+class IJQueryLayer(IBaseLayer):
+ """Layer for the jquery renderers."""
+
+class JQueryViewlet(ViewletBase):
+ """A viewlet that grabs the jquery libraries from google."""
+
+ def render(self):
+ return '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>'
+
class JQueryIdSelectorRenderer(object):
zope.interface.implements(interfaces.IRenderer)
zope.component.adapts(
- interfaces.IIdSelector, IJQueryJavaScriptBrowserLayer)
+ interfaces.IIdSelector, IJQueryLayer)
def __init__(self, selector, request):
self.selector = selector
@@ -44,7 +59,7 @@
class JQueryCSSSelectorRenderer(object):
zope.interface.implements(interfaces.IRenderer)
zope.component.adapts(
- interfaces.ICSSSelector, IJQueryJavaScriptBrowserLayer)
+ interfaces.ICSSSelector, IJQueryLayer)
def __init__(self, selector, request):
self.selector = selector
@@ -59,7 +74,7 @@
class JQuerySubscriptionRenderer(object):
zope.interface.implements(interfaces.IRenderer)
zope.component.adapts(
- interfaces.IJSSubscription, IJQueryJavaScriptBrowserLayer)
+ interfaces.IJSSubscription, IJQueryLayer)
def __init__(self, subscription, request):
self.subscription = subscription
@@ -83,7 +98,7 @@
class JQuerySubscriptionsRenderer(object):
zope.interface.implements(interfaces.IRenderer)
zope.component.adapts(
- interfaces.IJSSubscriptions, IJQueryJavaScriptBrowserLayer)
+ interfaces.IJSSubscriptions, IJQueryLayer)
def __init__(self, manager, request):
self.manager = manager
@@ -103,7 +118,7 @@
class JQueryObjectEventRenderer(object):
zope.component.adapts(IObjectEvent,
- IJQueryJavaScriptBrowserLayer)
+ IJQueryLayer)
zope.interface.implements(interfaces.IRenderer)
def __init__(self, event, request):
@@ -124,7 +139,7 @@
class JQueryNotifyClientHandlerRenderer(object):
zope.component.adapts(interfaces.INotifyClientHandler,
- IJQueryJavaScriptBrowserLayer)
+ IJQueryLayer)
zope.interface.implements(interfaces.IRenderer)
def __init__(self, handler, request):
@@ -153,7 +168,7 @@
class JQueryMessageValidationScriptRenderer(object):
zope.component.adapts(
- interfaces.IMessageValidationScript, IJQueryJavaScriptBrowserLayer)
+ interfaces.IMessageValidationScript, IJQueryLayer)
zope.interface.implements(interfaces.IRenderer)
function = 'applyErrorMessage'
@@ -191,7 +206,7 @@
class JQueryWidgetSwitcherRenderer(object):
zope.component.adapts(
- interfaces.IWidgetSwitcher, IJQueryJavaScriptBrowserLayer)
+ interfaces.IWidgetSwitcher, IJQueryLayer)
zope.interface.implements(interfaces.IRenderer)
function = 'switchWidget'
@@ -226,7 +241,7 @@
class JQueryLabelWidgetSwitcherRenderer(object):
zope.component.adapts(
- interfaces.ILabelWidgetSwitcher, IJQueryJavaScriptBrowserLayer)
+ interfaces.ILabelWidgetSwitcher, IJQueryLayer)
zope.interface.implements(interfaces.IRenderer)
function = 'switchWidget'
@@ -256,7 +271,7 @@
class JQueryWidgetSaverRenderer(object):
zope.component.adapts(
- interfaces.IWidgetSaver, IJQueryJavaScriptBrowserLayer)
+ interfaces.IWidgetSaver, IJQueryLayer)
zope.interface.implements(interfaces.IRenderer)
function = 'saveWidget'
Modified: z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jqueryrenderer.txt
===================================================================
--- z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jqueryrenderer.txt 2008-07-12 22:54:12 UTC (rev 88305)
+++ z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jqueryrenderer.txt 2008-07-12 23:15:20 UTC (rev 88306)
@@ -7,7 +7,26 @@
>>> from z3c.formjs import interfaces, jqueryrenderer
+Making JQuery Available in Your Application
+-------------------------------------------
+To setup your application to use the JQuery backend, you must inherit
+from the ``IJQueryLayer``. Since all the rendered javascript expects
+that the jquery library is already loaded on the page, you must make
+it available on every page with javascript. There is a viewlet that
+loads the latest jquery library from google's infrastructure.
+
+ >>> viewlet = jqueryrenderer.JQueryViewlet(None, None, None, None)
+ >>> print viewlet.render()
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
+
+We will setup our tests so that the TestRequest provides this layer.
+
+ >>> import z3c.form.testing
+ >>> import zope.interface
+ >>> class TestRequest(z3c.form.testing.TestRequest):
+ ... zope.interface.implements(jqueryrenderer.IJQueryLayer)
+
``IdSelector`` Renderer
-----------------------
@@ -17,13 +36,8 @@
>>> from z3c.formjs import jsevent
>>> selector = jsevent.IdSelector('form-id')
- >>> from z3c.form.testing import TestRequest
>>> request = TestRequest()
- >>> from jquery.layer import IJQueryJavaScriptBrowserLayer
- >>> import zope.interface
- >>> zope.interface.alsoProvides(request, IJQueryJavaScriptBrowserLayer)
-
Let's now register the renderer:
>>> import zope.component
@@ -46,13 +60,8 @@
>>> from z3c.formjs import jsevent
>>> cssSelector = jsevent.CSSSelector('label')
- >>> from z3c.form.testing import TestRequest
>>> request = TestRequest()
- >>> from jquery.layer import IJQueryJavaScriptBrowserLayer
- >>> import zope.interface
- >>> zope.interface.alsoProvides(request, IJQueryJavaScriptBrowserLayer)
-
Let's now register the renderer:
>>> import zope.component
More information about the Checkins
mailing list