Add "remove" button to inventory view

This commit is contained in:
Andrew Miner
2015-01-31 20:53:09 -08:00
parent e0c642e787
commit 8d7fd5d25c
9 changed files with 637 additions and 10 deletions
@@ -120,7 +120,6 @@ module.exports = class InventoryController extends BaseController
super
refresh: ->
display = if @editable then 'block' else 'none'
@$editPanel.css display:(if @editable then 'table-row' else 'none')
@$toolbar.css display:(if @editable then 'block' else 'none')
@$scrollbox.css bottom:(if @editable then @$toolbar.height() else '0')
@@ -135,6 +134,7 @@ module.exports = class InventoryController extends BaseController
@_stackControllers = []
@model.each (stack)=>
options =
editable: @editable
imageLoader: @imageLoader
model: stack
modPack: @modPack
@@ -167,6 +167,7 @@ module.exports = class InventoryController extends BaseController
# Private Methods ##############################################################################
_removeStack: (stack)->
@model.remove stack.slug, stack.quantity
_updateNameAutocomplete: ->
onChanged = => @onNameFieldChanged()
@@ -15,25 +15,44 @@ module.exports = class StackController extends BaseController
constructor: (options={})->
if not options.model? then throw new Error 'options.model is required'
if not options.modPack? then throw new Error 'options.modPack is required'
options.imageLoader ?= new ImageLoader defaultUrl:'/images/unknown.png'
options.templateName = 'stack'
options.imageLoader ?= new ImageLoader defaultUrl:'/images/unknown.png'
options.editable ?= false
options.onRemove ?= (stack)-> # do nothing
options.templateName = 'stack'
super options
@editable = options.editable
@modPack = options.modPack
@onRemove = options.onRemove
@_imageLoader = options.imageLoader
# Event Methods ################################################################################
onRemoveClicked: ->
@onRemove @model
# BaseController Overrides #####################################################################
onDidRender: ->
@$image = @$('.icon img')
@$nameField = @$('.name p')
@$quantityField = @$('.quantity p')
@$removeButton = @$('button.remove')
super
refresh: ->
display = @modPack.findItemDisplay @model.slug
@_imageLoader.load display.iconUrl, @$image
@$nameField.html display.itemName
@$quantityField.html @model.quantity
@_imageLoader.load display.iconUrl, @$image
@$removeButton.css display:(if @editable then 'inherit' else 'none')
super
# Backbone.View Overrides ######################################################################
events: ->
return _.extend super,
'click button.remove': 'onRemoveClicked'
-1
View File
@@ -31,7 +31,6 @@ module.exports = class ItemPage extends BaseModel
# Private Methods ##############################################################################
_consumeParams: ->
logger.debug "consuming params: #{util.inspect(@params)}"
return unless @params?
@plan.want.clear()