skip to navigation
skip to content

Not Logged In

collective.z3cform.widgets 1.0b2

A widget package for Dexterity projects.

Latest Version: 1.0b9

Life, the Universe, and Everything

A widget package for Dexterity projects.

collective.z3cform.widgets provides the following widgets:

EnhancedTextLinesFieldWidget

This widget is an ajaxified version of the TextLinesFieldWidget that will allow creation, sort, update and deletion of text lines; degrades to <textarea> if JavaScript is not enabled.

https://github.com/collective/collective.z3cform.widgets/raw/master/enhancedtextlines.png

This widget uses the jQuery TaskPlease plugin.

TokenInputFieldWidget

TokenInputFieldWidget allows your users to select multiple items from a predefined list, using autocompletion as they type to find each item. You may have seen a similar type of text entry when filling in the recipients field sending messages on Facebook. This widget will degrade to <textarea> if JavaScript is not enabled.

https://github.com/collective/collective.z3cform.widgets/raw/master/tokeninput.png

This widget uses the jQuery Tokeninput plugin.

MultiContentSearchFieldWidget

A widget to add a dynamic list of objects. This works as a widget for related items field so it must be used like this.

relatedItems = RelationList(
    title=_(u'label_related_items', default=u'Related Items'),
    default=[],
    value_type=RelationChoice(title=u"Related",
                  source=ObjPathSourceBinder(portal_type='Document')),
    required=False,
    )
form.widget(relatedItems=MultiContentSearchFieldWidget)

The parameters passed to the ObjPathSourceBinder class are used to filter the search of elements to relate to. If no parameters are passed, a tree structure is shown in the widget.

Don't Panic

New fields

EnhancedTextLinesFieldWidget

To use this widget we must use a List field or a Tuple field with the value_type as an schema.TextLine() like this:

from collective.z3cform.widgets.enhancedtextlines import EnhancedTextLinesFieldWidget

form.widget(options = EnhancedTextLinesFieldWidget)
options = schema.Tuple(
    title=_(u"Options"),
    value_type=schema.TextLine(),
    missing_value=(),
    )
TokenInputFieldWidget

To use this Widget we must use a List field or a Tuple field with the value_type as a schema.TextLine() like this:

from collective.z3cform.widgets.token_input_widget import TokenInputFieldWidget

form.widget(subjects=TokenInputFieldWidget)
subjects = schema.List(
    title=_(u"Categories"),
    value_type=schema.TextLine(),
    default=[],
    )
MultiContentSearchFieldWidget

The parameters passed to the ObjPathSourceBinder class are used to filter the search of elements to relate to.. if none parameter are passed, a tree structure is shown in the widget:

from collective.z3cform.widgets.multicontent_search_widget import MultiContentSearchFieldWidget

form.widget(relatedItems=MultiContentSearchFieldWidget)
relatedItems = RelationList(
    title=_(u"Related Items"),
    default=[],
    value_type=RelationChoice(title=u"Related",
        source=ObjPathSourceBinder(portal_type='Document')),
    )

Override existing fields

EnhancedTextLinesFieldWidget
TBA
TokenInputFieldWidget

To override an existing field put the following code in the __init__.py of your package:

from plone.autoform.interfaces import WIDGETS_KEY
from plone.directives.form.schema import TEMP_KEY
from plone.app.dexterity.behaviors.metadata import ICategorization
from zope import schema as _schema

_directives_values = ICategorization.queryTaggedValue(TEMP_KEY)
_directives_values.setdefault(WIDGETS_KEY, {})
widget = 'collective.z3cform.widgets.token_input_widget.TokenInputFieldWidget'
_directives_values[WIDGETS_KEY]['subjects'] = widget
_schema.getFields(ICategorization)['subjects'].index_name = 'Categories'
MultiContentSearchFieldWidget
TBA

Future widgets

The following widgets will be available in this package in the near future:

  • widget to select an option from a list; this widget will degrade to <select> if JavaScript is not enabled.
  • widget to select multiple options from a list; this widget will degrade to <select> if JavaScript is not enabled.

This widgets will probably use the Chosen plugin.

Browsers supported

All modern browsers should be supported (Mozilla Firefox 3.0+, Google Chrome 7.0+, Apple Safari 4.0+, Opera 10.0+ and Microsoft Internet Explorer 9.0+).

Mostly Harmless

https://secure.travis-ci.org/collective/collective.z3cform.widgets.png

Have an idea? Found a bug? Let us know by opening a support ticket.

Installation

To enable this product in a buildout-based installation:

  1. Edit your buildout.cfg and add collective.z3cform.widgets to the list of eggs to install:

    [buildout]
    ...
    eggs =
        collective.z3cform.widgets
    
  2. You may need to extend a Dexterity known good set (KGS) to make sure that you get the right versions of the packages that make up Dexterity:

    [buildout]
    ...
    extends =
        http://good-py.appspot.com/release/dexterity/1.2.1
    

After updating the configuration you need to run ''bin/buildout'', which will take care of updating your system.

Share and Enjoy

collective.z3cform.widgets would not have been possible without the contribution of the following people:

  • Franco Pellegrini
  • Gonzalo Almeida
  • Silvestre Huens
  • Héctor Velarde
  • Cleber J Santos

Development sponsored by Open Multimedia.

Changelog

Because you have to know where your towel is.

1.0b2 (2012-09-27)

  • Import ViewPageTemplateFile from zope.browserpage to avoid dependency on zope.app.pagetemplate. [hvelarde]
  • New field and widget included which uses the rte-light editor [frapell]

1.0b1 (2012-09-16)

  • Added Dutch translation. [kingel]
  • Correction in tasks layout. [quimera]
  • Spinners for the related widget so you know is working. [frapell]

1.0a4 (2012-09-04)

  • Spanish translation was updated; Brazilian Portuguese translation was added. [hvelarde]
  • Resources are only loaded for logged in users. [quimera]
  • Ordered search catalog in MultiContentSearchFieldWidget. [flecox]
  • Infinite Scroll in MultiContentSearchFieldWidget (fixes #10). [flecox]
  • Fix bug when searching with no results in MultiContentSearchFieldWidget. [flecox]
  • Updating taskplease library in EnhancedTextLinesFieldWidget (fixes #13). [flecox]

1.0a3 (2012-06-15)

  • Updated package documentation. [hvelarde]
  • Fixing style in EnhancedTextLinesFieldWidget and TokenInputFieldWidget. [flecox]
  • TasksWidget was renamed to EnhancedTextLinesFieldWidget (fixes #7). [hvelarde]
  • Changing the name of RelatedContentWidget to MultiContentSearchFieldWidget. [flecox]

1.0a2 (2012-05-18)

  • Updated package documentation. [hvelarde]
  • Changing the name of KeywordWidget to a better name TokenInputFieldWidget. [flecox]
  • Now you can add a token just by pressing Enter. [flecox]

1.0a1 (2012-05-04)

  • Initial release.
 
File Type Py Version Uploaded on Size
collective.z3cform.widgets-1.0b2.zip (md5) Source 2012-09-27 89KB
  • Downloads (All Versions):
  • 19 downloads in the last day
  • 346 downloads in the last week
  • 1395 downloads in the last month