Commit 20f8437
Changed files (3)
app
app/assets/javascripts/views/new_workout_view.js.coffee
@@ -0,0 +1,13 @@
+class Stronglifters.NewWorkoutView extends Backbone.View
+ initialize: (options) ->
+ @$el.find('fieldset[name]').each (index, fieldset) ->
+ view = new Stronglifters.NewSetView
+ el: $(fieldset)
+
+class Stronglifters.NewSetView extends Backbone.View
+ events:
+ 'click .skip': 'removeSet'
+
+ removeSet: (event) ->
+ event.preventDefault()
+ @remove()
app/models/exercise.rb
@@ -2,4 +2,8 @@ class Exercise < ActiveRecord::Base
def short_name
name.gsub(/[^A-Z]/, "")
end
+
+ def slug
+ name.parameterize
+ end
end
app/views/workouts/new.html.erb
@@ -13,30 +13,39 @@
<%= f.number_field :body_weight %>
</fieldset>
<% @workout.exercise_sets.group_by(&:exercise).each do |exercise, exercise_sets| %>
- <fieldset>
- <legend><%= exercise.name %></legend>
- <% exercise_sets.each.with_index(1) do |set, index| %>
- <%= f.fields_for :exercise_sets, set do |s| %>
- <fieldset>
- <legend>Set <%= index %></legend>
- <div class="row">
- <div class="small-6 columns">
- <%= s.label :target_repetitions %>
- <%= s.number_field :target_repetitions %>
- </div>
+ <fieldset>
+ <legend><%= exercise.name %></legend>
+ <% exercise_sets.each.with_index(1) do |set, index| %>
+ <%= f.fields_for :exercise_sets, set do |s| %>
+ <fieldset name="<%= exercise.slug %>-<%= index %>">
+ <legend>Set</legend>
+ <div class="row">
+ <div class="small-6 columns">
+ <%= s.label :target_repetitions %>
+ <%= s.number_field :target_repetitions %>
+ </div>
- <div class="small-6 columns">
- <%= s.label :target_weight %>
- <%= s.number_field :target_weight %>
- </div>
+ <div class="small-6 columns">
+ <%= s.label :target_weight %>
+ <%= s.number_field :target_weight %>
</div>
- <%= s.hidden_field :exercise_id %>
- </fieldset>
- <% end %>
+ </div>
+ <p class="text-right"><a class="skip" href="#">skip</a></p>
+ <%= s.hidden_field :exercise_id %>
+ </fieldset>
<% end %>
- </fieldset>
+ <% end %>
+ </fieldset>
<% end %>
<%= f.submit "Start", class: "button round right" %>
<% end %>
</div>
</div>
+
+<script type="text/javascript" charset="utf-8">
+var ready = function() {
+ window.currentView = new Stronglifters.NewWorkoutView({ el: $('#new_workout') });
+};
+$(document).ready(ready);
+$(document).on('page:load', ready);
+</script>