Bug: Show all on item detail when mod disabled
When the mod to which an item belongs is disabled, the item detail page should continue to show all the relevant sections: including those which rely on recipes which ordinarily would be hidden because the mod is disabled.
This commit is contained in:
@@ -27,7 +27,7 @@ module.exports = class ItemPage extends BaseModel
|
||||
@modPack.eachMod (mod)=>
|
||||
mod.eachRecipe (recipe)=>
|
||||
if recipe.requires @item.slug
|
||||
outputItem = @modPack.findItem recipe.itemSlug
|
||||
outputItem = @modPack.findItem recipe.itemSlug, includeDisabled:true
|
||||
result[outputItem.slug] = outputItem
|
||||
|
||||
result = _.values result
|
||||
@@ -47,4 +47,4 @@ module.exports = class ItemPage extends BaseModel
|
||||
return result
|
||||
|
||||
findRecipes: ->
|
||||
return @modPack.findRecipes @item?.slug
|
||||
return @modPack.findRecipes @item?.slug, [], alwaysFromOwningMod:true
|
||||
|
||||
@@ -58,16 +58,16 @@ module.exports = class Mod extends BaseModel
|
||||
# ModVersion Proxy Methods #####################################################################
|
||||
|
||||
eachItem: (callback)->
|
||||
return unless @_activeModVersion?
|
||||
@_activeModVersion.eachItem callback
|
||||
effectiveModVersion = @_activeModVersion or @getModVersion Mod.Version.Latest
|
||||
effectiveModVersion.eachItem callback
|
||||
|
||||
eachName: (callback)->
|
||||
return unless @_activeModVersion?
|
||||
@_activeModVersion.eachName callback
|
||||
effectiveModVersion = @_activeModVersion or @getModVersion Mod.Version.Latest
|
||||
effectiveModVersion.eachName callback
|
||||
|
||||
eachRecipe: (callback)->
|
||||
return unless @_activeModVersion?
|
||||
@_activeModVersion.eachRecipe callback
|
||||
effectiveModVersion = @_activeModVersion or @getModVersion Mod.Version.Latest
|
||||
effectiveModVersion.eachRecipe callback
|
||||
|
||||
findItem: (slug, options={})->
|
||||
options.includeDisabled ?= false
|
||||
@@ -96,8 +96,14 @@ module.exports = class Mod extends BaseModel
|
||||
@_activeModVersion.findName itemSlug
|
||||
|
||||
findRecipes: (itemSlug, result=[], options={})->
|
||||
return result unless @_activeModVersion?
|
||||
@_activeModVersion.findRecipes itemSlug, result, options
|
||||
options.alwaysFromOwningMod ?= false
|
||||
|
||||
if @_activeModVersion?
|
||||
return @_activeModVersion.findRecipes itemSlug, result, options
|
||||
else if options.alwaysFromOwningMod and itemSlug.mod is @slug
|
||||
return @getModVersion(Mod.Version.Latest).findRecipes itemSlug, result, options
|
||||
|
||||
return null
|
||||
|
||||
# Property Methods #############################################################################
|
||||
|
||||
|
||||
@@ -82,10 +82,14 @@ module.exports = class ModPack extends BaseModel
|
||||
return null
|
||||
|
||||
findRecipes: (itemSlug, result=[], options={})->
|
||||
options.alwaysFromOwningMod ?= false
|
||||
return null unless itemSlug?
|
||||
|
||||
for mod in @_mods
|
||||
continue unless mod.enabled
|
||||
if not mod.enabled
|
||||
owningMod = itemSlug.isQualified and (itemSlug.mod is mod.slug)
|
||||
continue unless owningMod and options.alwaysFromOwningMod
|
||||
|
||||
mod.findRecipes itemSlug, result, options
|
||||
|
||||
result.sort (a, b)-> Recipe.compareFor a, b, itemSlug
|
||||
|
||||
Reference in New Issue
Block a user