ListBuilder is an enhanced version of TwinColSelect - offers item ordering and more!
ListBuilder is an evolutionary enhancement of TwinColSelect (and is more or less based on it). I have myself needed this kind of component in a few client projects so I decided to write it under the Apache 2.0 license so others may use it too.
Main enhancements: • Item order preserved! • Prettier buttons (with icons). • Button state is updated based on what is selected. • Fixes a few bugs from TwinColSelect which may result into simultaneously selected rows in both columns. • Allow adding style names to left and right column captions.
Drawbacks: • You need to use the getOrderedValue() method to fetch the selected items in correct order; getValue() will return the selections as a Set similarly to TwinColSelect.
This version is released to enable using ListSelect with the Vaadin 7 compatibility packages provided by Vaadin 8. This allows you to migrate from V7 to V8 with minimal effort. Styling has also been updated to use flex layouting instead of calculated sizes.