Skip to content

Instantly share code, notes, and snippets.

@poteto
Created February 4, 2015 09:49
Show Gist options
  • Save poteto/37a32fa0978d5286f4a3 to your computer and use it in GitHub Desktop.
Save poteto/37a32fa0978d5286f4a3 to your computer and use it in GitHub Desktop.
import Ember from 'ember';
var { computed, get } = Ember;
export default Ember.ArrayController.extend({
selectedUsers : Ember.A([]),
remainingUsers : computed.setDiff('model', 'selectedUsers'),
remainingUsersLength : computed.alias('remainingUsers.length'),
actions: {
addUser(userId) {
var selectedUsers = get(this, 'selectedUsers');
var user = get(this, 'model').findBy('id', parseInt(userId));
if (!selectedUsers.contains(user)) {
return selectedUsers.pushObject(user);
}
},
addAllUsers() {
var remainingUsers = get(this, 'remainingUsers')
return get(this, 'selectedUsers').pushObjects(remainingUsers);
},
removeUser(user) {
return get(this, 'selectedUsers').removeObject(user);
},
removeAllUsers() {
return get(this, 'selectedUsers').clear();
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment