[Checkins] SVN: Sandbox/pcardune/zobby/src/z3c/formjs/ trying a few things with creating new widgets

Paul Carduner paulcarduner at gmail.com
Tue May 15 14:34:34 EDT 2007


Log message for revision 75774:
  trying a few things with creating new widgets

Changed:
  A   Sandbox/pcardune/zobby/src/z3c/formjs/browser/
  A   Sandbox/pcardune/zobby/src/z3c/formjs/browser/__init__.py
  A   Sandbox/pcardune/zobby/src/z3c/formjs/browser/configure.zcml
  A   Sandbox/pcardune/zobby/src/z3c/formjs/browser/form.py
  A   Sandbox/pcardune/zobby/src/z3c/formjs/browser/scripts.pt
  A   Sandbox/pcardune/zobby/src/z3c/formjs/browser/text_input_display.pt
  U   Sandbox/pcardune/zobby/src/z3c/formjs/configure.zcml
  U   Sandbox/pcardune/zobby/src/z3c/formjs/container.py
  A   Sandbox/pcardune/zobby/src/z3c/formjs/formjs.py
  A   Sandbox/pcardune/zobby/src/z3c/formjs/i18n.py
  A   Sandbox/pcardune/zobby/src/z3c/formjs/interfaces.py
  A   Sandbox/pcardune/zobby/src/z3c/formjs/javascript/formjs.js

