Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install collective.z3cform.widgets

How to install collective.z3cform.widgets

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install collective.z3cform.widgets
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.0b9 Available View build log
1.0a2 Available View build log
Windows (64-bit)
1.0b9 Available View build log
1.0a2 Available View build log
Mac OS X (10.5+)
1.0b9 Available View build log
1.0a2 Available View build log
Linux (32-bit)
1.0b9 Available View build log
1.0b2 Available View build log
1.0a4 Available View build log
1.0a2 Available View build log
Linux (64-bit)
1.0b9 Available View build log
1.0b2 Available View build log
1.0a4 Available View build log
1.0a2 Available View build log
 
License
GPLv2
Lastest release
version 1.0b9 on May 6th, 2013

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.

If you install collective.z3cform.widgets in a Plone site it will replace every ICategorization subjects field's widget of any Dexterity-based content type with this one.

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.

SimpleRichTextWidget

A lightweight and unbloated Rich Text Editor (RTE / WYSIWYG). These parameters can be configured:

'iframe_height': height in pixels,
'format_block': 'true' or 'false',
'bold': 'true' or 'false',
'italic': 'true' or 'false',
'unordered_list': 'true' or 'false',
'link': 'true' or 'false',
'image': 'true' or 'false',
'allow_disable': 'true' or 'false'

This widget uses the jQuery RTE plugin.

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')),
    )
SimpleRichTextWidget
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

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

See also

More widgets you might like:

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
    

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

Go to the 'Site Setup' page in a Plone site and click on the 'Add-ons' link.

Check the box next to collective.z3cform.widgets and click the 'Activate' button.

Note: You may have to empty your browser cache and save your resource registries in order to see the effects of the product installation.

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
  • João S. O. Bueno

You can find an updated list of package contributors on GitHub.

Development sponsored by Open Multimedia.

There's a frood who really knows where his towel is

1.0b9 (2013-05-02)
  • Fixed problem Multicontent (type checkbox gets set to radio). [Kosi81]
1.0b8 (2013-04-24)
  • Rename upgrade step profile. Never, ever name a profile with a number as first character and never, ever work for 3 weeks in a row. [hvelarde]
1.0b7 (2013-04-19)
  • Refactor JSON view to access the catalog only when there's a query and limit the number of tokens returned to 10 (fixes #32). [hvelarde]
  • TokenInputFieldWidget now use ajax to bring the subjects. [flecox]
  • Refactor method used in upgrade step to increase its performance: we recatalog only offending objects and update only the Subjects index. [hvelarde]
  • Trim Subjects in TokenInputFieldWidget; an upgrade step for updating all offending objects in the catalog is included (fixes #33). [flecox]
  • Fixed IE8 problem with 2 simultantious checked radio buttons. [Kosi81]
1.0b6 (2013-04-09)
  • Update package documentation. [hvelarde, jpgimenez]
  • TokenInputFieldWidget now replaces subjects widget for any Dexterity-based content types on the site, but only if the package is installed. [jpgimenez]
  • Tested for compatibility with Dexterity 2.0 and Plone 4.3. [hvelarde]
  • Plone 4.1 is no longer supported (closes #25). [hvelarde]
1.0b5 (2013-03-25)
  • Remove dependency on zope.i18n as it is causing ConfigurationConflictError (issue #28). [hvelarde]
1.0b4 (2013-03-23)
  • Fix package dependencies to be Plone 4.3 compatible. [hvelarde]
  • Fix the rendered URLs of related items in the MultiContentSearchWidget in display_mode to be actual URLs, not the physical path inside Zope. [leorochael]
1.0b3 (2013-01-14)
  • Refactoring of the SimpleRichTextWidget to make it work in an AJAX call. [quimera]
  • Do not mix unicode and strings in TokenInputWiget editing (fixes #20). [jsbueno]
  • Checking if contenttree js code should be run or not. [Flecox]
  • Test compatibility with Plone 4.3. [hvelarde]
  • Add Pillow as a dependency of the package. [hvelarde]
  • Import ViewPageTemplateFile from zope.browserpage to avoid dependency on zope.app.pagetemplate. [hvelarde]
1.0b2 (2012-09-27)
  • 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.

Subscribe to package updates

Last updated May 6th, 2013

Download Stats

Last month:2

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.