autocomplete tweaks
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
//= require hammer.js
|
||||
//= require jquery.storageapi.js
|
||||
//= require jquery.dropdown.js
|
||||
//= require stupidtable.js
|
||||
//= require jquery.qtip.js
|
||||
|
||||
@@ -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; },
|
||||
@@ -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() {
|
||||
@@ -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(" → ").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) {
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user