From 2c7797207332c21c59f389a262d679886e580d98 Mon Sep 17 00:00:00 2001 From: Andrew Miner Date: Mon, 25 Apr 2016 21:54:28 -0700 Subject: [PATCH] Correct several small bugs found in user testing * The "Show Plan for Tools" link should open a new window each time it is clicked (i.e., don't re-use the same window) * Further customize the title of the crafting page to give some indication of what is being crafted --- src/client/models/game/inventory.coffee | 12 ++++++++++++ .../site/craft_page/craft_page_controller.coffee | 6 +++++- .../site/craft_page/step/step_controller.coffee | 5 +++-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/client/models/game/inventory.coffee b/src/client/models/game/inventory.coffee index 38a41d09c..a024cb2d7 100644 --- a/src/client/models/game/inventory.coffee +++ b/src/client/models/game/inventory.coffee @@ -141,6 +141,18 @@ module.exports = class Inventory extends BaseModel @trigger c.event.change, this return this + toDescription: -> + return null if @isEmpty + return null unless @modPack? + + item = @modPack.findItem @_itemSlugs[0] + extras = @_itemSlugs.length - 1 + + result = "#{item.name}" + if extras > 0 then result += " and #{extras} more..." + + return result + # Parsing Methods ############################################################################## parse: (data)-> diff --git a/src/client/site/craft_page/craft_page_controller.coffee b/src/client/site/craft_page/craft_page_controller.coffee index e7052e436..e40d9910a 100644 --- a/src/client/site/craft_page/craft_page_controller.coffee +++ b/src/client/site/craft_page/craft_page_controller.coffee @@ -60,7 +60,9 @@ module.exports = class CraftPageController extends PageController return c.text.craftDescription() getTitle: -> - return 'Craft' + description = @model.craftsman.want.toDescription() + return null unless description? + return "Crafting Plan for #{description}" # BaseController Overrides ##################################################################### @@ -114,6 +116,8 @@ module.exports = class CraftPageController extends PageController @model.craftsman.have.clear() @model.craftsman.have.parse @_storage.load('crafting-plan:have') @model.craftsman.have.on c.event.change, => @onHaveInventoryChanged() + + @model.craftsman.want.on c.event.change, => @refresh() super refresh: -> diff --git a/src/client/site/craft_page/step/step_controller.coffee b/src/client/site/craft_page/step/step_controller.coffee index c2215fea0..de3eb1c9b 100644 --- a/src/client/site/craft_page/step/step_controller.coffee +++ b/src/client/site/craft_page/step/step_controller.coffee @@ -99,8 +99,9 @@ module.exports = class StepController extends BaseController inventory.add toolStack.itemSlug, toolStack.quantity inventory.localize() - @$toolButton.attr 'href', "/craft/#{inventory.unparse()}" - @$toolButton.attr 'target', 'new' + inventoryText = inventory.unparse() + @$toolButton.attr 'href', "/craft/#{inventoryText}" + @$toolButton.attr 'target', inventoryText if @canAddTools this @$toolButton.removeClass 'disabled'