From c5c8ace7aa7645b6074be5ba863eae2e01306693 Mon Sep 17 00:00:00 2001 From: Andrew Miner Date: Fri, 12 Jun 2015 14:13:15 -0700 Subject: [PATCH] Refresh UI when multiplier changes on a step --- .../minimal_recipe_controller.coffee | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/coffee/controllers/minimal_recipe_controller.coffee b/src/coffee/controllers/minimal_recipe_controller.coffee index 6d8b667ab..5bb07900d 100644 --- a/src/coffee/controllers/minimal_recipe_controller.coffee +++ b/src/coffee/controllers/minimal_recipe_controller.coffee @@ -25,7 +25,7 @@ module.exports = class MinimalRecipeController extends BaseController @imageLoader = options.imageLoader @modPack = options.modPack - @multiplier = options.multiplier ?= null + @multiplier = options.multiplier # BaseController Overrides ##################################################################### @@ -53,6 +53,25 @@ module.exports = class MinimalRecipeController extends BaseController @_refreshTools() super + # Property Methods ############################################################################# + + getMultiplier: -> + @_multiplier ?= 1 + return @_multiplier + + setMultiplier: (newMultiplier)-> + oldMultiplier = @_multiplier + return if newMultiplier is oldMultiplier + + @_multiplier = newMultiplier + @_refreshMultiplier() + + @trigger Event.change + ':multiplier', this, oldMultiplier, newMultiplier + @trigger Event.change, this + + Object.defineProperties @prototype, + multiplier: {get:@prototype.getMultiplier, set:@prototype.setMultiplier} + # Backbone.View Methods ######################################################################## events: -> @@ -62,7 +81,7 @@ module.exports = class MinimalRecipeController extends BaseController # Private Methods ############################################################################## _refreshMultiplier: -> - if @multiplier? and @multiplier > 1 + if @multiplier > 1 @$multiplier.html "x#{@multiplier}" else @$multiplier.html ''