Mutliselect drop-downs are somewhat of a pain. It’s always nice when things are simple and discrete. But, the world is not simple and discrete. Life isn’t simple and discrete.
I find myself many times in need of a good, general purpose multiselect dropdown with checkboxes. There are many options for multiselect, like select2, but for some reason having discrete checkboxes is generally overlooked. This is where rolling my own came into play.
EDIT: Be sure to check out the updated info. for this directive. https://blog.long2know.com/2016/05/angular-multiselect-dropdown-updated/