Sort exercise collection items by position in statistics view
This commit is contained in:
@ -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'])
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user