diff options
Diffstat (limited to 'library/font_awesome/src/assets/js/search.js')
-rw-r--r-- | library/font_awesome/src/assets/js/search.js | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/library/font_awesome/src/assets/js/search.js b/library/font_awesome/src/assets/js/search.js deleted file mode 100644 index 1c4d447f1..000000000 --- a/library/font_awesome/src/assets/js/search.js +++ /dev/null @@ -1,92 +0,0 @@ -$(function() { - var SearchView = Backbone.View.extend({ - events: { - "click #search-clear": "clear" - }, - - initialize: function() { - this.algolia = algoliasearch("M19DXW5X0Q", "c79b2e61519372a99fa5890db070064c"); - this.algoliaHelper = algoliasearchHelper(this.algolia, "font_awesome"); - this.template = _.template($("#results-template").html()); - - this.$searchInput = this.$("#search-input"); - this.$searchResultsSection = this.$("#search-results"); - this.$searchInputClear = this.$("#search-clear"); - this.$iconsSection = this.$("#icons"); - - this.$searchInput.on("keyup", _.debounce(_.bind(this.search, this), 200)); - this.algoliaHelper.on("result", _.bind(this.showResults, this)); - }, - - search: function(event) { - var query = this.$searchInput.val(); - - if (query !== "") { - this. algoliaHelper.setQuery(query).search(); - } else { - this.clearResults(); - } - }, - - clear: function(event) { - event.preventDefault(); - - this.clearResults(); - }, - - showResults: function(content, state) { - this.$searchResultsSection.html(""); - this.$searchResultsSection.removeClass("hide"); - this.$searchInputClear.removeClass("hide"); - this.$iconsSection.addClass("hide"); - - var results = []; - - _.each(content.hits, function(result) { - results.push(new SearchResultView({ result: result }).render()) - }); - - this.$searchResultsSection.html(this.template({ content: content, results: results.join("") })); - }, - - clearResults: function() { - this.$searchInput.val("").focus(); - this.$searchResultsSection.addClass("hide"); - this.$searchResultsSection.html(""); - this.$searchInputClear.addClass("hide"); - this.$iconsSection.removeClass("hide"); - } - }); - - var SearchResultView = Backbone.View.extend({ - initialize: function(options) { - this.template = _.template($("#result-template").html()); - this.result = options.result - }, - - render: function() { - var matches = []; - - this.pullMatches(matches, this.result._highlightResult.aliases); - this.pullMatches(matches, this.result._highlightResult.synonyms); - - return this.template({ result: this.result, matches: matches }); - }, - - pullMatches: function(matches, list) { - if (list !== undefined) { - _.each(list, function(highlight) { - if (highlight.matchLevel !== "none") { - matches.push(highlight.value) - } - }) - } - } - }); - - var $searchViewElement = $("[data-view=search]"); - - if ($searchViewElement.length > 0) { - new SearchView({ el: $searchViewElement }); - } -}); |