revamped artist reltags, fixes #1094
This commit is contained in:
@@ -110,6 +110,18 @@
|
|||||||
if (wiki_page_tags.length) {
|
if (wiki_page_tags.length) {
|
||||||
$dest.append(Danbooru.RelatedTag.build_html("wiki:" + query, wiki_page_tags));
|
$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() {
|
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 === "") {
|
if (query === null || query === "") {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
var current = $("#upload_tag_string,#post_tag_string").val().match(/\S+/g) || [];
|
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/>");
|
var $ul = $("<ul/>");
|
||||||
$ul.append(
|
$ul.append(
|
||||||
$("<li/>").append(
|
$("<li/>").append(
|
||||||
@@ -151,17 +167,21 @@
|
|||||||
);
|
);
|
||||||
|
|
||||||
$.each(related_tags, function(i, tag) {
|
$.each(related_tags, function(i, tag) {
|
||||||
var $link = $("<a/>");
|
if (tag[0][0] !== " ") {
|
||||||
$link.html(tag[0].replace(/_/g, " "));
|
var $link = $("<a/>");
|
||||||
$link.addClass("tag-type-" + tag[1]);
|
$link.html(tag[0].replace(/_/g, " "));
|
||||||
$link.attr("href", "/posts?tags=" + encodeURIComponent(tag[0]));
|
$link.addClass("tag-type-" + tag[1]);
|
||||||
$link.click(Danbooru.RelatedTag.toggle_tag);
|
$link.attr("href", "/posts?tags=" + encodeURIComponent(tag[0]));
|
||||||
if ($.inArray(tag[0], current) > -1) {
|
$link.click(Danbooru.RelatedTag.toggle_tag);
|
||||||
$link.addClass("selected");
|
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);
|
$div.append($ul);
|
||||||
@@ -189,48 +209,14 @@
|
|||||||
|
|
||||||
Danbooru.RelatedTag.find_artist = function(e) {
|
Danbooru.RelatedTag.find_artist = function(e) {
|
||||||
$("#artist-tags").html("<em>Loading...</em>");
|
$("#artist-tags").html("<em>Loading...</em>");
|
||||||
Danbooru.RelatedTag.recent_search = null;
|
|
||||||
var url = $("#upload_source,#post_source");
|
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();
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
Danbooru.RelatedTag.process_artist = function(data) {
|
Danbooru.RelatedTag.process_artist = function(data) {
|
||||||
Danbooru.RelatedTag.recent_artist = data;
|
Danbooru.RelatedTag.recent_artists = data;
|
||||||
$("#artist-tags-container").show();
|
Danbooru.RelatedTag.build_all();
|
||||||
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);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
@import "../common/000_vars.css.scss";
|
@import "../common/000_vars.css.scss";
|
||||||
|
|
||||||
div#related-tags-container, div#artist-tags-container {
|
div#related-tags-container {
|
||||||
padding-right: 2em;
|
padding-right: 2em;
|
||||||
|
|
||||||
h1 {
|
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 {
|
div.related-tags {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
@@ -56,8 +40,7 @@ div.related-tags {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
div.tag-column.artist {
|
div.wide-column {
|
||||||
float: none;
|
max-width: 45em;
|
||||||
max-width: 100%;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,12 +74,6 @@
|
|||||||
<%= submit_tag "Submit" %>
|
<%= submit_tag "Submit" %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="artist-tags-container">
|
|
||||||
<h1>Artist</h1>
|
|
||||||
<div id="artist-tags" class="related-tags">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="related-tags-container">
|
<div id="related-tags-container">
|
||||||
<h1>Related Tags</h1>
|
<h1>Related Tags</h1>
|
||||||
<div id="related-tags" class="related-tags">
|
<div id="related-tags" class="related-tags">
|
||||||
|
|||||||
Reference in New Issue
Block a user