diff --git a/app/assets/javascripts/autocomplete.js b/app/assets/javascripts/autocomplete.js index efb540955..943b64e35 100644 --- a/app/assets/javascripts/autocomplete.js +++ b/app/assets/javascripts/autocomplete.js @@ -93,7 +93,7 @@ var prefixes = "-|~|general:|gen:|artist:|art:|copyright:|copy:|co:|character:|char:|ch:"; var metatags = "order|-status|status|-rating|rating|-locked|locked|child|filetype|-filetype|" + "-user|user|-approver|approver|commenter|comm|noter|noteupdater|artcomm|-fav|fav|ordfav|" + - "sub|-pool|pool|ordpool|favgroup"; + "sub|-pool|pool|ordpool|favgroup|-search|search"; $fields_multiple.autocomplete({ delay: 100, @@ -183,6 +183,10 @@ case "-favgroup": Danbooru.Autocomplete.favorite_group_source(term, resp, metatag); break; + case "search": + case "-search": + Danbooru.Autocomplete.saved_search_source(term, resp); + break; default: Danbooru.Autocomplete.normal_source(term, resp); break; @@ -420,6 +424,17 @@ } }); } + + Danbooru.Autocomplete.saved_search_source = function(term, resp) { + return Danbooru.SavedSearch.labels(term).success(function(labels) { + resp(labels.map(function(label) { + return { + label: label.replace(/_/g, " "), + value: "search:" + label, + }; + })); + }); + } })(); $(document).ready(function() { diff --git a/app/assets/javascripts/posts.js b/app/assets/javascripts/posts.js index 7b3929b44..d3d309ae1 100644 --- a/app/assets/javascripts/posts.js +++ b/app/assets/javascripts/posts.js @@ -550,21 +550,14 @@ $("#saved_search_labels").autocomplete({ minLength: 2, source: function(req, resp) { - $.ajax({ - url: "/saved_searches/labels.json", - data: { - label: req.term - }, - method: "get", - success: function(data) { - resp($.map(data, function(saved_search) { - return { - label: saved_search.replace(/_/g, " "), - value: saved_search - }; - })); - } - }) + Danbooru.SavedSearch.labels(req.term).success(function(labels) { + resp(labels.map(function(label) { + return { + label: label.replace(/_/g, " "), + value: label + }; + })); + }); } }); diff --git a/app/assets/javascripts/saved_searches.js b/app/assets/javascripts/saved_searches.js index d413096c1..c10ed67b9 100644 --- a/app/assets/javascripts/saved_searches.js +++ b/app/assets/javascripts/saved_searches.js @@ -1,5 +1,16 @@ -$(document).ready(function() { +Danbooru.SavedSearch = {}; + +Danbooru.SavedSearch.initialize_all = function() { if ($("#c-saved-searches".length)) { Danbooru.sorttable($("#c-saved-searches table")); } -}); +} + +Danbooru.SavedSearch.labels = function(term) { + return $.getJSON("/saved_searches/labels", { + "search[label]": term + "*", + "limit": 10 + }); +} + +$(Danbooru.SavedSearch.initialize_all);