From ccb2cad516ac9244506bca87ddabe5424f05c346 Mon Sep 17 00:00:00 2001 From: Andrew Miner Date: Tue, 11 Jul 2017 09:58:56 -0700 Subject: [PATCH] Fix search box to return better results --- src/client/models/site/item_selector.coffee | 13 +++++++------ src/client/site/header/header_controller.coffee | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/client/models/site/item_selector.coffee b/src/client/models/site/item_selector.coffee index 00c07a1a2..7e77ee3c0 100644 --- a/src/client/models/site/item_selector.coffee +++ b/src/client/models/site/item_selector.coffee @@ -65,8 +65,6 @@ module.exports = class ItemSelector extends Observable nextScore = 1 return 0 if hintIndex < @_hint.length - - totalScore *= @_hint.length / name.length return totalScore _refreshResults: -> @@ -79,10 +77,8 @@ module.exports = class ItemSelector extends Observable return unless mod.isEnabled for itemId, item of mod.items - return if scoredItems.length >= @_maxResults - score = @_computeScore item - if score >= @_hint.length + if score > 0 scoredItems.push score:score, item:item scoredItems.sort (a, b)-> @@ -99,5 +95,10 @@ module.exports = class ItemSelector extends Observable return 0 - @_results = (e.item for e in scoredItems) + @_results = [] + for element in scoredItems + @_results.push element.item + break if @_results.length >= @_maxResults + @trigger c.event.change + ':results', this + diff --git a/src/client/site/header/header_controller.coffee b/src/client/site/header/header_controller.coffee index 107cdffa2..2c9ca71a8 100644 --- a/src/client/site/header/header_controller.coffee +++ b/src/client/site/header/header_controller.coffee @@ -55,7 +55,7 @@ module.exports = class HeaderController extends BaseController @_selector.launch hint .then (item)=> if not item? - tracker.trackEvent c.tracking.category.search, 'cancel', item.slug + tracker.trackEvent c.tracking.category.search, 'cancel' return tracker.trackEvent c.tracking.category.search, 'complete', item.slug