Fix inventory remove button to appear again $92
This commit is contained in:
@@ -48,17 +48,17 @@ All rights reserved.
|
||||
|
||||
td.action {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
button.remove {
|
||||
opacity: 0;
|
||||
position: relative; width: 1.8em; height: 1.8em;
|
||||
background: url('/images/remove.png') no-repeat center;
|
||||
border: 0;
|
||||
outline: none;
|
||||
button.remove {
|
||||
opacity: 0;
|
||||
position: relative; width: 1.8em; height: 1.8em;
|
||||
background: url('/images/remove.png') no-repeat center;
|
||||
border: 0;
|
||||
outline: none;
|
||||
|
||||
&:hover {
|
||||
background: url('/images/remove-hover.png') no-repeat center;
|
||||
}
|
||||
&:hover {
|
||||
background: url('/images/remove-hover.png') no-repeat center;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ module.exports = class InventoryController extends BaseController
|
||||
|
||||
onNameFieldChanged: ->
|
||||
item = @modPack.findItemByName @$nameField.val()
|
||||
@_updateButtonState()
|
||||
@_refreshButtonState()
|
||||
|
||||
onNameFieldFocused: ->
|
||||
@$nameField.val ''
|
||||
@@ -99,7 +99,7 @@ module.exports = class InventoryController extends BaseController
|
||||
|
||||
@$quantityField.removeClass 'error', Duration.normal
|
||||
@$quantityField.removeClass 'error-new', Duration.normal
|
||||
@_updateButtonState()
|
||||
@_refreshButtonState()
|
||||
|
||||
onQuantityFieldFocused: ->
|
||||
@$quantityField.val ''
|
||||
@@ -129,24 +129,9 @@ module.exports = class InventoryController extends BaseController
|
||||
|
||||
if _.isEmpty(@$quantityField.val()) then @$quantityField.val '1'
|
||||
|
||||
@$table.find('tr:not(:last-child)').remove()
|
||||
$lastRow = @$table.find 'tr:last-child'
|
||||
@_stackControllers = []
|
||||
@model.each (stack)=>
|
||||
options =
|
||||
editable: @editable
|
||||
imageLoader: @imageLoader
|
||||
model: stack
|
||||
modPack: @modPack
|
||||
onRemove: if not @editable then null else (stack)=> @_removeStack(stack)
|
||||
|
||||
controller = new StackController options
|
||||
controller.render()
|
||||
controller.$el.insertBefore $lastRow
|
||||
@_stackControllers.push controller
|
||||
|
||||
@_updateNameAutocomplete()
|
||||
@_updateButtonState()
|
||||
@_refreshStacks()
|
||||
@_refreshNameAutocomplete()
|
||||
@_refreshButtonState()
|
||||
|
||||
super
|
||||
|
||||
@@ -166,10 +151,15 @@ module.exports = class InventoryController extends BaseController
|
||||
|
||||
# Private Methods ##############################################################################
|
||||
|
||||
_removeStack: (stack)->
|
||||
@model.remove stack.slug, stack.quantity
|
||||
_refreshButtonState: ->
|
||||
if @model.isEmpty then @$clearButton.attr('disabled', 'disabled') else @$clearButton.removeAttr('disabled')
|
||||
|
||||
_updateNameAutocomplete: ->
|
||||
itemValid = @modPack.findItemByName(@$nameField.val())?
|
||||
quantityValid = @$quantityField.val().match(InventoryController.ONLY_DIGITS)
|
||||
disable = not (itemValid and quantityValid)
|
||||
if disable then @$addButton.attr('disabled', 'disabled') else @$addButton.removeAttr('disabled')
|
||||
|
||||
_refreshNameAutocomplete: ->
|
||||
onChanged = => @onNameFieldChanged()
|
||||
onSelected = => @onItemSelected()
|
||||
|
||||
@@ -181,10 +171,30 @@ module.exports = class InventoryController extends BaseController
|
||||
close: onChanged
|
||||
select: onSelected
|
||||
|
||||
_updateButtonState: ->
|
||||
if @model.isEmpty then @$clearButton.attr('disabled', 'disabled') else @$clearButton.removeAttr('disabled')
|
||||
_refreshStacks: ->
|
||||
@_stackControllers ?= []
|
||||
index = 0
|
||||
|
||||
itemValid = @modPack.findItemByName(@$nameField.val())?
|
||||
quantityValid = @$quantityField.val().match(InventoryController.ONLY_DIGITS)
|
||||
disable = not (itemValid and quantityValid)
|
||||
if disable then @$addButton.attr('disabled', 'disabled') else @$addButton.removeAttr('disabled')
|
||||
$lastRow = @$table.find 'tr:last-child'
|
||||
@model.each (stack)=>
|
||||
controller = @_stackControllers[index]
|
||||
if not controller?
|
||||
controller = new StackController
|
||||
editable: @editable
|
||||
imageLoader: @imageLoader
|
||||
model: stack
|
||||
modPack: @modPack
|
||||
onRemove: if not @editable then null else (stack)=> @_removeStack(stack)
|
||||
controller.render()
|
||||
controller.$el.insertBefore $lastRow
|
||||
@_stackControllers.push controller
|
||||
else
|
||||
controller.model = stack
|
||||
index += 1
|
||||
|
||||
while @_stackControllers.length > index
|
||||
controller = @_stackControllers.pop()
|
||||
controller.$el.fadeOut duration:Duration.fast, complete:-> @remove()
|
||||
|
||||
_removeStack: (stack)->
|
||||
@model.remove stack.slug, stack.quantity
|
||||
|
||||
@@ -49,9 +49,9 @@ module.exports = class StackController extends BaseController
|
||||
@$nameLink.html display.itemName
|
||||
@$nameLink.attr 'href', display.itemUrl
|
||||
@$quantityField.html @model.quantity
|
||||
@$removeButton.css display:(if @editable then 'inherit' else 'none')
|
||||
# @$removeButton.css opacity:(if @editable then 1 else 0)
|
||||
|
||||
@$action.css display:(if @ediable then 'table-cell' else 'none')
|
||||
@$action.css display:(if @editable then 'table-cell' else 'none')
|
||||
|
||||
super
|
||||
|
||||
|
||||
Reference in New Issue
Block a user