From 168de3215fe3298c588afb3e9bc9dad25f15dfb5 Mon Sep 17 00:00:00 2001 From: Toks Date: Sun, 23 Jun 2013 11:42:55 -0400 Subject: [PATCH] fixes #1754; include category in wiki page api --- app/assets/javascripts/wiki_pages.js | 20 ++++++++++++++++---- app/models/wiki_page.rb | 2 +- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/wiki_pages.js b/app/assets/javascripts/wiki_pages.js index 1f26f8743..c579e846c 100644 --- a/app/assets/javascripts/wiki_pages.js +++ b/app/assets/javascripts/wiki_pages.js @@ -9,7 +9,9 @@ Danbooru.WikiPage.initialize_typeahead = function() { if (Danbooru.meta("enable-auto-complete") === "true") { - $("#search_title,#quick_search_title").autocomplete({ + var $fields = $("#search_title,#quick_search_title"); + + $fields.autocomplete({ minLength: 1, source: function(req, resp) { $.ajax({ @@ -20,16 +22,26 @@ }, method: "get", success: function(data) { - resp($.map(data, function(tag) { + resp($.map(data, function(wiki_page) { return { - label: tag.title.replace(/_/g, " "), - value: tag.title + label: wiki_page.title.replace(/_/g, " "), + value: wiki_page.title, + category: wiki_page.category_name }; })); } }); } }); + + var render_wiki_page = function(list, wiki_page) { + var $link = $("").addClass("tag-type-" + wiki_page.category).text(wiki_page.label); + return $("
  • ").data("item.autocomplete", wiki_page).append($link).appendTo(list); + } + + $fields.each(function(i, field) { + $(field).data("uiAutocomplete")._renderItem = render_wiki_page; + }); } } })(); diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 3d9174372..d46ade172 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -64,7 +64,7 @@ class WikiPage < ActiveRecord::Base options[:except] += hidden_attributes unless options[:builder] options[:methods] ||= [] - options[:methods] += [:creator_name] + options[:methods] += [:creator_name, :category_name] end hash = super(options) hash