Skip to content

Commit

Permalink
autocomplete tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
r888888888 committed Jun 24, 2018
1 parent 6b0be1e commit f506a90
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 590 deletions.
1 change: 0 additions & 1 deletion app/assets/javascripts/application.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
//= require hammer.js
//= require jquery.storageapi.js
//= require jquery.dropdown.js
//= require stupidtable.js
//= require jquery.qtip.js
Expand Down
32 changes: 11 additions & 21 deletions app/assets/javascripts/autocomplete.js.erb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
if (Danbooru.meta("enable-auto-complete") === "true") {
$.widget("ui.autocomplete", $.ui.autocomplete, {
options: {
delay: 100,
delay: 0,
minLength: 1,
autoFocus: false,
focus: function() { return false; },
Expand All @@ -22,25 +22,14 @@
_renderItem: Danbooru.Autocomplete.render_item,
});

Danbooru.Autocomplete.enable_local_storage = false;
this.initialize_tag_autocomplete();
this.initialize_mention_autocomplete($(".autocomplete-mentions textarea"));
this.initialize_artist_autocomplete($('[data-autocomplete="artist"]'));
this.initialize_pool_autocomplete($('[data-autocomplete="pool"]'));
this.initialize_wiki_autocomplete($('[data-autocomplete="wiki-page"]'));
this.prune_local_storage();
}
}

// todo: remove eventually
Danbooru.Autocomplete.prune_local_storage = function() {
$.each(Object.keys(localStorage), function(i, key) {
if (key.substr(0, 3) === "ac-") {
$.localStorage.remove(key);
}
});
}

Danbooru.Autocomplete.initialize_mention_autocomplete = function($fields) {
$fields.autocomplete({
search: function() {
Expand Down Expand Up @@ -346,22 +335,22 @@

Danbooru.Autocomplete.render_item = function(list, item) {
var $link = $("<a/>");
var $menu_item = $("<div/>").append($link);
$link.text(item.label);
$link.attr("href", "/posts?tags=" + encodeURIComponent(item.value));
$link.click(function(e) {
e.preventDefault();
});

if (item.antecedent) {
var antecedent = item.antecedent.replace(/_/g, " ");
var arrow = $("<span/>").html(" &rarr; ").addClass("autocomplete-arrow");
var antecedent_element = $("<span/>").text(antecedent).addClass("autocomplete-antecedent");
$link.append(antecedent_element);
$link.append(arrow);
$link.append([
arrow,
antecedent_element
]);
}

$link.append(document.createTextNode(item.label));
$link.attr("href", "/posts?tags=" + encodeURIComponent(item.value));
$link.click(function(e) {
e.preventDefault();
});

if (item.post_count !== undefined) {
var count;
if (item.post_count >= 1000) {
Expand All @@ -385,6 +374,7 @@
$link.addClass("pool-category-" + item.category);
}

var $menu_item = $("<div/>").append($link);
return $("<li/>").data("item.autocomplete", item).append($menu_item).appendTo(list);
};

Expand Down
Loading

0 comments on commit f506a90

Please sign in to comment.