[Checkins] SVN: z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/ give a chance to get an IExtJSComponent named adapter for the widget mode before querying a more general adapter, fix group implementation

Laurent Mignon Laurent.Mignon at softwareag.com
Thu Mar 5 10:41:22 EST 2009


Log message for revision 97532:
  give a chance to get an IExtJSComponent named adapter for the widget mode before querying a more general adapter, fix group implementation

Changed:
  U   z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/component.py
  U   z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/group.py
  U   z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/testing.py

-=-
Modified: z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/component.py
===================================================================
--- z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/component.py	2009-03-05 14:26:10 UTC (rev 97531)
+++ z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/component.py	2009-03-05 15:41:22 UTC (rev 97532)
@@ -264,6 +264,14 @@
 @zope.component.adapter(IWidget)
 @zope.interface.implementer(interfaces.IExtJSComponent)
 def SimpleFiedWidgetFactory(widget):
+    #first try to get one for the given mode
+    factory = zope.component.queryMultiAdapter(
+            (widget.context, widget.request, widget.form,
+            widget, widget.field),
+            interfaces.IExtJSComponent,
+            name=widget.mode)
+    if factory is not None:
+        return factory
     return zope.component.getMultiAdapter(
             (widget.context, widget.request, widget.form,
             widget, widget.field),

Modified: z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/group.py
===================================================================
--- z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/group.py	2009-03-05 14:26:10 UTC (rev 97531)
+++ z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/group.py	2009-03-05 15:41:22 UTC (rev 97532)
@@ -20,12 +20,24 @@
 import zope.interface
 from zope.i18n import translate
 from zope.security.proxy import removeSecurityProxy
+from rwproperty import setproperty, getproperty
 
 from z3c.formext import interfaces
 
 from z3c.form import group
 
 
+class ExtJSGroup(group.Group):
+
+    @getproperty
+    def scriptDependencies(self):
+        return self.parentForm.scriptDependencies
+
+    @setproperty
+    def scriptDependencies(self, value):
+        self.parentForm.scriptDependencies = value
+
+
 class ExtJSGroupForm(group.GroupForm):
     """A mix-in class for extjs add and edit forms to support groups.
 

Modified: z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/testing.py
===================================================================
--- z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/testing.py	2009-03-05 14:26:10 UTC (rev 97531)
+++ z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/testing.py	2009-03-05 15:41:22 UTC (rev 97532)
@@ -121,6 +121,7 @@
     zope.interface.classImplements(BaseForm, interfaces.IBaseForm)
     zope.component.provideAdapter(converter.ExtJSDateDataConverter)
     zope.component.provideAdapter(converter.ExtJSSingleCheckBoxDataConverter)
+    zope.component.provideAdapter(converter.SingleCheckBoxDataConverter)
 
 
 class Context(object):



More information about the Checkins mailing list