Add links to tool names under crafting grids
This commit is contained in:
@@ -36,6 +36,18 @@ All rights reserved.
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.output {
|
.tool {
|
||||||
|
a {
|
||||||
|
color: $color-text;
|
||||||
|
font-family: $font-family-normal;
|
||||||
|
font-size: $font-size-normal;
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: $color-link;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,18 @@ All rights reserved.
|
|||||||
position: absolute; right: 0; bottom: -2em; left: 0; height: 1.5em;
|
position: absolute; right: 0; bottom: -2em; left: 0; height: 1.5em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
p { font-weight: bold; }
|
a {
|
||||||
|
color: $color-text;
|
||||||
|
font-family: $font-family-normal;
|
||||||
|
font-size: $font-size-normal;
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: $color-link;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ CraftingGridController = require './crafting_grid_controller'
|
|||||||
ImageLoader = require './image_loader'
|
ImageLoader = require './image_loader'
|
||||||
Inventory = require '../models/inventory'
|
Inventory = require '../models/inventory'
|
||||||
InventoryTableController = require './inventory_table_controller'
|
InventoryTableController = require './inventory_table_controller'
|
||||||
|
StringBuilder = require '../models/string_builder'
|
||||||
|
|
||||||
########################################################################################################################
|
########################################################################################################################
|
||||||
|
|
||||||
@@ -44,17 +45,17 @@ module.exports = class FullRecipeController extends BaseController
|
|||||||
model: new Inventory
|
model: new Inventory
|
||||||
modPack: @modPack
|
modPack: @modPack
|
||||||
|
|
||||||
@$tool = @$('.tool p')
|
@$toolContainer = @$('.tool')
|
||||||
super
|
super
|
||||||
|
|
||||||
refresh: ->
|
refresh: ->
|
||||||
@gridController.model = @model
|
@gridController.model = @model
|
||||||
@$tool.html @_findToolNames().join ', '
|
|
||||||
|
|
||||||
@$el.tooltip show:{delay:Duration.normal, duration:Duration.normal}
|
@$el.tooltip show:{delay:Duration.normal, duration:Duration.normal}
|
||||||
|
|
||||||
@_refreshInputs()
|
@_refreshInputs()
|
||||||
@_refreshOutputs()
|
@_refreshOutputs()
|
||||||
|
@_refreshTools()
|
||||||
|
|
||||||
super
|
super
|
||||||
|
|
||||||
@@ -66,14 +67,6 @@ module.exports = class FullRecipeController extends BaseController
|
|||||||
|
|
||||||
# Private Methods ##############################################################################
|
# Private Methods ##############################################################################
|
||||||
|
|
||||||
_findToolNames: ->
|
|
||||||
result = []
|
|
||||||
if @model?
|
|
||||||
for stack in @model.tools
|
|
||||||
item = @modPack.findItem stack.itemSlug
|
|
||||||
result.push item.name if item?
|
|
||||||
return result
|
|
||||||
|
|
||||||
_refreshInputs: ->
|
_refreshInputs: ->
|
||||||
inputs = @inputController.model
|
inputs = @inputController.model
|
||||||
inputs.clear()
|
inputs.clear()
|
||||||
@@ -90,3 +83,13 @@ module.exports = class FullRecipeController extends BaseController
|
|||||||
if @model?
|
if @model?
|
||||||
for stack in @model.output
|
for stack in @model.output
|
||||||
outputs.add stack.itemSlug, stack.quantity
|
outputs.add stack.itemSlug, stack.quantity
|
||||||
|
|
||||||
|
_refreshTools: ->
|
||||||
|
@$toolContainer.empty()
|
||||||
|
return unless @model?
|
||||||
|
|
||||||
|
builder = new StringBuilder
|
||||||
|
builder.loop @model.tools, delimiter:', ', onEach:(b, stack)=>
|
||||||
|
display = @modPack.findItemDisplay stack.itemSlug
|
||||||
|
b.push "<a href=\"#{display.itemUrl}\">#{display.itemName}</a>"
|
||||||
|
@$toolContainer.html builder.toString()
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ BaseController = require './base_controller'
|
|||||||
CraftingGridController = require './crafting_grid_controller'
|
CraftingGridController = require './crafting_grid_controller'
|
||||||
{Duration} = require '../constants'
|
{Duration} = require '../constants'
|
||||||
ImageLoader = require './image_loader'
|
ImageLoader = require './image_loader'
|
||||||
|
StringBuilder = require '../models/string_builder'
|
||||||
|
|
||||||
########################################################################################################################
|
########################################################################################################################
|
||||||
|
|
||||||
@@ -20,25 +21,24 @@ module.exports = class MinimalRecipeController extends BaseController
|
|||||||
options.templateName = 'minimal_recipe'
|
options.templateName = 'minimal_recipe'
|
||||||
super options
|
super options
|
||||||
|
|
||||||
@_imageLoader = options.imageLoader
|
@imageLoader = options.imageLoader
|
||||||
@_modPack = options.modPack
|
@modPack = options.modPack
|
||||||
|
|
||||||
# BaseController Overrides #####################################################################
|
# BaseController Overrides #####################################################################
|
||||||
|
|
||||||
onDidRender: ->
|
onDidRender: ->
|
||||||
@gridController = @addChild CraftingGridController, '.view__crafting_grid',
|
@gridController = @addChild CraftingGridController, '.view__crafting_grid',
|
||||||
modPack: @_modPack
|
modPack: @modPack
|
||||||
imageLoader: @_imageLoader
|
imageLoader: @imageLoader
|
||||||
|
|
||||||
@$outputImg = @$('.output img')
|
@$outputImg = @$('.output img')
|
||||||
@$outputLink = @$('.output a')
|
@$outputLink = @$('.output a')
|
||||||
@$outputQuantity = @$('.quantity')
|
@$outputQuantity = @$('.quantity')
|
||||||
@$tool = @$('.tool p')
|
@$toolContainer = @$('.tool')
|
||||||
super
|
super
|
||||||
|
|
||||||
refresh: ->
|
refresh: ->
|
||||||
@gridController.model = @model
|
@gridController.model = @model
|
||||||
@$tool.html @_findToolNames().join ', '
|
|
||||||
|
|
||||||
@$outputImg.attr 'src', '/images/empty.png'
|
@$outputImg.attr 'src', '/images/empty.png'
|
||||||
@$outputImg.removeAttr 'alt'
|
@$outputImg.removeAttr 'alt'
|
||||||
@@ -48,16 +48,17 @@ module.exports = class MinimalRecipeController extends BaseController
|
|||||||
if @model?
|
if @model?
|
||||||
outputStack = @model.output[0]
|
outputStack = @model.output[0]
|
||||||
if outputStack?
|
if outputStack?
|
||||||
display = @_modPack.findItemDisplay outputStack.itemSlug
|
display = @modPack.findItemDisplay outputStack.itemSlug
|
||||||
@$outputLink.attr 'href', display.itemUrl
|
@$outputLink.attr 'href', display.itemUrl
|
||||||
@$outputLink.attr 'title', display.itemName
|
@$outputLink.attr 'title', display.itemName
|
||||||
@$outputImg.attr 'alt', display.itemName
|
@$outputImg.attr 'alt', display.itemName
|
||||||
@$outputQuantity.html outputStack.quantity if outputStack.quantity > 1
|
@$outputQuantity.html outputStack.quantity if outputStack.quantity > 1
|
||||||
|
|
||||||
@_imageLoader.load display.iconUrl, @$outputImg
|
@imageLoader.load display.iconUrl, @$outputImg
|
||||||
|
|
||||||
@$el.tooltip show:{delay:Duration.snap, duration:Duration.fast}
|
@$el.tooltip show:{delay:Duration.snap, duration:Duration.fast}
|
||||||
|
|
||||||
|
@_refreshTools()
|
||||||
super
|
super
|
||||||
|
|
||||||
# Backbone.View Methods ########################################################################
|
# Backbone.View Methods ########################################################################
|
||||||
@@ -68,10 +69,12 @@ module.exports = class MinimalRecipeController extends BaseController
|
|||||||
|
|
||||||
# Private Methods ##############################################################################
|
# Private Methods ##############################################################################
|
||||||
|
|
||||||
_findToolNames: ->
|
_refreshTools: ->
|
||||||
result = []
|
@$toolContainer.empty()
|
||||||
if @model?
|
return unless @model?
|
||||||
for stack in @model.tools
|
|
||||||
item = @_modPack.findItem stack.itemSlug
|
builder = new StringBuilder
|
||||||
result.push item.name if item?
|
builder.loop @model.tools, delimiter:', ', onEach:(b, stack)=>
|
||||||
return result
|
display = @modPack.findItemDisplay stack.itemSlug
|
||||||
|
b.push "<a href=\"#{display.itemUrl}\">#{display.itemName}</a>"
|
||||||
|
@$toolContainer.html builder.toString()
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
.pattern
|
.pattern
|
||||||
table.view__crafting_grid
|
table.view__crafting_grid
|
||||||
.tool: p
|
.tool: a
|
||||||
|
|
||||||
.output
|
.output
|
||||||
h3: p Produces
|
h3: p Produces
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
.view__minimal_recipe
|
.view__minimal_recipe
|
||||||
.input
|
.input
|
||||||
table.view__crafting_grid
|
table.view__crafting_grid
|
||||||
.tool: p
|
.tool
|
||||||
.output
|
.output
|
||||||
a: img
|
a: img
|
||||||
p.quantity
|
p.quantity
|
||||||
|
|||||||
Reference in New Issue
Block a user