summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2017-03-10 22:54:53 -0700
committermo khan <mo@mokhan.ca>2017-03-10 22:54:53 -0700
commit93e0de131db5370d47a05fd32517b2147c787647 (patch)
tree3022ab139996ba1da30d037a2136ce57c5c96c27
parent6906369695e965df0f42b0f6992bac67962eb649 (diff)
add exercise_set component.
-rw-r--r--app/assets/javascripts/views/workouts/edit.js.coffee2
-rw-r--r--app/models/exercise_set.rb7
-rw-r--r--app/views/workouts/edit.html.erb27
3 files changed, 20 insertions, 16 deletions
diff --git a/app/assets/javascripts/views/workouts/edit.js.coffee b/app/assets/javascripts/views/workouts/edit.js.coffee
new file mode 100644
index 0000000..183b13e
--- /dev/null
+++ b/app/assets/javascripts/views/workouts/edit.js.coffee
@@ -0,0 +1,2 @@
+Vue.component "exercise-set",
+ props: ['set']
diff --git a/app/models/exercise_set.rb b/app/models/exercise_set.rb
index a204e97..3a0cd16 100644
--- a/app/models/exercise_set.rb
+++ b/app/models/exercise_set.rb
@@ -37,11 +37,12 @@ class ExerciseSet < ApplicationRecord
id: id,
exercise_id: exercise.id,
type: type,
- target_weight: target_weight.to_h,
- target_repetitions: target_repetitions,
- actual_repetitions: actual_repetitions,
actual_duration: actual_duration,
+ actual_repetitions: actual_repetitions,
target_duration: target_duration,
+ target_repetitions: target_repetitions,
+ target_weight: target_weight.to_s,
+ weight_per_side: weight_per_side,
}
end
end
diff --git a/app/views/workouts/edit.html.erb b/app/views/workouts/edit.html.erb
index 4e49459..77403fb 100644
--- a/app/views/workouts/edit.html.erb
+++ b/app/views/workouts/edit.html.erb
@@ -1,23 +1,32 @@
<div class="container" data-autovue="workout-view">
- <div class="columns content is-small has-text-centered" v-for="exercise in exercises">
+ <div class="columns content is-small has-text-centered" v-for="exercise in workout.exercises">
<div class="column is-12">
<h2 class="subtitle">{{ exercise.name }}</h2>
<div class="level">
- <div class="level-item has-text-centered" v-for="set in workout.sets">
+ <div class="level-item has-text-centered" v-for="set in exercise.sets">
+ <exercise-set v-bind:set="set" inline-template>
<div>
<p class="heading">
{{ set.target_repetitions }} x {{ set.target_weight }}
</p>
- <button on-click="updateProgress" class="button is-large">
- {{ set.actual_repetitions }}
- </button>
+ <button on-click="updateProgress" class="button is-large">
+ {{ set.actual_repetitions }}
+ </button>
<p> {{ set.weight_per_side }} &nbsp; </p>
</div>
+ </exercise-set>
</div>
</div>
</div>
</div>
+ <div class="columns">
+ <div class="column is-6 is-offset-3">
+ <%= link_to t(:done), workouts_path, class: 'button is-large is-fullwidth is-primary' %>
+ </div>
+ </div>
+
+ <div id="workout-view"></div>
<% @workout.exercises.primary.order_by_name.distinct.find_each do |exercise| %>
<div class="columns content is-small has-text-centered">
<div class="column is-12">
@@ -40,14 +49,6 @@
</div>
</div>
<% end %>
-
- <div class="columns">
- <div class="column is-6 is-offset-3">
- <%= link_to t(:done), workouts_path, class: 'button is-large is-fullwidth is-primary' %>
- </div>
- </div>
-
- <div id="workout-view"></div>
</div>
<% content_for :javascript do %>