*** jsaction.py	2009-06-18 08:16:41.000000000 +0200
--- /home/simon/.buildout/eggs/z3c.formjs-0.5.0-py2.5.egg/z3c/formjs/jsaction.py	2011-02-14 14:03:33.000000000 +0100
***************
*** 26,31 ****
--- 26,32 ----
  from z3c.form.interfaces import IField, IFieldWidget
  from z3c.form.interfaces import IFormLayer, IFormAware
  from z3c.form.interfaces import IButtonAction, IAfterWidgetUpdateEvent
+ from zope.component import queryUtility
  
  from z3c.formjs import interfaces, jsevent
  
***************
*** 201,207 ****
      # Step 1: Get the handler.
      handlers = widget.form.jshandlers.getHandlers(widget.field)
      # Step 2: Create a selector.
!     selector = WidgetSelector(widget)
      # Step 3: Make sure that the form has JS subscriptions, otherwise add
      #         it.
      if not interfaces.IHaveJSSubscriptions.providedBy(widget.form):
--- 202,213 ----
      # Step 1: Get the handler.
      handlers = widget.form.jshandlers.getHandlers(widget.field)
      # Step 2: Create a selector.
!     selector_cls = queryUtility(interfaces.IWidgetSelector)
!     if selector_cls is None:
! 	    selector = WidgetSelector(widget)
!     else:
! 	    selector = selector_cls(widget)
! 
      # Step 3: Make sure that the form has JS subscriptions, otherwise add
      #         it.
      if not interfaces.IHaveJSSubscriptions.providedBy(widget.form):
