revamped artist reltags, fixes #1094

This commit is contained in:
albert
2013-03-25 22:13:27 -04:00
parent e88dfe4cc2
commit 78900c4d38
3 changed files with 38 additions and 75 deletions

View File

@@ -110,6 +110,18 @@
if (wiki_page_tags.length) {
$dest.append(Danbooru.RelatedTag.build_html("wiki:" + query, wiki_page_tags));
}
if (Danbooru.RelatedTag.recent_artists) {
var tags = [];
if (Danbooru.RelatedTag.recent_artists.length !== 1) {
tags.push([" none", 0]);
} else {
tags.push([Danbooru.RelatedTag.recent_artists[0].name, 1]);
$.each(Danbooru.RelatedTag.recent_artists[0].urls, function(i, url) {
tags.push([" " + url.url, 0]);
});
}
$dest.append(Danbooru.RelatedTag.build_html("artist", tags, true));
}
}
Danbooru.RelatedTag.favorite_tags = function() {
@@ -134,13 +146,17 @@
}
}
Danbooru.RelatedTag.build_html = function(query, related_tags) {
Danbooru.RelatedTag.build_html = function(query, related_tags, is_wide_column) {
if (query === null || query === "") {
return "";
}
var current = $("#upload_tag_string,#post_tag_string").val().match(/\S+/g) || [];
var $div = $("<div/>").addClass("tag-column");
var $div = $("<div/>");
$div.addClass("tag-column")
if (is_wide_column) {
$div.addClass("wide-column");
}
var $ul = $("<ul/>");
$ul.append(
$("<li/>").append(
@@ -151,17 +167,21 @@
);
$.each(related_tags, function(i, tag) {
var $link = $("<a/>");
$link.html(tag[0].replace(/_/g, " "));
$link.addClass("tag-type-" + tag[1]);
$link.attr("href", "/posts?tags=" + encodeURIComponent(tag[0]));
$link.click(Danbooru.RelatedTag.toggle_tag);
if ($.inArray(tag[0], current) > -1) {
$link.addClass("selected");
if (tag[0][0] !== " ") {
var $link = $("<a/>");
$link.html(tag[0].replace(/_/g, " "));
$link.addClass("tag-type-" + tag[1]);
$link.attr("href", "/posts?tags=" + encodeURIComponent(tag[0]));
$link.click(Danbooru.RelatedTag.toggle_tag);
if ($.inArray(tag[0], current) > -1) {
$link.addClass("selected");
}
$ul.append(
$("<li/>").append($link)
);
} else {
$ul.append($("<li/>").html(tag[0]));
}
$ul.append(
$("<li/>").append($link)
);
});
$div.append($ul);
@@ -189,48 +209,14 @@
Danbooru.RelatedTag.find_artist = function(e) {
$("#artist-tags").html("<em>Loading...</em>");
Danbooru.RelatedTag.recent_search = null;
var url = $("#upload_source,#post_source");
$.get("/artists.json", {"search[name]": url.val()}).success(Danbooru.RelatedTag.process_artist);
$.get("/artists.json", {"limit": 2, "search[name]": url.val()}).success(Danbooru.RelatedTag.process_artist);
e.preventDefault();
}
Danbooru.RelatedTag.process_artist = function(data) {
Danbooru.RelatedTag.recent_artist = data;
$("#artist-tags-container").show();
var $dest = $("#artist-tags");
$dest.empty();
if (data.length != 1) {
$dest.html("No artists found");
return;
}
$.each(data, function(i, json) {
if (!json.other_names) {
json.other_names = "";
}
var $div = $("<div/>").addClass("tag-column").addClass("artist");
var $ul = $("<ul/>");
var $link = $("<a/>").attr("href", "/artists/" + json.id).html(json.name).click(Danbooru.RelatedTag.toggle_tag);
if (Danbooru.RelatedTag.tags_include(json.name)) {
$link.addClass("selected");
}
$ul.append(
$("<li/>").append("Artist: ").append(
$link
)
);
if (json.other_names.length > 0) {
$ul.append($("<li/>").html("Other names: " + json.other_names));
}
$.each(json.urls, function(i, v) {
$ul.append($("<li/>").html("URL: " + v.url));
});
$div.append($ul);
$dest.append($div);
});
Danbooru.RelatedTag.recent_artists = data;
Danbooru.RelatedTag.build_all();
}
})();

View File

@@ -1,6 +1,6 @@
@import "../common/000_vars.css.scss";
div#related-tags-container, div#artist-tags-container {
div#related-tags-container {
padding-right: 2em;
h1 {
@@ -8,22 +8,6 @@ div#related-tags-container, div#artist-tags-container {
}
}
div#artist-tags {
overflow: auto;
width: 100%;
margin-bottom: 1em;
padding: 1em;
background: #EEE;
div.artist {
margin-bottom: 1em;
}
div.artist:last-child {
margin-bottom: 0;
}
}
div.related-tags {
width: 100%;
margin-bottom: 1em;
@@ -56,8 +40,7 @@ div.related-tags {
}
}
div.tag-column.artist {
float: none;
max-width: 100%;
div.wide-column {
max-width: 45em;
}
}

View File

@@ -74,12 +74,6 @@
<%= submit_tag "Submit" %>
</div>
<div id="artist-tags-container">
<h1>Artist</h1>
<div id="artist-tags" class="related-tags">
</div>
</div>
<div id="related-tags-container">
<h1>Related Tags</h1>
<div id="related-tags" class="related-tags">