Proper reward processing & updating user-stats on vote save
This commit is contained in:
@@ -8,15 +8,15 @@ class HabitTracker.Views.Habits.HabitView extends Backbone.View
|
||||
"click .vote-up" : "voteUp"
|
||||
"click .vote-down" : "voteDown"
|
||||
|
||||
destroy: () ->
|
||||
destroy: () =>
|
||||
@model.destroy()
|
||||
this.remove()
|
||||
return false
|
||||
|
||||
voteUp: ->
|
||||
voteUp: =>
|
||||
@model.vote("up")
|
||||
|
||||
voteDown: ->
|
||||
voteDown: =>
|
||||
@model.vote("down")
|
||||
|
||||
tagName: "li"
|
||||
|
||||
@@ -11,9 +11,10 @@ class HabitTracker.Views.Habits.IndexView extends Backbone.View
|
||||
# TODO create a view & template, bind to existing element
|
||||
updateStats: () =>
|
||||
stats = window.userStats
|
||||
@$('#tnl').html( "(Level #{stats.get('lvl')}) #{Math.round(stats.get('exp'))} / #{stats.tnl()}" )
|
||||
@$( "#progressbar" ).progressbar value: stats.get('exp')/stats.tnl() * 100
|
||||
$('#tnl').html( "(Level #{stats.get('lvl')}) #{Math.round(stats.get('exp'))} / #{stats.tnl()}" )
|
||||
$( "#progressbar" ).progressbar value: stats.get('exp')/stats.tnl() * 100
|
||||
|
||||
# TODO for some reason this has to be @$, but above has to be $
|
||||
money = stats.get('money').toFixed(1).split('.')
|
||||
@$('#money').html("#{money[0]} <img src='assets/coin_single_gold.png'/> #{money[1]} <img src='assets/coin_single_silver.png'/>")
|
||||
|
||||
@@ -26,6 +27,9 @@ 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)
|
||||
|
||||
render: =>
|
||||
$(@el).html(@template(habits: @options.habits.toJSON() ))
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
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
|
||||
Reference in New Issue
Block a user