-=-
Added: Sandbox/pcardune/zobby/src/z3c/formjs/browser/__init__.py
===================================================================
--- Sandbox/pcardune/zobby/src/z3c/formjs/browser/__init__.py	                        (rev 0)
+++ Sandbox/pcardune/zobby/src/z3c/formjs/browser/__init__.py	2007-05-15 18:34:33 UTC (rev 75774)
@@ -0,0 +1,26 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""
+$Id: __init__.py 217 2007-04-15 20:25:48Z rineichen $
+"""
+__docformat__ = "reStructuredText"
+
+from zope.viewlet.interfaces import IViewletManager
+from zope.viewlet.viewlet import JavaScriptViewlet
+
+class IFormJSJavaScript(IViewletManager):
+    """JavaScript viewlet manager."""
+
+
+FormJSJavaScriptViewlet = JavaScriptViewlet('z3c.formjs/formjs.js')


Property changes on: Sandbox/pcardune/zobby/src/z3c/formjs/browser/__init__.py
___________________________________________________________________
Name: svn:eol-style
   + native

Added: Sandbox/pcardune/zobby/src/z3c/formjs/browser/configure.zcml
===================================================================
--- Sandbox/pcardune/zobby/src/z3c/formjs/browser/configure.zcml	                        (rev 0)
+++ Sandbox/pcardune/zobby/src/z3c/formjs/browser/configure.zcml	2007-05-15 18:34:33 UTC (rev 75774)
@@ -0,0 +1,27 @@
+<configure
+    xmlns="http://namespaces.zope.org/browser"
+    xmlns:z3c="http://namespaces.zope.org/z3c"
+    i18n_domain="z3c.formjs">
+
+  <z3c:widgetTemplate
+      mode="input"
+      widget="z3c.form.interfaces.ITextWidget"
+      layer="z3c.formjs.interfaces.IFormJSLayer"
+      template="text_input_display.pt"
+      />
+
+  <z3c:pagelet
+      name="z3c.formjs.formscripts"
+      for="*"
+      class=".form.FormScripts"
+      layer="z3c.formjs.interfaces.IFormJSLayer"
+      permission="zope.Public"
+      />
+
+  <z3c:template
+      template="scripts.pt"
+      for=".form.FormScripts"
+      layer="z3c.formjs.interfaces.IFormJSLayer"
+      />
+
+</configure>
\ No newline at end of file


Property changes on: Sandbox/pcardune/zobby/src/z3c/formjs/browser/configure.zcml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: Sandbox/pcardune/zobby/src/z3c/formjs/browser/form.py
===================================================================
--- Sandbox/pcardune/zobby/src/z3c/formjs/browser/form.py	                        (rev 0)
+++ Sandbox/pcardune/zobby/src/z3c/formjs/browser/form.py	2007-05-15 18:34:33 UTC (rev 75774)
@@ -0,0 +1,11 @@
+class FormScripts(object):
+    def __init__(self, context, request):
+        self.request = request
+        self.context = context
+        
+    def __call__(self):
+        return """
+    <script type=\"text/javascript\" src=\"/@@/jsolait/jsolait.js\"></script>
+    <script type=\"text/javascript\" src=\"/@@/z3c.javascript.jquery/jquery.js\"></script>
+    <script type=\"text/javascript\" src=\"++resource++z3c.formjs/formjs.js\"></script>
+        """


Property changes on: Sandbox/pcardune/zobby/src/z3c/formjs/browser/form.py
___________________________________________________________________
Name: svn:eol-style
   + native

Added: Sandbox/pcardune/zobby/src/z3c/formjs/browser/scripts.pt
===================================================================
--- Sandbox/pcardune/zobby/src/z3c/formjs/browser/scripts.pt	                        (rev 0)
+++ Sandbox/pcardune/zobby/src/z3c/formjs/browser/scripts.pt	2007-05-15 18:34:33 UTC (rev 75774)
@@ -0,0 +1 @@
+blah
\ No newline at end of file


Property changes on: Sandbox/pcardune/zobby/src/z3c/formjs/browser/scripts.pt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: Sandbox/pcardune/zobby/src/z3c/formjs/browser/text_input_display.pt
===================================================================
--- Sandbox/pcardune/zobby/src/z3c/formjs/browser/text_input_display.pt	                        (rev 0)
+++ Sandbox/pcardune/zobby/src/z3c/formjs/browser/text_input_display.pt	2007-05-15 18:34:33 UTC (rev 75774)
@@ -0,0 +1,17 @@
+<span tal:content="view/value">Value</span>
+<input type="text" id="" name="" size="" alt="" title=""
+       tabindex="" disabled="" readonly="" accesskey="" maxlength="" value=""
+       onClick=""
+       style="display: none"
+       tal:attributes="id view/id;
+                       name view/name;
+                       title view/title;
+                       alt view/alt;
+                       tabindex view/tabindex;
+                       disabled view/disabled;
+                       readonly view/readonly;
+                       accesskey view/accesskey;
+                       maxlength view/maxlength;
+                       value view/value;
+                       size view/size;"/>
+<input type="button" value="Change" tal:attributes="onClick string:fjs_displayToEdit('${view/id}')" />
\ No newline at end of file


Property changes on: Sandbox/pcardune/zobby/src/z3c/formjs/browser/text_input_display.pt
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: Sandbox/pcardune/zobby/src/z3c/formjs/configure.zcml
===================================================================
--- Sandbox/pcardune/zobby/src/z3c/formjs/configure.zcml	2007-05-15 18:28:09 UTC (rev 75773)
+++ Sandbox/pcardune/zobby/src/z3c/formjs/configure.zcml	2007-05-15 18:34:33 UTC (rev 75774)
@@ -23,5 +23,7 @@
       class=".container.ContainerHandler"
       />
 
+  <include package=".browser" />
 
+
 </configure>
\ No newline at end of file

Modified: Sandbox/pcardune/zobby/src/z3c/formjs/container.py
===================================================================
--- Sandbox/pcardune/zobby/src/z3c/formjs/container.py	2007-05-15 18:28:09 UTC (rev 75773)
+++ Sandbox/pcardune/zobby/src/z3c/formjs/container.py	2007-05-15 18:34:33 UTC (rev 75774)
@@ -8,6 +8,7 @@
     """simple json-rpc view class for doing things with containers."""
 
     def getAttributes(self, attributes):
+        """Gets attributes for objects in a container."""
         result = []
         for key, value in self.context.items():
             data = [key,{}]

Added: Sandbox/pcardune/zobby/src/z3c/formjs/formjs.py
===================================================================
--- Sandbox/pcardune/zobby/src/z3c/formjs/formjs.py	                        (rev 0)
+++ Sandbox/pcardune/zobby/src/z3c/formjs/formjs.py	2007-05-15 18:34:33 UTC (rev 75774)
@@ -0,0 +1,40 @@
+import zope.interface
+import zope.component
+import zope.event
+import zope.lifecycleevent
+from zope.app.pagetemplate import ViewPageTemplateFile
+from zope.publisher import browser
+from zope.pagetemplate.interfaces import IPageTemplate
+from zope.schema.fieldproperty import FieldProperty
+
+from z3c.form import form
+from z3c.form import button, util
+
+from z3c.formjs import interfaces
+from z3c.formjs.i18n import MessageFactory as _
+
+class DisplayAndEditForm(form.Form):
+
+    zope.interface.implements(interfaces.IJSForm)
+
+    buttons = button.Buttons(
+        apply=button.Button(_('Apply'))
+        )
+
+    formErrorsMessage = _('There were some errors.')
+    successMessage = _('Data successfully updated.')
+    noChangesMessage = _('No changes were applied.')
+
+    @button.handler(buttons['apply'])
+    def handleApply(self, action):
+        data, errors = self.widgets.extract()
+        if errors:
+            self.status = self.formErrorsMessage
+            return
+        changed = applyChanges(self, data)
+        if changed:
+            zope.event.notify(
+                zope.lifecycleevent.ObjectModifiedEvent(self.context))
+            self.status = self.successMessage
+        else:
+            self.status = self.noChangesMessage


Property changes on: Sandbox/pcardune/zobby/src/z3c/formjs/formjs.py
___________________________________________________________________
Name: svn:eol-style
   + native

Added: Sandbox/pcardune/zobby/src/z3c/formjs/i18n.py
===================================================================
--- Sandbox/pcardune/zobby/src/z3c/formjs/i18n.py	                        (rev 0)
+++ Sandbox/pcardune/zobby/src/z3c/formjs/i18n.py	2007-05-15 18:34:33 UTC (rev 75774)
@@ -0,0 +1,22 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""I18n message factory z3c.form
+
+$Id: i18n.py 183 2007-05-02 01:09:53Z srichter $
+"""
+__docformat__ = "reStructuredText"
+
+import zope.i18nmessageid
+
+MessageFactory = zope.i18nmessageid.MessageFactory('z3c.formjs')


