diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js
index 24201afe5..37ff9664b 100644
--- a/app/javascript/packs/application.js
+++ b/app/javascript/packs/application.js
@@ -1,4 +1,5 @@
/* eslint no-console:0 */
+/* global require */
function importAll(r) {
r.keys().forEach(r);
@@ -36,4 +37,4 @@ export { default as Dtext } from '../src/javascripts/dtext.js';
export { default as Note } from '../src/javascripts/notes.js';
export { default as PostModeMenu } from '../src/javascripts/post_mode_menu.js';
export { default as Utility } from '../src/javascripts/utility.js';
-export { default as Ugoira } from '../src/javascripts/ugoira.js';
\ No newline at end of file
+export { default as Ugoira } from '../src/javascripts/ugoira.js';
diff --git a/app/javascript/src/javascripts/artist_commentaries.js b/app/javascript/src/javascripts/artist_commentaries.js
index e111dba67..70f20af86 100644
--- a/app/javascript/src/javascripts/artist_commentaries.js
+++ b/app/javascript/src/javascripts/artist_commentaries.js
@@ -63,15 +63,16 @@ ArtistCommentary.initialize_edit_commentary_dialog = function() {
}
ArtistCommentary.fetch_commentary = function() {
+ var commentary = "";
Utility.notice("Fetching artist commentary...");
var type = $('#fetch-commentary select[name="commentary_source_type"]').val();
if (type === "Source") {
var source = $('#fetch-commentary input[name="commentary_source"]').val();
- var commentary = ArtistCommentary.from_source(source);
+ commentary = ArtistCommentary.from_source(source);
} else if (type === "Post") {
var id = $('#fetch-commentary input[name="commentary_post_id"]').val();
- var commentary = ArtistCommentary.from_post_id(id);
+ commentary = ArtistCommentary.from_post_id(id);
}
commentary.then(ArtistCommentary.fill_commentary).then(function (success) {
@@ -120,13 +121,13 @@ ArtistCommentary.merge_commentaries = function(description, commentary) {
var normalized_source = $("#image-container").data().normalizedSource;
if ((commentary.original_description && description) &&
- (commentary.original_description != description)) {
+ (commentary.original_description !== description)) {
return description
+ "\n\n[tn]\nSource: " + normalized_source + "\n[/tn]"
+ "\n\nh6. " + (commentary.original_title || "Untitled")
+ "\n\n" + commentary.original_description
+ "\n\n[tn]\nSource: " + commentary.source + "\n[/tn]";
- } else if (commentary.source != post_source) {
+ } else if (commentary.source !== post_source) {
return commentary.original_description + "\n\n[tn]\nSource: " + commentary.source + "\n[/tn]";
} else {
return commentary.original_description || description;
diff --git a/app/javascript/src/javascripts/artists.js b/app/javascript/src/javascripts/artists.js
index 88dd0068e..83a8784df 100644
--- a/app/javascript/src/javascripts/artists.js
+++ b/app/javascript/src/javascripts/artists.js
@@ -14,10 +14,10 @@ Artist.initialize_check_name = function() {
if ($("#artist_name").val().length > 0) {
$("#check-name-result").html("");
- $.getJSON("/artists?search[name]=" + escape($("#artist_name").val()), function(data) {
- if (data.length === 0) {
- $.getJSON("/wiki_pages/" + escape($("#artist_name").val()), function(data) {
- if (data !== null) {
+ $.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 wiki page with this name already exists. You must either move the wiki page or pick another artist name.")
}
});
diff --git a/app/javascript/src/javascripts/autocomplete.js.erb b/app/javascript/src/javascripts/autocomplete.js.erb
index 11a0fcb33..bd67ac744 100644
--- a/app/javascript/src/javascripts/autocomplete.js.erb
+++ b/app/javascript/src/javascripts/autocomplete.js.erb
@@ -3,9 +3,12 @@ import SavedSearch from './saved_searches'
let Autocomplete = {};
-Autocomplete.AUTOCOMPLETE_VERSION = 1;
-Autocomplete.PREFIXES = /^(-|~|<%= TagCategory.mapping.keys.map {|category| category + ':'}.join('|') %>)(.*)$/i;
-Autocomplete.METATAGS = /^(<%= Tag::METATAGS %>):(.*)$/i;
+Autocomplete.METATAGS = <%= Tag::METATAGS.to_json.html_safe %>;
+Autocomplete.TAG_CATEGORIES = <%= TagCategory.mapping.to_json.html_safe %>;
+
+Autocomplete.TAG_PREFIXES = "-|~|" + Object.keys(Autocomplete.TAG_CATEGORIES).map(category => category + ":").join("|");
+Autocomplete.TAG_PREFIXES_REGEX = new RegExp("^(" + Autocomplete.TAG_PREFIXES + ")(.*)$", "i");
+Autocomplete.METATAGS_REGEX = new RegExp("^(" + Autocomplete.METATAGS + "):(.*)$", "i");
Autocomplete.initialize_all = function() {
if (Utility.meta("enable-auto-complete") === "true") {
@@ -42,16 +45,15 @@ Autocomplete.initialize_mention_autocomplete = function($fields) {
},
source: function(req, resp) {
var cursor = this.element.get(0).selectionStart;
- var i;
var name = null;
- for (i=cursor; i>=1; --i) {
- if (req.term[i-1] === " ") {
+ for (var i = cursor; i >= 1; --i) {
+ if (req.term[i - 1] === " ") {
return;
}
- if (req.term[i-1] === "@") {
- if (i == 1 || /[ \r\n]/.test(req.term[i-2])) {
+ if (req.term[i - 1] === "@") {
+ if (i === 1 || /[ \r\n]/.test(req.term[i - 2])) {
name = req.term.substring(i, cursor);
break;
} else {
@@ -63,8 +65,6 @@ Autocomplete.initialize_mention_autocomplete = function($fields) {
if (name) {
Autocomplete.user_source(name, resp, "@");
}
-
- return;
}
});
}
@@ -99,7 +99,7 @@ Autocomplete.initialize_tag_autocomplete = function() {
return;
}
- switch(metatag) {
+ switch (metatag) {
case "md5":
case "width":
case "height":
@@ -117,7 +117,7 @@ Autocomplete.initialize_tag_autocomplete = function() {
case "pixiv_id":
case "pixiv":
<% TagCategory.short_name_list.each do |category| %>
- case "<%= category %>tags":
+ case "<%= category %>tags": // eslint-disable-line
<% end %>
resp([]);
return;
@@ -194,7 +194,7 @@ Autocomplete.initialize_artist_autocomplete = function($fields) {
type: "tag",
label: artist.name.replace(/_/g, " "),
value: artist.name,
- category: <%= Tag.categories.artist %>,
+ category: Autocomplete.TAG_CATEGORIES.artist,
};
}));
}
@@ -250,9 +250,7 @@ Autocomplete.normal_source = function(term, resp) {
return window.Danbooru.Autocomplete.normal_source(term, resp);
}
- var key = "ac-" + term.replace(/\./g,'\uFFFF');
-
- $.ajax({
+ return $.ajax({
url: "/tags/autocomplete.json",
data: {
"search[name_matches]": term,
@@ -288,12 +286,14 @@ Autocomplete.parse_query = function(text, caret) {
return {};
}
- if (match = term.match(Autocomplete.PREFIXES)) {
+ match = term.match(Autocomplete.TAG_PREFIXES_REGEX);
+ if (match) {
metatag = match[1].toLowerCase();
term = match[2];
}
-
- if (match = term.match(Autocomplete.METATAGS)) {
+
+ match = term.match(Autocomplete.METATAGS_REGEX);
+ if (match) {
metatag = match[1].toLowerCase();
term = match[2];
}
@@ -307,8 +307,7 @@ Autocomplete.insert_completion = function(input, completion) {
var before_caret_text = input.value.substring(0, input.selectionStart).trim();
var after_caret_text = input.value.substring(input.selectionStart).trim();
- var prefixes = "-|~|" + "<%= TagCategory.mapping.keys.map {|category| category + ':'}.join('|') %>";
- var regexp = new RegExp("(" + prefixes + ")?\\S+$", "g");
+ var regexp = new RegExp("(" + Autocomplete.TAG_PREFIXES + ")?\\S+$", "g");
before_caret_text = before_caret_text.replace(regexp, "$1") + completion + " ";
input.value = before_caret_text + after_caret_text;
@@ -357,12 +356,12 @@ Autocomplete.render_item = function(list, item) {
}
if (item.post_count !== undefined) {
- var count;
- if (item.post_count >= 1000) {
- count = Math.floor(item.post_count / 1000) + "k";
- } else {
- count = item.post_count;
+ var count = item.post_count;
+
+ if (count >= 1000) {
+ count = Math.floor(count / 1000) + "k";
}
+
var $post_count = $("").addClass("post-count").css("float", "right").text(count);
$link.append($post_count);
}
@@ -440,7 +439,7 @@ Autocomplete.user_source = function(term, resp, metatag) {
return window.Danbooru.Autocomplete.user_source(term, resp, metatag);
}
- $.ajax({
+ return $.ajax({
url: "/users.json",
data: {
"search[order]": "post_upload_count",
@@ -450,8 +449,8 @@ Autocomplete.user_source = function(term, resp, metatag) {
},
method: "get",
success: function(data) {
- var prefix;
- var display_name;
+ var prefix = "";
+ var display_name = null;
if (metatag === "@") {
prefix = "@";
@@ -478,7 +477,7 @@ Autocomplete.pool_source = function(term, resp, metatag) {
return window.Danbooru.Autocomplete.pool_source(term, resp, metatag);
}
- $.ajax({
+ return $.ajax({
url: "/pools.json",
data: {
"search[order]": "post_count",
@@ -505,7 +504,7 @@ Autocomplete.favorite_group_source = function(term, resp, metatag) {
return window.Danbooru.Autocomplete.favorite_group_source(term, resp, metatag);
}
- $.ajax({
+ return $.ajax({
url: "/favorite_groups.json",
data: {
"search[name_matches]": term,
diff --git a/app/javascript/src/javascripts/blacklists.js b/app/javascript/src/javascripts/blacklists.js
index a834e0cdc..9fbd08727 100644
--- a/app/javascript/src/javascripts/blacklists.js
+++ b/app/javascript/src/javascripts/blacklists.js
@@ -112,7 +112,7 @@ Blacklist.apply = function() {
$.each(this.posts(), function(i, post) {
var post_count = 0;
- $.each(Blacklist.entries, function(i, entry) {
+ $.each(Blacklist.entries, function(j, entry) {
if (Blacklist.post_match(post, entry)) {
entry.hits += 1;
count += 1;
@@ -192,7 +192,7 @@ Blacklist.initialize_all = function() {
}
$(document).ready(function() {
- if ($("#blacklist-box").length == 0) {
+ if ($("#blacklist-box").length === 0) {
return;
}
diff --git a/app/javascript/src/javascripts/comments.js b/app/javascript/src/javascripts/comments.js
index 5cb4327d7..544eaad91 100644
--- a/app/javascript/src/javascripts/comments.js
+++ b/app/javascript/src/javascripts/comments.js
@@ -39,7 +39,7 @@ Comment.quote = function(e) {
var $link = $(e.target);
var $div = $link.closest("div.comments-for-post").find(".new-comment");
var $textarea = $div.find("textarea");
- var msg = data["quoted_response"];
+ var msg = data.quoted_response;
if ($textarea.val().length > 0) {
msg = $textarea.val() + "\n\n" + msg;
}
diff --git a/app/javascript/src/javascripts/common.js b/app/javascript/src/javascripts/common.js
index 38c8dc252..c6428f0e4 100644
--- a/app/javascript/src/javascripts/common.js
+++ b/app/javascript/src/javascripts/common.js
@@ -45,6 +45,6 @@ $(function() {
});
});
-global.submitInvisibleRecaptchaForm = function () {
+window.submitInvisibleRecaptchaForm = function () {
document.getElementById("signup-form").submit();
}
diff --git a/app/javascript/src/javascripts/cookie.js b/app/javascript/src/javascripts/cookie.js
index 3018d4112..20a5e4b0b 100644
--- a/app/javascript/src/javascripts/cookie.js
+++ b/app/javascript/src/javascripts/cookie.js
@@ -31,11 +31,11 @@ Cookie.raw_get = function(name) {
for (var i = 0; i < ca.length; ++i) {
var c = ca[i];
- while (c.charAt(0) == " ") {
+ while (c.charAt(0) === " ") {
c = c.substring(1, c.length);
}
- if (c.indexOf(nameEq) == 0) {
+ if (c.indexOf(nameEq) === 0) {
return c.substring(nameEq.length, c.length);
}
}
@@ -56,9 +56,9 @@ Cookie.unescape = function(val) {
}
Cookie.initialize = function() {
- if (this.get("hide-upgrade-account") != "1") {
- $("#upgrade-account").show();
- }
+ if (this.get("hide-upgrade-account") !== "1") {
+ $("#upgrade-account").show();
+ }
}
$(function() {
diff --git a/app/javascript/src/javascripts/favorite_groups.js b/app/javascript/src/javascripts/favorite_groups.js
index 16c0b06ee..5445ed1e8 100644
--- a/app/javascript/src/javascripts/favorite_groups.js
+++ b/app/javascript/src/javascripts/favorite_groups.js
@@ -21,7 +21,7 @@ FavoriteGroup.initialize_add_to_favgroup_dialog = function() {
});
var open_favgroup_dialog = function(e) {
- if (Utility.meta("current-user-id") == "") { // anonymous
+ if (Utility.meta("current-user-id") === "") { // anonymous
return;
}
diff --git a/app/javascript/src/javascripts/favorites.js b/app/javascript/src/javascripts/favorites.js
index 96f23d8eb..ef6d2d44a 100644
--- a/app/javascript/src/javascripts/favorites.js
+++ b/app/javascript/src/javascripts/favorites.js
@@ -11,14 +11,14 @@ Favorite.initialize_all = function() {
Favorite.hide_or_show_add_to_favorites_link = function() {
var current_user_id = Utility.meta("current-user-id");
- if (current_user_id == "") {
+ if (current_user_id === "") {
$("#add-to-favorites").hide();
$("#remove-from-favorites").hide();
$("#add-fav-button").hide();
$("#remove-fav-button").hide();
return;
}
- if ($("#image-container").length && $("#image-container").data("is-favorited") == true) {
+ if ($("#image-container").length && $("#image-container").data("is-favorited") === true) {
$("#add-to-favorites").hide();
$("#add-fav-button").hide();
} else {
diff --git a/app/javascript/src/javascripts/forum_posts.js b/app/javascript/src/javascripts/forum_posts.js
index f33b75aed..ec855934d 100644
--- a/app/javascript/src/javascripts/forum_posts.js
+++ b/app/javascript/src/javascripts/forum_posts.js
@@ -3,7 +3,7 @@ import Utility from './utility'
let ForumPost = {};
ForumPost.initialize_all = function() {
- if ($("#c-forum-topics #a-show,#c-forum-posts #a-show").length) {;
+ if ($("#c-forum-topics #a-show,#c-forum-posts #a-show").length) {
this.initialize_edit_links();
Utility.keydown("e", "edit", function(e) {
@@ -44,4 +44,4 @@ $(document).ready(function() {
ForumPost.initialize_all();
});
-export default ForumPost
\ No newline at end of file
+export default ForumPost
diff --git a/app/javascript/src/javascripts/janitor_trials.js b/app/javascript/src/javascripts/janitor_trials.js
index 1208dc3df..96186ecc0 100644
--- a/app/javascript/src/javascripts/janitor_trials.js
+++ b/app/javascript/src/javascripts/janitor_trials.js
@@ -26,4 +26,4 @@ $(document).ready(function() {
JanitorTrials.initialize_all();
});
-export default JanitorTrials
\ No newline at end of file
+export default JanitorTrials
diff --git a/app/javascript/src/javascripts/mod_queue.js b/app/javascript/src/javascripts/mod_queue.js
index ad3bf6b37..3752b806c 100644
--- a/app/javascript/src/javascripts/mod_queue.js
+++ b/app/javascript/src/javascripts/mod_queue.js
@@ -66,4 +66,4 @@ $(function() {
}
});
-export default ModQueue
\ No newline at end of file
+export default ModQueue
diff --git a/app/javascript/src/javascripts/news_updates.js b/app/javascript/src/javascripts/news_updates.js
index e601a43b4..950db3684 100644
--- a/app/javascript/src/javascripts/news_updates.js
+++ b/app/javascript/src/javascripts/news_updates.js
@@ -5,7 +5,7 @@ let NewsUpdate = {};
NewsUpdate.initialize = function() {
var key = $("#news-updates").data("id");
- if (Cookie.get("news-ticker") == key) {
+ if (Cookie.get("news-ticker") === key) {
$("#news-updates").hide();
} else {
$("#news-updates").show();
@@ -27,4 +27,4 @@ $(function() {
NewsUpdate.initialize();
});
-export default NewsUpdate
\ No newline at end of file
+export default NewsUpdate
diff --git a/app/javascript/src/javascripts/notes.js b/app/javascript/src/javascripts/notes.js
index 3a2d5b190..f4ce1d95d 100644
--- a/app/javascript/src/javascripts/notes.js
+++ b/app/javascript/src/javascripts/notes.js
@@ -113,18 +113,18 @@ let Note = {
return;
}
+ var $this = $(this);
var $note_box_inner = $(e.currentTarget);
+
if (e.type === "mouseover") {
Note.Body.show($note_box_inner.data("id"));
if (Note.editing) {
- var $this = $(this);
$this.resizable("enable");
$this.draggable("enable");
}
} else if (e.type === "mouseout") {
Note.Body.hide($note_box_inner.data("id"));
if (Note.editing) {
- var $this = $(this);
$this.resizable("disable");
$this.draggable("disable");
}
@@ -191,7 +191,7 @@ let Note = {
return;
}
// Hide notes while rescaling, to prevent unnecessary reflowing
- var was_visible = container.style.display != 'none';
+ var was_visible = container.style.display !== 'none';
if (was_visible) {
container.style.display = 'none';
}
@@ -239,14 +239,6 @@ let Note = {
var $image = $("#image");
var doc_width = $image.offset().left + $image.width();
- /*while ($note_body[0].clientHeight < $note_body[0].scrollHeight) {
- $note_body.css({height: $note_body.height() + 5});
- }
-
- while ($note_body[0].clientWidth < $note_body[0].scrollWidth) {
- $note_body.css({width: $note_body.width() + 5});
- }*/
-
if ($note_body.offset().left + $note_body.width() > doc_width) {
$note_body.css({
left: $note_body.position().left - 10 - ($note_body.offset().left + $note_body.width() - doc_width)
@@ -286,10 +278,13 @@ let Note = {
var golden_ratio = 1.6180339887;
var last = 0;
var x = 0;
+ var lo = 0;
+ var hi = 0;
if ((w / h) < golden_ratio) {
- var lo = 140;
- var hi = 400;
+ lo = 140;
+ hi = 400;
+
do {
last = w;
x = (lo + hi) / 2;
@@ -304,8 +299,8 @@ let Note = {
}
} while ((lo < hi) && (w > last));
} else if ($note_body[0].scrollWidth <= $note_body.width()) {
- var lo = 20;
- var hi = w;
+ lo = 20;
+ hi = w;
do {
x = (lo + hi) / 2;
@@ -466,14 +461,16 @@ let Note = {
},
success_handler: function(data, status, xhr) {
+ var $note_box = null;
+
if (data.html_id) { // new note
var $note_body = Note.Body.find(data.html_id);
- var $note_box = Note.Box.find(data.html_id);
+ $note_box = Note.Box.find(data.html_id);
$note_body.data("id", String(data.id)).attr("data-id", data.id);
$note_box.data("id", String(data.id)).attr("data-id", data.id);
$note_box.find(".note-box-inner-border").removeClass("unsaved");
} else {
- var $note_box = Note.Box.find(data.id);
+ $note_box = Note.Box.find(data.id);
$note_box.find(".note-box-inner-border").removeClass("unsaved");
}
},
@@ -574,7 +571,7 @@ let Note = {
start: function(e) {
e.preventDefault();
- if (Utility.meta("current-user-id") == "") {
+ if (Utility.meta("current-user-id") === "") {
Utility.notice("You must be logged in to edit notes");
return;
}
@@ -654,7 +651,7 @@ let Note = {
var offset = $image.offset();
var limitX1 = $image.width() - Note.TranslationMode.Drag.dragStartX + offset.left - 1;
var limitX2 = offset.left - Note.TranslationMode.Drag.dragStartX;
- var limitY1 = $image.height()- Note.TranslationMode.Drag.dragStartY + offset.top - 1;
+ var limitY1 = $image.height() - Note.TranslationMode.Drag.dragStartY + offset.top - 1;
var limitY2 = offset.top - Note.TranslationMode.Drag.dragStartY;
if (Note.TranslationMode.Drag.dragDistanceX > limitX1) {
@@ -709,8 +706,8 @@ let Note = {
$(window).off("mousemove");
if (Note.TranslationMode.Drag.dragging) {
- $('#note-preview').css({display:'none'});
- Note.TranslationMode.create_note(e, Note.TranslationMode.Drag.x, Note.TranslationMode.Drag.y, Note.TranslationMode.Drag.w-1, Note.TranslationMode.Drag.h-1);
+ $('#note-preview').css({ display: 'none' });
+ Note.TranslationMode.create_note(e, Note.TranslationMode.Drag.x, Note.TranslationMode.Drag.y, Note.TranslationMode.Drag.w - 1, Note.TranslationMode.Drag.h - 1);
Note.TranslationMode.Drag.dragging = false; /* border of the note is pixel-perfect on the preview border */
} else { /* no dragging -> toggle display of notes */
Note.Box.toggle_all();
@@ -796,7 +793,7 @@ let Note = {
},
initialize_all: function() {
- if ($("#c-posts #a-show #image").length == 0 || $("video#image").length) {
+ if ($("#c-posts #a-show #image").length === 0 || $("video#image").length) {
return;
}
@@ -809,7 +806,7 @@ let Note = {
},
initialize_shortcuts: function() {
- if ($("#note-locked-notice").length == 0) {
+ if ($("#note-locked-notice").length === 0) {
$("#translate").click(Note.TranslationMode.toggle);
Utility.keydown("n", "translation_mode", Note.TranslationMode.toggle);
}
diff --git a/app/javascript/src/javascripts/pools.js b/app/javascript/src/javascripts/pools.js
index 521682b9a..67fe3986a 100644
--- a/app/javascript/src/javascripts/pools.js
+++ b/app/javascript/src/javascripts/pools.js
@@ -52,7 +52,7 @@ Pool.initialize_simple_edit = function() {
$.ajax({
type: "put",
url: e.target.action,
- data: $("#sortable").sortable("serialize") + "&" + $(e.target).serialize()
+ data: $("#sortable").sortable("serialize") + "&" + $(e.target).serialize()
});
e.preventDefault();
});
@@ -62,4 +62,4 @@ $(document).ready(function() {
Pool.initialize_all();
});
-export default Pool
\ No newline at end of file
+export default Pool
diff --git a/app/javascript/src/javascripts/post_mode_menu.js b/app/javascript/src/javascripts/post_mode_menu.js
index 22501f230..85b6c8c4f 100644
--- a/app/javascript/src/javascripts/post_mode_menu.js
+++ b/app/javascript/src/javascripts/post_mode_menu.js
@@ -22,20 +22,19 @@ PostModeMenu.initialize_shortcuts = function() {
}
PostModeMenu.show_notice = function(i) {
- Utility.notice("Switched to tag script #" + i + ". To switch tag scripts, use the number keys.");
+ Utility.notice("Switched to tag script #" + i + ". To switch tag scripts, use the number keys.");
}
PostModeMenu.change_tag_script = function(e) {
if ($("#mode-box select").val() === "tag-script") {
var old_tag_script_id = Cookie.get("current_tag_script_id") || "1";
- var old_tag_script = $("#tag-script-field").val();
-
+
var new_tag_script_id = String.fromCharCode(e.which);
var new_tag_script = Cookie.get("tag-script-" + new_tag_script_id);
-
+
$("#tag-script-field").val(new_tag_script);
Cookie.put("current_tag_script_id", new_tag_script_id);
- if (old_tag_script_id != new_tag_script_id) {
+ if (old_tag_script_id !== new_tag_script_id) {
PostModeMenu.show_notice(new_tag_script_id);
}
@@ -145,7 +144,7 @@ PostModeMenu.open_edit = function(post_id) {
$("#post_tag_string").val($post.data("tags") + " ").focus().selectEnd();
/* Set height of tag edit box to fit content. */
- $("#post_tag_string").height(80); // min height: 80px.
+ $("#post_tag_string").height(80); // min height: 80px.
var padding = $("#post_tag_string").innerHeight() - $("#post_tag_string").height();
var height = $("#post_tag_string").prop("scrollHeight") - padding;
$("#post_tag_string").height(height);
diff --git a/app/javascript/src/javascripts/post_popular.js b/app/javascript/src/javascripts/post_popular.js
index 3225195f4..a783adb3b 100644
--- a/app/javascript/src/javascripts/post_popular.js
+++ b/app/javascript/src/javascripts/post_popular.js
@@ -35,4 +35,4 @@ $(document).ready(function() {
PostPopular.initialize_all();
});
-export default PostPopular
\ No newline at end of file
+export default PostPopular
diff --git a/app/javascript/src/javascripts/post_tooltips.js.erb b/app/javascript/src/javascripts/post_tooltips.js.erb
index 513d75085..01da70720 100644
--- a/app/javascript/src/javascripts/post_tooltips.js.erb
+++ b/app/javascript/src/javascripts/post_tooltips.js.erb
@@ -133,4 +133,4 @@ PostTooltip.on_disable_tooltips = function (event) {
$(document).ready(PostTooltip.initialize);
-export default PostTooltip
\ No newline at end of file
+export default PostTooltip
diff --git a/app/javascript/src/javascripts/posts.js.erb b/app/javascript/src/javascripts/posts.js.erb
index 3c506747a..8c8f409f8 100644
--- a/app/javascript/src/javascripts/posts.js.erb
+++ b/app/javascript/src/javascripts/posts.js.erb
@@ -1,3 +1,5 @@
+/* global addthis */
+
import Utility from './utility'
import Hammer from 'hammerjs'
import RelatedTag from './related_tag.js.erb'
@@ -79,7 +81,7 @@ Post.initialize_gestures = function() {
}
}
-Post.initialize_edit_dialog = function(e) {
+Post.initialize_edit_dialog = function() {
$("#open-edit-dialog").button().show().click(function(e) {
$(window).scrollTop($("#image").offset().top);
Post.open_edit_dialog();
@@ -104,11 +106,11 @@ Post.open_edit_dialog = function() {
dialog.dialog({
title: "Edit tags",
width: $(window).width() * 0.6,
- position: {
- my: "right",
- at: "right-20",
- of: window
- },
+ position: {
+ my: "right",
+ at: "right-20",
+ of: window
+ },
drag: function(e, ui) {
if (Utility.meta("enable-auto-complete") === "true") {
$tag_string.data("uiAutocomplete").close();
@@ -128,15 +130,15 @@ Post.open_edit_dialog = function() {
if (dialog_widget.css("position") === "absolute") {
pos.left -= $(window).scrollLeft();
pos.top -= $(window).scrollTop();
- dialog_widget.offset(pos).css({position:"fixed"});
- dialog.dialog("option", "resize", function() { dialog_widget.css({position:"fixed"}); });
+ dialog_widget.offset(pos).css({ position: "fixed" });
+ dialog.dialog("option", "resize", function() { dialog_widget.css({ position: "fixed" }); });
pin_button.button("option", "icons", {primary: "ui-icon-pin-s"});
} else {
pos.left += $(window).scrollLeft();
pos.top += $(window).scrollTop();
- dialog_widget.offset(pos).css({position:"absolute"});
- dialog.dialog("option", "resize", function() {});
+ dialog_widget.offset(pos).css({ position: "absolute" });
+ dialog.dialog("option", "resize", function() { /* do nothing */ });
pin_button.button("option", "icons", {primary: "ui-icon-pin-w"});
}
@@ -144,8 +146,7 @@ Post.open_edit_dialog = function() {
dialog.parent().mouseout(function(e) {
dialog.parent().css({"opacity": 0.6, "transition": "opacity .2s ease"});
- })
- .mouseover(function(e) {
+ }).mouseover(function(e) {
dialog.parent().css({"opacity": 1});
});
@@ -182,15 +183,17 @@ Post.swipe_prev = function(e) {
}
Post.nav_prev = function(e) {
+ var href = "";
+
if ($("#search-seq-nav").length) {
- var href = $("#search-seq-nav a[rel~=prev]").attr("href");
+ href = $("#search-seq-nav a[rel~=prev]").attr("href");
if (href) {
location.href = href;
}
} else if ($(".paginator a[rel~=prev]").length) {
location.href = $("a[rel~=prev]").attr("href");
} else {
- var href = $("#pool-nav a.active[rel~=prev], #favgroup-nav a.active[rel~=prev]").attr("href");
+ href = $("#pool-nav a.active[rel~=prev], #favgroup-nav a.active[rel~=prev]").attr("href");
if (href) {
location.href = href;
}
@@ -200,13 +203,15 @@ Post.nav_prev = function(e) {
}
Post.nav_next = function(e) {
+ var href = "";
+
if ($("#search-seq-nav").length) {
- var href = $("#search-seq-nav a[rel~=next]").attr("href");
+ href = $("#search-seq-nav a[rel~=next]").attr("href");
location.href = href;
} else if ($(".paginator a[rel~=next]").length) {
location.href = $(".paginator a[rel~=next]").attr("href");
} else {
- var href = $("#pool-nav a.active[rel~=next], #favgroup-nav a.active[rel~=next]").attr("href");
+ href = $("#pool-nav a.active[rel~=next], #favgroup-nav a.active[rel~=next]").attr("href");
if (href) {
location.href = href;
}
@@ -301,8 +306,7 @@ Post.toggle_relationship_preview = function(preview, preview_link) {
if (preview.is(":visible")) {
preview_link.html("« hide");
Cookie.put("show-relationship-previews", "1");
- }
- else {
+ } else {
preview_link.html("show »");
Cookie.put("show-relationship-previews", "0");
}
@@ -343,7 +347,7 @@ Post.expand_image = function(e) {
$image.attr("src", $link.attr("href"));
$image.css("opacity", "0.25");
$image.width($image.data("original-width"));
- $image.height($image.data("original-height"));
+ $image.height($image.data("original-height"));
$image.on("load", function() {
$image.css("opacity", "1");
$notice.hide();
@@ -384,14 +388,16 @@ Post.initialize_post_image_resize_links = function() {
}
Post.resize_image_to_window = function($img) {
+ var sidebar_width = 0;
+ var client_width = 0;
+
if (($img.data("scale-factor") === 1) || ($img.data("scale-factor") === undefined)) {
if ($(window).width() > 660) {
- var sidebar_width = $("#sidebar").width() || 0;
- var client_width = $(window).width() - sidebar_width - 75;
+ sidebar_width = $("#sidebar").width() || 0;
+ client_width = $(window).width() - sidebar_width - 75;
} else {
- var client_width = $(window).width() - 2;
+ client_width = $(window).width() - 2;
}
- var client_height = $(window).height();
if ($img.width() > client_width) {
var ratio = client_width / $img.data("original-width");
@@ -473,7 +479,7 @@ Post.initialize_post_sections = function() {
$("#share").show();
addthis.init();
$("#recommended").hide();
- }
+ }
$("#post-sections li").removeClass("active");
$(e.target).parent("li").addClass("active");
@@ -525,7 +531,7 @@ Post.vote = function(score, id) {
$(window).trigger("danbooru:notice", "Voting...");
$.post("/posts/" + id + "/votes.js", {
- score: score
+ score: score
});
}
@@ -583,12 +589,10 @@ Post.approve = function(post_id) {
Post.favorite = function (e) {
if ($("#add-to-favorites").is(":visible")) {
$("#add-to-favorites")[0].click();
+ } else if (Utility.meta("current-user-id") === "") {
+ $(window).trigger("danbooru:notice", "You must be logged in to favorite posts");
} else {
- if (Utility.meta("current-user-id") == "") {
- $(window).trigger("danbooru:notice", "You must be logged in to favorite posts");
- } else {
- $(window).trigger("danbooru:notice", "You have already favorited this post");
- }
+ $(window).trigger("danbooru:notice", "You have already favorited this post");
}
};
@@ -690,4 +694,4 @@ $(document).ready(function() {
Post.initialize_all();
});
-export default Post
\ No newline at end of file
+export default Post
diff --git a/app/javascript/src/javascripts/related_tag.js.erb b/app/javascript/src/javascripts/related_tag.js.erb
index d627881a3..af37bd629 100644
--- a/app/javascript/src/javascripts/related_tag.js.erb
+++ b/app/javascript/src/javascripts/related_tag.js.erb
@@ -15,18 +15,14 @@ RelatedTag.initialize_all = function() {
RelatedTag.initialize_buttons = function() {
this.common_bind("#related-tags-button", "");
<% TagCategory.related_button_list.each do |category| %>
- RelatedTag.common_bind("#related-<%= category %>-button", "<%= category %>");
+ RelatedTag.common_bind("#related-<%= category %>-button", "<%= category %>"); // eslint-disable-line indent
<% end %>
$("#find-artist-button").click(RelatedTag.find_artist);
}
RelatedTag.tags_include = function(name) {
var current = $("#upload_tag_string,#post_tag_string").val().toLowerCase().match(/\S+/g) || [];
- if ($.inArray(name.toLowerCase(), current) > -1) {
- return true;
- } else {
- return false;
- }
+ return $.inArray(name.toLowerCase(), current) > -1;
}
RelatedTag.common_bind = function(button_name, category) {
@@ -89,7 +85,7 @@ RelatedTag.current_tag = function() {
}
b++;
- return string.slice(a, b);
+ return string.slice(a, b);
}
RelatedTag.process_response = function(data) {
@@ -130,7 +126,7 @@ RelatedTag.build_all = function() {
if (wiki_page_tags.length) {
$dest.append(RelatedTag.build_html("wiki:" + query, wiki_page_tags, "wiki"));
}
- $.each(other_wikis, function(i,wiki) {
+ $.each(other_wikis, function(i, wiki) {
$dest.append(RelatedTag.build_html("wiki:" + wiki.title, wiki.wiki_page_tags, "otherwiki" + i.toString()));
});
if (RelatedTag.recent_artists) {
@@ -156,7 +152,7 @@ RelatedTag.build_all = function() {
tags.push([artist.name, 1]);
});
}
- $dest.append(RelatedTag.build_html("artist", tags, "artist", true));
+ $dest.append(RelatedTag.build_html("artist", tags, "artist", true));
}
}
@@ -231,9 +227,10 @@ RelatedTag.build_html = function(query, related_tags, name, is_wide_column) {
);
} else {
var text = tag[0];
+ var desc = "";
if (text.match(/^ -http/)) {
text = text.substring(1, 1000);
- var desc = text.replace(/^-https?:\/\//, "");
+ desc = text.replace(/^-https?:\/\//, "");
if (desc.length > 30) {
desc = desc.substring(0, 30) + "...";
}
@@ -244,7 +241,7 @@ RelatedTag.build_html = function(query, related_tags, name, is_wide_column) {
);
} else if (text.match(/^ http/)) {
text = text.substring(1, 1000);
- var desc = text.replace(/^https?:\/\//, "");
+ desc = text.replace(/^https?:\/\//, "");
if (desc.length > 30) {
desc = desc.substring(0, 30) + "...";
}
@@ -284,7 +281,7 @@ RelatedTag.toggle_tag = function(e) {
RelatedTag.process_artist(RelatedTag.recent_artist);
}
- //The timeout is needed on Chrome since it will clobber the field attribute otherwise
+ // The timeout is needed on Chrome since it will clobber the field attribute otherwise
setTimeout(function () { $field.prop('selectionStart', $field.val().length);}, 100);
e.preventDefault();
}
@@ -295,7 +292,7 @@ RelatedTag.find_artist = function(e) {
var referer_url = $("#upload_referer_url");
$.get("/artists/finder.json", {"url": url.val(), "referer_url": referer_url.val()}, RelatedTag.process_artist);
if (e) {
- e.preventDefault();
+ e.preventDefault();
}
}
@@ -328,12 +325,12 @@ RelatedTag.hide = function() {
RelatedTag.disable_artist_url = function(e) {
var url = e.currentTarget.href;
$.each(RelatedTag.recent_artists[0].sorted_urls, function(k, v) {
- if (v["normalized_url"] === url || v["url"] === url) {
+ if (v.normalized_url === url || v.url === url) {
if (!confirm("This will mark the URL as inactive. Continue?")) {
return;
}
-
- $.ajax("/artist_urls/" + v["id"], {
+
+ $.ajax("/artist_urls/" + v.id, {
method: "PUT",
data: {
artist_url: {
diff --git a/app/javascript/src/javascripts/saved_searches.js b/app/javascript/src/javascripts/saved_searches.js
index dc6d38b5f..4f0e0bc48 100644
--- a/app/javascript/src/javascripts/saved_searches.js
+++ b/app/javascript/src/javascripts/saved_searches.js
@@ -17,4 +17,4 @@ SavedSearch.labels = function(term) {
$(SavedSearch.initialize_all);
-export default SavedSearch
\ No newline at end of file
+export default SavedSearch
diff --git a/app/javascript/src/javascripts/shortcuts.js b/app/javascript/src/javascripts/shortcuts.js
index 9b0363ce6..5cdc09666 100644
--- a/app/javascript/src/javascripts/shortcuts.js
+++ b/app/javascript/src/javascripts/shortcuts.js
@@ -14,7 +14,7 @@ Shortcuts.initialize = function() {
if ($("#image").length) { // post page or bookmarklet upload page
Utility.keydown("shift+e", "edit_dialog", function(e) {
- if (Utility.meta("current-user-id") == "") { // anonymous
+ if (Utility.meta("current-user-id") === "") { // anonymous
return;
}
@@ -56,4 +56,4 @@ $(document).ready(function() {
Shortcuts.initialize();
});
-export default Shortcuts
\ No newline at end of file
+export default Shortcuts
diff --git a/app/javascript/src/javascripts/tag_script.js b/app/javascript/src/javascripts/tag_script.js
index ba20ee1a7..4ecbf5ba1 100644
--- a/app/javascript/src/javascripts/tag_script.js
+++ b/app/javascript/src/javascripts/tag_script.js
@@ -16,10 +16,8 @@ TagScript.test = function(tags, predicate) {
if ($.inArray(x.substr(1, 100), tags)) {
is_true = false;
}
- } else {
- if (!$.inArray(x, tags)) {
- is_true = false;
- }
+ } else if (!$.inArray(x, tags)) {
+ is_true = false;
}
});
@@ -57,4 +55,4 @@ TagScript.run = function(post_id, tag_script) {
Post.update(post_id, {"post[old_tag_string]": old_tags, "post[tag_string]": $post.data("tags")});
}
-export default TagScript
\ No newline at end of file
+export default TagScript
diff --git a/app/javascript/src/javascripts/ugoira.js b/app/javascript/src/javascripts/ugoira.js
index 8c8a0af65..6fee99ef3 100644
--- a/app/javascript/src/javascripts/ugoira.js
+++ b/app/javascript/src/javascripts/ugoira.js
@@ -50,7 +50,7 @@ Ugoira.create_player = (mime_type, frames, file_url) => {
$("#seek-slider").slider({
min: 0,
- max: Ugoira.player._frameCount-1,
+ max: Ugoira.player._frameCount - 1,
start: (event, ui) => {
// Need to pause while slider is being dragged or playback speed will bug out
Ugoira.player.pause();
diff --git a/app/javascript/src/javascripts/uploads.js b/app/javascript/src/javascripts/uploads.js
index 51e491a0e..99ef33de8 100644
--- a/app/javascript/src/javascripts/uploads.js
+++ b/app/javascript/src/javascripts/uploads.js
@@ -1,6 +1,5 @@
import Utility from './utility'
import Post from './posts.js.erb'
-import Artist from './artists'
import RelatedTag from './related_tag.js.erb'
let Upload = {};
@@ -45,8 +44,8 @@ Upload.initialize_submit = function() {
error_messages.push("Must specify a rating");
}
if (error_messages.length === 0) {
- $("#submit-button").prop("disabled","true");
- $("#submit-button").prop("value","Submitting...");
+ $("#submit-button").prop("disabled", "true");
+ $("#submit-button").prop("value", "Submitting...");
$("#client-errors").hide();
} else {
$("#client-errors").html("Error: " + error_messages.join(", "));
@@ -112,7 +111,7 @@ Upload.fetch_source_data = function(url, referer_url) {
return $.getJSON("/source.json", { url: url, ref: referer_url })
.then(Upload.fill_source_info)
.catch(function(data) {
- $("#source-info span#loading-data").html("Error: " + data.responseJSON["message"])
+ $("#source-info span#loading-data").html("Error: " + data.responseJSON.message)
});
}
diff --git a/app/javascript/src/javascripts/utility.js b/app/javascript/src/javascripts/utility.js
index b5c041877..d287ac4d6 100644
--- a/app/javascript/src/javascripts/utility.js
+++ b/app/javascript/src/javascripts/utility.js
@@ -22,7 +22,7 @@ Utility.scroll_to = function(element) {
}
var top = null;
- if (typeof(element) === "number") {
+ if (typeof element === "number") {
top = element;
} else {
top = element.offset().top - 10;
@@ -76,8 +76,7 @@ Utility.intersect = function(a, b) {
a = a.slice(0).sort();
b = b.slice(0).sort();
var result = [];
- while (a.length > 0 && b.length > 0)
- {
+ while (a.length > 0 && b.length > 0) {
if (a[0] < b[0]) {
a.shift();
} else if (a[0] > b[0]) {
@@ -150,7 +149,7 @@ $.fn.selectRange = function(start, end) {
});
};
-$.fn.selectEnd = function(){
+$.fn.selectEnd = function() {
if (this.length) {
this.selectRange(this.val().length, this.val().length);
}