Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. import Ember from 'ember';
  2.  
  3. export default Ember.Controller.extend({
  4. appName: 'Ember Twiddle',
  5. selectedLanguages: [],
  6. queryParams: ['selectedLanguages'],
  7.  
  8. init() {
  9. this._super(...arguments);
  10. },
  11.  
  12. languages: [
  13. {
  14. code: 'en',
  15. name: 'English'
  16. },
  17. {
  18. code: 'es',
  19. name: 'Spanish'
  20. },
  21. {
  22. code: 'fr',
  23. name: 'French'
  24. },
  25. {
  26. code: 'de',
  27. name: 'German'
  28. },
  29. ],
  30.  
  31. languagesWithSelected: Ember.computed('selectedLanguages.[]', 'languages.@each.code', {
  32. get() {
  33. return this.get('languages').map(({code, name}) => ({
  34. code,
  35. name,
  36. checked: this.get('selectedLanguages').includes(code),
  37. }));
  38. }
  39. }),
  40.  
  41. actions: {
  42. toggleLanguage(language) {
  43. const selectedLanguages = this.get('selectedLanguages');
  44. const {code} = language;
  45.  
  46. if(selectedLanguages.includes(code)) {
  47. selectedLanguages.removeObject(code);
  48. } else {
  49. this.get('selectedLanguages').pushObject(code);
  50. }
  51. }
  52. }
  53. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement