Add "remove" button to inventory view
This commit is contained in:
@@ -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'
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user