Guest User

Untitled

a guest
Oct 20th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. import Ember from 'ember';
  2. import EmberObject, { computed, get } from '@ember/object';
  3.  
  4. export DateLogs = Ember.Object.extend({
  5. model: null,
  6.  
  7. foodLogs: computed('model.foodLogs', function() {
  8. return get(this, 'model.foodLogs')
  9. }),
  10.  
  11. foodLogLength: computed('foodLogs.[]', function() {
  12. return get(this, 'foodLogs.length');
  13. })
  14. });
  15.  
  16. export default Ember.Controller.extend({
  17. appName: 'Ember Twiddle',
  18.  
  19. dateLogs: computed(function() {
  20. return Ember.A([
  21. EmberObject.create({
  22. foodLogs: Ember.A([])
  23. }),
  24.  
  25. EmberObject.create({
  26. foodLogs: Ember.A([])
  27. })
  28. ]);
  29. }),
  30.  
  31. foodLogs: computed(function() {
  32. const dateLogs = get(this, 'dateLogs');
  33. let obj = EmberObject.create({
  34. dateLogs: dateLogs.map((dateLog) => {
  35. return DateLogs.create({ dateLog });
  36. }),
  37.  
  38. foodLogsLength: computed('dateLogs.@each.foodLogLength', function() {
  39. return get(this, 'dateLogs').mapBy('foodLogLength').reduce((acc, len) => {
  40. return acc + len;
  41. }, 0)
  42. })
  43. })
  44.  
  45. return obj;
  46. }),
  47.  
  48. foodLogs2: computed('foodLogs.[]', function() {
  49. return get(this, 'foodLogs');
  50. }),
  51.  
  52. actions: {
  53. insert(foodLogs) {
  54. foodLogs.pushObject(1);
  55. },
  56.  
  57. pop(foodLogs) {
  58. foodLogs.popObject();
  59. }
  60. }
  61. });
Add Comment
Please, Sign In to add comment