Fetch source data: list Danbooru artist tag; elim duplicated code.
* In the `Fetch source data` box, list the Danbooru artist tag(s) that were found beside the artist name. * Unify `Fetch source data` code that was duplicated between the uploads page and the post show page.
This commit is contained in:
@@ -59,56 +59,65 @@
|
||||
}
|
||||
|
||||
Danbooru.Upload.initialize_info_bookmarklet = function() {
|
||||
$("#source-info ul").hide();
|
||||
$("#fetch-data-bookmarklet").click(function(e) {
|
||||
var xhr = $.get(e.target.href);
|
||||
xhr.success(Danbooru.Upload.fill_source_info);
|
||||
xhr.fail(function(data) {
|
||||
$("#source-info span#loading-data").html("Error: " + data.responseJSON["message"])
|
||||
});
|
||||
e.preventDefault();
|
||||
});
|
||||
$("#fetch-data-bookmarklet").trigger("click");
|
||||
$("#fetch-data-manual").click();
|
||||
}
|
||||
|
||||
Danbooru.Upload.initialize_info_manual = function() {
|
||||
$("#source-info ul").hide();
|
||||
|
||||
$("#fetch-data-manual").click(function(e) {
|
||||
var source = $("#upload_source,#post_source").val();
|
||||
var referer = $("#upload_referer_url").val();
|
||||
|
||||
if (!/\S/.test(source)) {
|
||||
Danbooru.error("Error: You must enter a URL into the source field to get its data");
|
||||
} else if (!/^https?:\/\//.test(source)) {
|
||||
Danbooru.error("Error: Source is not a URL");
|
||||
} else {
|
||||
$("#source-info span#loading-data").show();
|
||||
var xhr = $.get("/source.json?url=" + encodeURIComponent(source));
|
||||
xhr.success(Danbooru.Upload.fill_source_info);
|
||||
xhr.fail(function(data) {
|
||||
$("#source-info span#loading-data").html("Error: " + data.responseJSON["message"])
|
||||
});
|
||||
Danbooru.Upload.fetch_source_data(source, referer);
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
});
|
||||
}
|
||||
|
||||
Danbooru.Upload.fetch_source_data = function(url, referer_url) {
|
||||
var xhr = $.getJSON("/source.json", { url: url, ref: referer_url });
|
||||
|
||||
xhr.success(Danbooru.Upload.fill_source_info);
|
||||
xhr.fail(function(data) {
|
||||
$("#source-info span#loading-data").html("Error: " + data.responseJSON["message"])
|
||||
});
|
||||
|
||||
return xhr;
|
||||
}
|
||||
|
||||
Danbooru.Upload.fill_source_info = function(data) {
|
||||
$("#source-tags").empty();
|
||||
$.each(data.tags, function(i, v) {
|
||||
$("<a>").attr("href", v[1]).text(v[0]).appendTo("#source-tags");
|
||||
});
|
||||
|
||||
$("#source-artist").html($("<a>").attr("href", data.profile_url).text(data.artist_name));
|
||||
$("#source-artist-profile").attr("href", data.profile_url).text(data.artist_name);
|
||||
|
||||
Danbooru.RelatedTag.translated_tags = data.translated_tags;
|
||||
Danbooru.RelatedTag.build_all();
|
||||
|
||||
var new_artist_href = "/artists/new?other_names="
|
||||
+ encodeURIComponent(data.artist_name)
|
||||
+ "&urls="
|
||||
+ encodeURIComponent($.unique([data.profile_url, data.normalized_for_artist_finder_url]).join("\n"));
|
||||
if (data.artists.length === 0) {
|
||||
var new_artist_params = $.param({
|
||||
name: data.unique_id,
|
||||
other_names: data.artist_name,
|
||||
urls: $.unique([data.profile_url, data.normalized_for_artist_finder_url]).join("\n")
|
||||
});
|
||||
|
||||
$("#source-record").html($("<a>").attr("href", new_artist_href).text("Create New"));
|
||||
var link = $("<a>").attr("href", "/artists/new?" + new_artist_params).text("Create new artist");
|
||||
$("#source-danbooru-artists").html(link);
|
||||
} else {
|
||||
var artistLinks = data.artists.map(function (artist) {
|
||||
return $('<a class="tag-type-1">').attr("href", "/artists/" + artist.id).text(artist.name);
|
||||
});
|
||||
|
||||
$("#source-danbooru-artists").html(artistLinks)
|
||||
}
|
||||
|
||||
if (data.image_urls.length > 1) {
|
||||
$("#gallery-warning").show();
|
||||
|
||||
Reference in New Issue
Block a user