A formlib list widget that uses Javascript
Project description
z3c.listjs
z3c.listjs contains a widget called ListJsWidget that is a drop-in replacement for the zope.app.form.browser.ListSequenceWidget. It allows users to add and remove list items without the need for server interaction, using Javascript.
Note: This package only works with zope.formlib (zope.app.form) and is not compatible with z3c.form.
You can use ListJsWidget for any schema.List field using the normal zope.formlib custom widget pattern:
from z3c.listjs import ListJsWidget ... form_fields['foo'].custom_widget = ListJsWidget
With the right ZCML override it should also be possible to automatically use this widget in all cases ListSequenceWidget would normally be used. Documentation contributions are welcome!
Should you wish to override the CSS for the buttons, the CSS classes are up_button and down_button. If you are using hurry.resource for your overriding CSS, your resource should depend on z3c.listjs.listjs_css so that ordering is correct to make the override happen.
CHANGES
1.0b1 (2009-06-04)
Javascript in <script> blocks and onclick handlers are also renumbered so that references to the element id in question are updated. This won’t be reliable in the (assumed to uncommon) case where a widget id is referenced within the HTML that is not the field of the widget being rendered.
If TinyMCE is installed, care is taken to disconnect TinyMCE editors before moving. Reconnection of the moved editors is assumed to take place in the included HTML for the new element, using something like:
tinyMCE.execCommand('mceAddControl', false, 'id_of_element');
A few small bugfixes:
prefix is passed along to update_numbers
attr is a local as it should be.
getElementsByClassName actually filters by class name.
1.0a4 (2008-02-04)
Really fixed up/down arrow for added items.
1.0a3 (2009-02-03)
Fix bug where up/down arrows didn’t appear for newly added items.
1.0a2 (2009-01-23)
Allow moving individual list items up and down in the list.
1.0a1 (2009-01-08)
Initial public release.
Download
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.