Sort exercise collection items by position in statistics view

This commit is contained in:
Maximilian Grundke
2018-07-20 10:36:10 +02:00
parent 574116cb1d
commit d80e3ecd3b
2 changed files with 9 additions and 8 deletions

View File

@ -52,11 +52,11 @@ $(function() {
"translate(" + margin.left + "," + margin.top + ")"); "translate(" + margin.left + "," + margin.top + ")");
// Get the data // Get the data
data = Object.keys(data).map(function (key, index) { data = Object.keys(data).map(function (key) {
return { return {
index: index, index: parseInt(key),
exercise_id: parseInt(key), exercise_id: parseInt(data[key]['exercise_id']),
working_time: parseFloat(data[key]) working_time: parseFloat(data[key]['working_time'])
}; };
}); });

View File

@ -8,8 +8,8 @@ class ExerciseCollection < ActiveRecord::Base
def exercise_working_times def exercise_working_times
working_times = {} working_times = {}
exercises.each do |exercise| exercise_collection_items.each do |item|
working_times[exercise.id] = time_to_f exercise.average_working_time working_times[item.position] = {exercise_id: item.exercise.id, working_time: time_to_f(item.exercise.average_working_time)}
end end
working_times working_times
end end
@ -18,8 +18,9 @@ class ExerciseCollection < ActiveRecord::Base
if exercises.empty? if exercises.empty?
0 0
else else
values = exercise_working_times.values.reject { |v| v.nil?} values = exercise_working_times.values.reject { |o| o[:working_time].nil?}
values.reduce(:+) / exercises.size sum = values.reduce(0) {|sum, item| sum + item[:working_time]}
sum / values.size
end end
end end