From ebbdc6ae1e89f227995bb07cb83124077b955246 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sat, 11 Feb 2012 16:14:48 -0500 Subject: [PATCH] Merge reward back into habit views & templates --- .../backbone/templates/habits/habit.jst.ejs | 10 ++++-- .../backbone/templates/habits/reward.jst.ejs | 7 ---- .../views/habits/habit_view.js.coffee | 6 +++- .../views/habits/index_view.js.coffee | 12 ++++--- .../views/habits/reward_view.js.coffee | 32 ------------------- 5 files changed, 20 insertions(+), 47 deletions(-) delete mode 100644 app/assets/javascripts/backbone/templates/habits/reward.jst.ejs delete mode 100644 app/assets/javascripts/backbone/views/habits/reward_view.js.coffee diff --git a/app/assets/javascripts/backbone/templates/habits/habit.jst.ejs b/app/assets/javascripts/backbone/templates/habits/habit.jst.ejs index 8d2edfb8b8..87e8c684c4 100644 --- a/app/assets/javascripts/backbone/templates/habits/habit.jst.ejs +++ b/app/assets/javascripts/backbone/templates/habits/habit.jst.ejs @@ -2,14 +2,18 @@ <% if (habit_type==1) { %> -<% } else { %> - + +<% } else if (habit_type==4) { %> + + + +<% } else { %> /> <% } %> -<%= name %> +<%= name %><%= habit_type==4 ? "($"+score+")" : '' %>
Edit diff --git a/app/assets/javascripts/backbone/templates/habits/reward.jst.ejs b/app/assets/javascripts/backbone/templates/habits/reward.jst.ejs deleted file mode 100644 index dce520f6f8..0000000000 --- a/app/assets/javascripts/backbone/templates/habits/reward.jst.ejs +++ /dev/null @@ -1,7 +0,0 @@ - - -<%= name %> -($<%= score %>) -
- Edit -
\ No newline at end of file diff --git a/app/assets/javascripts/backbone/views/habits/habit_view.js.coffee b/app/assets/javascripts/backbone/views/habits/habit_view.js.coffee index c21765ab8f..1de04b5121 100644 --- a/app/assets/javascripts/backbone/views/habits/habit_view.js.coffee +++ b/app/assets/javascripts/backbone/views/habits/habit_view.js.coffee @@ -17,12 +17,16 @@ class HabitTracker.Views.Habits.HabitView extends Backbone.View @model.vote("up") voteDown: => - @model.vote("down") + if @model.isReward and (@model.get('score') > window.userStats.get('money')) + $('#money').effect("pulsate", 100); + else + @model.vote("down") tagName: "li" # why is @model not available in this function? having to pass it in like this dynamicClass: () => + if @model.isReward() then return "reward" output = "habit habit-type-#{@model.get('habit_type')}" if @model.get("done") then output += " done" score = @model.get("score") diff --git a/app/assets/javascripts/backbone/views/habits/index_view.js.coffee b/app/assets/javascripts/backbone/views/habits/index_view.js.coffee index 954fd447a3..6122ed7a9e 100644 --- a/app/assets/javascripts/backbone/views/habits/index_view.js.coffee +++ b/app/assets/javascripts/backbone/views/habits/index_view.js.coffee @@ -19,7 +19,13 @@ class HabitTracker.Views.Habits.IndexView extends Backbone.View if (!input.val() or e.keyCode != 13) then return # See commit bd7a49c new_view.js.coffee for more code surrounding this functionality - @options.habits.create {name: input.val(), habit_type: input.attr('data-type'), position: @options.habits.nextPosition()}, + new_habit = + name: input.val() + habit_type: input.attr('data-type') + position: @options.habits.nextPosition() + # score: ( (input.attr('data-type')=='4') ? 0.0 : 0.0 ) #TODO not working + + @options.habits.create new_habit, #TODO what's this all about? success: (habit) -> @model = habit @@ -51,9 +57,7 @@ class HabitTracker.Views.Habits.IndexView extends Backbone.View if habit.isDaily() then @$("#habits-daily").append(view.render().el) if habit.isDoneTodo() then @$("#habits-todos-done").append(view.render().el) if habit.isRemainingTodo() then @$("#habits-todos-remaining").append(view.render().el) - if habit.isReward() - view = new HabitTracker.Views.Habits.RewardView({model : habit}) - @$("#rewards").append(view.render().el) + if habit.isReward() then @$("#rewards").append(view.render().el) render: => $(@el).html(@template(habits: @options.habits.toJSON() )) diff --git a/app/assets/javascripts/backbone/views/habits/reward_view.js.coffee b/app/assets/javascripts/backbone/views/habits/reward_view.js.coffee deleted file mode 100644 index 2726c5b042..0000000000 --- a/app/assets/javascripts/backbone/views/habits/reward_view.js.coffee +++ /dev/null @@ -1,32 +0,0 @@ -HabitTracker.Views.Habits ||= {} - -class HabitTracker.Views.Habits.RewardView extends Backbone.View - template: JST["backbone/templates/habits/reward"] - - events: - "click .destroy" : "destroy" - "click .buy-link" : "voteDown" - - destroy: () -> - @model.destroy() - this.remove() - return false - - voteDown: => - if @model.get('score') > window.userStats.get('money') - $('#money').effect("pulsate", 100); - else - @model.vote("down") - - tagName: "li" - className: "reward" - - render: -> - $(@el).attr('id', "habit_#{@model.get('id')}") - $(@el).html(@template(@model.toJSON() )) - - @$(".comment").qtip content: - text: (api) -> - $(this).next().html() - - return this