[Checkins] SVN: megrok.z3cform.wizard/trunk/s added resources for jquery navigation based on hurry.jquery

Christian Klinger cklinger at novareto.de
Thu Mar 18 10:17:35 EDT 2010


Log message for revision 110054:
  added resources for jquery navigation based on hurry.jquery

Changed:
  U   megrok.z3cform.wizard/trunk/setup.py
  U   megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/__init__.py
  U   megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/configure.zcml
  U   megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/ftesting.zcml
  A   megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/resource.py
  A   megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/tests/test_resource.py
  A   megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/wizard/
  A   megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/wizard/z3cwizard.js

-=-
Modified: megrok.z3cform.wizard/trunk/setup.py
===================================================================
--- megrok.z3cform.wizard/trunk/setup.py	2010-03-18 09:39:27 UTC (rev 110053)
+++ megrok.z3cform.wizard/trunk/setup.py	2010-03-18 14:17:34 UTC (rev 110054)
@@ -32,6 +32,9 @@
           'zope.app.zcmlfiles',
 	  'megrok.z3cform.base',
           'megrok.z3cform.ui',
+          'hurry.jquery',
+          'megrok.resource',
+          'zope.testbrowser',
       ],
       entry_points="""
       # -*- Entry points: -*-

Modified: megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/__init__.py
===================================================================
--- megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/__init__.py	2010-03-18 09:39:27 UTC (rev 110053)
+++ megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/__init__.py	2010-03-18 14:17:34 UTC (rev 110054)
@@ -1,2 +1,3 @@
+from resource import z3cWizard
 from z3c.wizard.interfaces import IWizard
 from components import WizardForm, Step, PageStep

Modified: megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/configure.zcml
===================================================================
--- megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/configure.zcml	2010-03-18 09:39:27 UTC (rev 110053)
+++ megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/configure.zcml	2010-03-18 14:17:34 UTC (rev 110054)
@@ -10,8 +10,10 @@
   <include package="megrok.z3cform.base" />
 
   <include package="megrok.z3cform.ui" />
-  <include package="z3c.wizard"/>
+  <include package="z3c.wizard" />
+  <include package="megrok.resource" />
 
   <grok:grok package=".meta" />
+  <grok:grok package=".resource" />
 
 </configure>

Modified: megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/ftesting.zcml
===================================================================
--- megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/ftesting.zcml	2010-03-18 09:39:27 UTC (rev 110053)
+++ megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/ftesting.zcml	2010-03-18 14:17:34 UTC (rev 110054)
@@ -10,7 +10,7 @@
   <include package="grokcore.view" file="meta.zcml"/>
   <include package="megrok.z3cform.base" file="default_form_layer.zcml"/>
   <include package="megrok.z3cform.wizard" />
-  
+
   <grok:grok package="megrok.z3cform.wizard.tests" />
 
   <securityPolicy

Added: megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/resource.py
===================================================================
--- megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/resource.py	                        (rev 0)
+++ megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/resource.py	2010-03-18 14:17:34 UTC (rev 110054)
@@ -0,0 +1,13 @@
+# -*- coding: utf-8 -*-
+
+from megrok import resource
+from hurry.jquery import jquery
+
+
+class z3cWizardLib(resource.Library):
+    resource.name('ajaxwizard')
+    resource.path('wizard')
+
+z3cWizard = resource.ResourceInclusion(
+    z3cWizardLib, 'z3c.js', depends=[jquery])
+

Added: megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/tests/test_resource.py
===================================================================
--- megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/tests/test_resource.py	                        (rev 0)
+++ megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/tests/test_resource.py	2010-03-18 14:17:34 UTC (rev 110054)
@@ -0,0 +1,41 @@
+"""
+Let's import and init the necessary work environment::
+
+  >>> import grokcore.component as grok
+  >>> from zope.testbrowser.testing import Browser
+
+  >>> browser = Browser()
+  >>> browser.handleErrors = False
+
+  >>> browser.open('http://localhost/@@wizardresource')
+  >>> print browser.contents
+  <html><head>
+    <script ... src="http://localhost/@@/jquery/jquery-1.4.2.js"></script>
+    <script ... src="http://localhost/@@/++noop++.../ajaxwizard/z3c.js"></script>
+  </head>...</html>
+
+"""
+
+import grokcore.view as grok
+
+from megrok.z3cform.wizard import z3cWizard 
+from zope.interface import Interface
+
+
+class WizardResource(grok.View):
+    grok.context(Interface)
+
+    def update(self):
+        z3cWizard.need()
+
+    def render(self):
+        return "<html><head> </head></html>"
+
+
+def test_suite():
+    from zope.testing import doctest
+    from megrok.z3cform.wizard.tests import FunctionalLayer
+    suite = doctest.DocTestSuite(
+          optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS)
+    suite.layer = FunctionalLayer
+    return suite

Added: megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/wizard/z3cwizard.js
===================================================================
--- megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/wizard/z3cwizard.js	                        (rev 0)
+++ megrok.z3cform.wizard/trunk/src/megrok/z3cform/wizard/wizard/z3cwizard.js	2010-03-18 14:17:34 UTC (rev 110054)
@@ -0,0 +1,38 @@
+// (c) Souheil Chelfouh for Novareto
+
+$(document).ready(function() {
+
+   jQuery.fn.flash = function(opacity, cycle, duration) {
+      for(current=0; current < cycle; current++) {
+        this.animate( { opacity: opacity }, duration / 2 );
+        this.animate( { opacity: '1' }, duration / 2 );
+      }
+    }
+
+  $('form input[type=submit]').live("click", function(e) {
+      clicked = "&" + $(this).attr('name') + "=" + $(this).attr('value');
+
+      dataString = $('form').serialize() + clicked;
+      success = false;
+      errors = null;
+      $.ajax({
+          type: $('form').attr('method'),
+          url: $('form').attr('action'),
+          data: dataString,
+          async: false,
+          complete: function(data, text) {
+              var html = $(data.responseText).find('#inner-page').html();
+
+              $("#inner-page").fadeOut("slow", function(){
+                  $("#inner-page").html(html);
+              });
+
+              $("#inner-page").fadeIn("slow", function(){
+                  $("form input[type=submit]").flash(0.4, 2, 500);
+              });
+          }
+      });
+      return false;
+  });
+
+});



More information about the checkins mailing list