A widget package for Dexterity projects.
Project description
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.
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.
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
Have an idea? Found a bug? Let us know by opening a support ticket.
Installation
To enable this product in a buildout-based installation:
Edit your buildout.cfg and add collective.z3cform.widgets to the list of eggs to install:
[buildout] ... eggs = collective.z3cform.widgets
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.
Changelog
Because you have to know where your towel is.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for collective.z3cform.widgets-1.0a4.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0656bd2b619e823732cbf0c349f143e1b4eaa6b3393ac3f1f22620e624b29a56 |
|
MD5 | b851ecc1c8b6fe4501d0dfaaa0d14081 |
|
BLAKE2b-256 | 6f4b11e78794987baabd8cac75e6308568568c8fbaf8285441b57d91ccccb94d |