import { computed } from '@ember/object' import Component from '@ember/component'; const WeekGoalTotalCompletionRateComponent = Component.extend({ tagName: '', goals: [], completed: computed('goals', 'goals.@each.goal', 'goals.@each.done', function() { let me = this; return me.get('goal') > 0 && me.get('goal') == me.get('done'); }), goal: computed('goals.@each.goal', function() { return this.get('goals').map(it => it.goal).reduce((pv, g) => pv + parseInt(g), 0); }), done: computed('goals.@each.done', function() { return this.get('goals').map(it => it.done).reduce((pv, g) => pv + parseInt(g), 0); }), totalRate: computed('goal', 'done', function() { let me = this; let goal = me.get('goal'); let done = me.get('done'); let result = ((done * 1.0 / goal * 1.0) * 100).toFixed(2); return result > 0 ? (result + '%').replace(/\.00%$/g, '%') : 0; }) }); WeekGoalTotalCompletionRateComponent.reopenClass({ positionalParams: ['goals'], }); export default WeekGoalTotalCompletionRateComponent;