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