Commit e2c6d40

mo khan <mo@mokhan.ca>
2016-06-05 02:56:07
render workout page from json.
1 parent 7347c01
Changed files (4)
app/assets/javascripts/models/training_session.js.coffee
@@ -0,0 +1,3 @@
+class Stronglifters.TrainingSession extends Backbone.Model
+  initialize: ->
+    console.log('hello')
app/assets/javascripts/templates/training_session_view.ractive
@@ -1,64 +1,24 @@
 <div class="row">
+  {{#each exercises}}
   <div class="panel small-12 columns">
     <div class="row">
       <div class="small-6 columns">
-        Squat
+        {{name}}
       </div>
       <div class="small-6 columns">
-        3x5 270lb
+        <p class="text-right">
+        {{sets}}x{{repetitions}} {{target_weight}}lb
+        </p>
       </div>
     </div>
-    <div class="row">
-      <div class="small-12 columns">
-        <button class="button small round success">5</button>
-        <button class="button small round success">5</button>
-        <button class="button small round success">5</button>
-        <button class="button small round alert">4</button>
-        <button class="button small round secondary">5</button>
-      </div>
-    </div>
-  </div>
-</div>
-
-<div class="row">
-  <div class="panel small-12 columns">
-    <div class="row">
-      <div class="small-6 columns">
-        Bench Press
-      </div>
-      <div class="small-6 columns">
-        5x5 180lb
-      </div>
-    </div>
-    <div class="row">
-      <div class="small-12 columns">
-        <button class="button small round">5</button>
-        <button class="button small round">5</button>
-        <button class="button small round">5</button>
-        <button class="button small round">5</button>
-        <button class="button small round">5</button>
-      </div>
-    </div>
-  </div>
-</div>
 
-<div class="row">
-  <div class="panel small-12 columns">
-    <div class="row">
-      <div class="small-6 columns">
-        Barbell Row
-      </div>
-      <div class="small-6 columns">
-        3x5 160lb
-      </div>
-    </div>
     <div class="row">
       <div class="small-12 columns">
-        <button class="button small round">5</button>
-        <button class="button small round">5</button>
-        <button class="button small round">5</button>
+      {{#each completed_sets}}
+        <button class="button small round secondary">{{.}}</button>
+      {{/each}}
       </div>
     </div>
   </div>
+  {{/each}}
 </div>
-
app/views/training_sessions/_edit.json.jbuilder
@@ -0,0 +1,14 @@
+json.id training_session.id
+json.body_weight training_session.body_weight
+json.workout do
+  json.name training_session.workout.name
+end
+json.exercises training_session.workout.exercise_workouts do |exercise|
+  json.name exercise.name
+  json.sets exercise.sets
+  json.completed_sets training_session.progress_for(exercise).try(:sets) || exercise.sets.times.map { |x| 0 }
+  json.repetitions exercise.repetitions
+  json.target_weight current_user.next_weight_for(exercise.exercise)
+end
+json.count training_session.exercise_sessions.count
+
app/views/training_sessions/edit.html.erb
@@ -7,8 +7,10 @@
 
 
 <script type="text/javascript" charset="utf-8">
-new Stronglifters.TrainingSessionView({
+var json = <%= raw render partial: 'edit.json.jbuilder', locals: { training_session: @training_session } %>;
+var model = new Stronglifters.TrainingSession(json);
+window.currentView = new Stronglifters.TrainingSessionView({
   el: 'training-session-view',
-  data: { }
+  data: json
 })
 </script>