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 + ")");
// Get the data
data = Object.keys(data).map(function (key, index) {
data = Object.keys(data).map(function (key) {
return {
index: index,
exercise_id: parseInt(key),
working_time: parseFloat(data[key])
index: parseInt(key),
exercise_id: parseInt(data[key]['exercise_id']),
working_time: parseFloat(data[key]['working_time'])
};
});

View File

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