artists.js: replace 'check name' code with tag autocomplete.
Instead of having custom code check whether the artist name is already in use, just enable autocomplete on the artist name field. This is an easier and more robust way to indicate tag name conflicts.
This commit is contained in:
@@ -1,33 +0,0 @@
|
||||
let Artist = {};
|
||||
|
||||
Artist.initialize_all = function() {
|
||||
if ($("#c-artists").length) {
|
||||
Artist.initialize_check_name();
|
||||
}
|
||||
}
|
||||
|
||||
Artist.initialize_check_name = function() {
|
||||
$("#artist_name").on("keyup.danbooru", function(e) {
|
||||
if ($("#artist_name").val().length > 0) {
|
||||
$("#check-name-result").html("");
|
||||
|
||||
$.getJSON("/artists?search[name]=" + escape($("#artist_name").val()), function(artists) {
|
||||
if (artists.length === 0) {
|
||||
$.getJSON("/wiki_pages/" + escape($("#artist_name").val()), function(wiki_pages) {
|
||||
if (wiki_pages !== null) {
|
||||
$("#check-name-result").html("<a href='/wiki_pages/" + escape($("#artist_name").val()) + "'>A wiki page with this name already exists</a>. You must either move the wiki page or pick another artist name.")
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$("#check-name-result").html("An artist with this name already exists.")
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
Artist.initialize_all();
|
||||
});
|
||||
|
||||
export default Artist
|
||||
@@ -1,19 +1,12 @@
|
||||
<%= simple_form_for(@artist) do |f| %>
|
||||
<div class="input">
|
||||
<label for="artist_name">Name</label>
|
||||
<% if @artist.new_record? %>
|
||||
<%= text_field "artist", "name" %>
|
||||
<span id="check-name-result"></span>
|
||||
<% if @artist.new_record? %>
|
||||
<%= f.input :name, input_html: { data: { autocomplete: "tag" } } %>
|
||||
<% elsif CurrentUser.user.is_builder? %>
|
||||
<%= f.input :name, input_html: { data: { autocomplete: "tag" } }, hint: "Change to rename this artist entry and its wiki page" %>
|
||||
<% else %>
|
||||
<p><%= @artist.name %></p>
|
||||
<% end %>
|
||||
|
||||
<% elsif CurrentUser.user.is_builder? %>
|
||||
<%= text_field "artist", "name" %>
|
||||
<span id="check-name-result"></span>
|
||||
<span class="hint">Change to rename this artist entry and its wiki page</span>
|
||||
|
||||
<% else %>
|
||||
<p><%= @artist.name %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
<%= f.input :other_names_string, label: "Other names", as: :text, hint: '<b style="color: red;">NEW</b> Separate names with spaces, not commas. Use underscores for spaces inside names.'.html_safe %>
|
||||
<%= f.input :group_name %>
|
||||
<%= f.input :url_string, :label => "URLs", :as => :text, :input_html => {:size => "50x5", :value => params.dig(:artist, :url_string) || @artist.urls.join("\n")}, :hint => "You can prefix a URL with - to mark it as dead." %>
|
||||
|
||||
Reference in New Issue
Block a user