From fac10ede989030f187d45823233f01f482091936 Mon Sep 17 00:00:00 2001 From: Toks Date: Wed, 8 Jan 2014 16:20:02 -0500 Subject: [PATCH] Add pool name autocomplete, fixes #1721 --- app/assets/javascripts/pools.js | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/pools.js b/app/assets/javascripts/pools.js index 07da4ca1d..1f5941a05 100644 --- a/app/assets/javascripts/pools.js +++ b/app/assets/javascripts/pools.js @@ -2,6 +2,12 @@ Danbooru.Pool = {}; Danbooru.Pool.initialize_all = function() { + if ($("#c-pools").length) { + if (Danbooru.meta("enable-auto-complete") === "true") { + this.initialize_autocomplete_for("#search_name_matches,#quick_search_name_matches"); + } + } + if ($("#c-posts").length && $("#a-show").length) { this.initialize_add_to_pool_link(); } @@ -11,10 +17,10 @@ } } - Danbooru.Pool.initialize_add_to_pool_link = function() { - $("#add-to-pool-dialog").dialog({autoOpen: false}); + Danbooru.Pool.initialize_autocomplete_for = function(selector) { + var $fields = $(selector); - $("#add-to-pool-dialog input[type=text]").autocomplete({ + $fields.autocomplete({ minLength: 1, source: function(req, resp) { $.ajax({ @@ -36,11 +42,23 @@ } }); } - }).data("uiAutocomplete")._renderItem = function(list, pool) { + }); + + var render_pool = function(list, pool) { var $link = $("").addClass("pool-category-" + pool.category).text(pool.label); return $("
  • ").data("item.autocomplete", pool).append($link).appendTo(list); }; + $fields.each(function(i, field) { + $(field).data("uiAutocomplete")._renderItem = render_pool; + }); + } + + Danbooru.Pool.initialize_add_to_pool_link = function() { + $("#add-to-pool-dialog").dialog({autoOpen: false}); + + this.initialize_autocomplete_for("#add-to-pool-dialog input[type=text]"); + $("#pool").click(function(e) { e.preventDefault(); $("#add-to-pool-dialog").dialog("open");