diff --git a/src/client/site/common/item_selector/element/element.scss b/src/client/site/common/item_selector/element/element.scss index 2fc1510b4..f768a6394 100644 --- a/src/client/site/common/item_selector/element/element.scss +++ b/src/client/site/common/item_selector/element/element.scss @@ -48,7 +48,6 @@ } &.selected { - flex : 0 0 auto; background : $color-active-hover; .name { diff --git a/src/client/site/common/item_selector/item_selector.scss b/src/client/site/common/item_selector/item_selector.scss index b784ca9a1..b416dfddb 100644 --- a/src/client/site/common/item_selector/item_selector.scss +++ b/src/client/site/common/item_selector/item_selector.scss @@ -57,6 +57,7 @@ .results { flex: 1 1 100%; + position: relative; overflow-x: hidden; overflow-y: scroll; diff --git a/src/client/site/common/item_selector/item_selector_controller.coffee b/src/client/site/common/item_selector/item_selector_controller.coffee index 75b1a6845..af0b1fcb6 100644 --- a/src/client/site/common/item_selector/item_selector_controller.coffee +++ b/src/client/site/common/item_selector/item_selector_controller.coffee @@ -71,10 +71,10 @@ module.exports = class ItemSelectorController extends BaseController when c.key.enter @_chooseSelected() return false - when c.key.down + when c.key.downArrow @_selectNext() return false - when c.key.up + when c.key.upArrow @_selectPrevious() return false @@ -169,6 +169,8 @@ module.exports = class ItemSelectorController extends BaseController @_elementControllers.pop().remove() _selectNext: -> + return unless @_elementControllers.length > 0 + for i in [0...(@_elementControllers.length - 1)] by 1 controller = @_elementControllers[i] nextController = @_elementControllers[i + 1] @@ -179,7 +181,13 @@ module.exports = class ItemSelectorController extends BaseController @_showElement nextController.$el return + controller = @_elementControllers[0] + controller.selected = true + @_showElement controller.$el + _selectPrevious: -> + return unless @_elementControllers.length > 0 + for i in [1...@_elementControllers.length] by 1 previousController = @_elementControllers[i - 1] controller = @_elementControllers[i] @@ -190,6 +198,10 @@ module.exports = class ItemSelectorController extends BaseController @_showElement previousController.$el return + controller = @_elementControllers[@_elementControllers.length - 1] + controller.selected = true + @_showElement controller.$el + _showElement: ($el)-> top = $el.position().top + @$resultsContainer.scrollTop() - @$resultsContainer.css 'scrollTop', top + @$resultsContainer.animate {scrollTop:top}, c.duration.snap diff --git a/src/client/site/common/recipe/recipe.scss b/src/client/site/common/recipe/recipe.scss index 30814e056..fd89eb8b5 100644 --- a/src/client/site/common/recipe/recipe.scss +++ b/src/client/site/common/recipe/recipe.scss @@ -16,8 +16,7 @@ flex-direction : column; .view__crafting_grid { - flex: 1 1 auto; - width: 100%; + flex: 0 0 auto; } .tool { diff --git a/src/client/site/header/header_controller.coffee b/src/client/site/header/header_controller.coffee index 366ff3675..c3d4842b8 100644 --- a/src/client/site/header/header_controller.coffee +++ b/src/client/site/header/header_controller.coffee @@ -46,6 +46,8 @@ module.exports = class HeaderController extends BaseController onSearch: -> @_selector.launch() .then (itemSlug)=> + return unless itemSlug? + itemDisplay = @_modPack.findItemDisplay itemSlug @router.navigate itemDisplay.itemUrl, trigger:true return false