Property changes on: Sandbox/pcardune/zobby/src/z3c/formjs/i18n.py
___________________________________________________________________
Name: svn:eol-style
   + native

Added: Sandbox/pcardune/zobby/src/z3c/formjs/interfaces.py
===================================================================
--- Sandbox/pcardune/zobby/src/z3c/formjs/interfaces.py	                        (rev 0)
+++ Sandbox/pcardune/zobby/src/z3c/formjs/interfaces.py	2007-05-15 18:34:33 UTC (rev 75774)
@@ -0,0 +1,43 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Form and Widget Framework Interfaces
+
+$Id: interfaces.py 215 2007-05-03 19:34:42Z srichter $
+"""
+__docformat__ = "reStructuredText"
+
+import zope.interface
+import zope.schema
+import zope.configuration.fields
+from zope.interface.common import mapping
+from zope.location.interfaces import ILocation
+from zope.pagetemplate.interfaces import IPageTemplate
+from zope.publisher.interfaces.browser import IBrowserRequest
+
+from z3c.form.interfaces import IFormLayer
+from z3c.formjs.i18n import MessageFactory as _
+
+
+# ----[ Layer Declaration ]--------------------------------------------------
+
+class IFormJSLayer(IFormLayer):
+    """A layer that contains all registrations of this package.
+
+    It is intended that someone can just use this layer as a base layer when
+    using this package.
+    """
+
+
+class IJSForm(zope.interface.Interface):
+    """Marker interface to make forms use javascript widgets."""


Property changes on: Sandbox/pcardune/zobby/src/z3c/formjs/interfaces.py
___________________________________________________________________
Name: svn:eol-style
   + native

Added: Sandbox/pcardune/zobby/src/z3c/formjs/javascript/formjs.js
===================================================================
--- Sandbox/pcardune/zobby/src/z3c/formjs/javascript/formjs.js	                        (rev 0)
+++ Sandbox/pcardune/zobby/src/z3c/formjs/javascript/formjs.js	2007-05-15 18:34:33 UTC (rev 75774)
@@ -0,0 +1,14 @@
+function fjs_displayToEdit(element_id){
+  element = $(document.getElementById(element_id));
+  element.show();
+  element.prev().hide();
+  element.next().val('Save').unbind("click").click(function (){fjs_editToDisplay(element_id)});
+  element.focus();
+}
+
+function fjs_editToDisplay(element_id){
+  element = $(document.getElementById(element_id));
+  element.hide();
+  element.prev().text(element.val()).show();
+  element.next().val('Change').unbind("click").click(function (){fjs_displayToEdit(element_id)});
+}


Property changes on: Sandbox/pcardune/zobby/src/z3c/formjs/javascript/formjs.js
___________________________________________________________________
Name: svn:eol-style
   + native



More information about the Checkins mailing list