As I didn't like available extensions, I've extended Ext.field.Select widget and added the multiselect feature. Works as a single or multi select field.
It can easily extend Ext.field.Text if to take the missing code from Ext.field.Select and add it to Ux.field.Multiselect.
Without using it, what happens when someone is on a phone and the developer wants to use an array of values?
If you are about 'tablets only'... I've made the extension for project which small screens weren't on the requirements list. As soon as I find some free time will take a look to phones too.
and the developer wants to use an array of values?
Fixed....where I'm using it has no default value, being lazy and not tested with it, needed one code line which have deleted from the extended component.
Took a fast look and seems that on each item's element is attached a button, which at first impression is used only to show the check/uncheck state, IMO is too much, it makes list's DOM bigger but for what....hope I might be wrong....will take a dipper look this days.
And probably the select/cancel button is an optional not useful step for the user, at least if to use it in the app I'm working at, but for others could be useful....
Yeah you're right, every list row has a button. I'm not sure how much this slows the component down, but for really long lists it's definitly a problem, good point!
The buttons in the bottom toolbar are optional and are passed to the component as items of the actionsToolbar.