The default widget for zope.schema.List (see screenshot) is a major usability fail since is has to reload the page upon add/removing values and after the reload it does not jump back to the original position of the field..
Are there any drop-in replacements for this widget that work completely client-side?
Sounds like the clone pattern is a replacement for this.
I've made a pull request which adds the Patternslib patterns to version control in Products.CMFPlone but Nathan is a bit wary of adding all Patternslib patterns. However, I think we should increasingly start using those patterns where it makes sense and make it easy for people to use them simply by adding registry entries (without having to muck about on file system).
Your comments on the pull request are welcome.
Unfortunately this project is on Plone 4.3 and will stay there for now.
Yeah, so not a drop-in replacement, but you could override the z3cform widget to render the pattern's markup and to marshal and save the submitted request data for that field. Then also just add a custom patterns bundle with only that pattern into portal_jsregistry.
Bundle can be downloaded from the patternslib website.