successCallback(data, textStatus);
}
}, "error": function(xmlHttpRequest, textStatus, errorThrown) {
- if (xmlHttpRequest.status == 403) {
+ if (xmlHttpRequest.status === 403) {
notLoggedIn = true;
}
if (typeof errorCallback != "undefined") {
function registerInputTextareaSwap(inputElement, defaultText, inputFieldName, optional, dontUseTextarea) {
$(inputElement).each(function() {
var textarea = $(dontUseTextarea ? "<input type=\"text\" name=\"" + inputFieldName + "\">" : "<textarea name=\"" + inputFieldName + "\"></textarea>").blur(function() {
- if ($(this).val() == "") {
+ if ($(this).val() === "") {
$(this).hide();
var inputField = $(this).data("inputField");
inputField.show().removeAttr("disabled").addClass("default");
/* no, show(), “display: block” is not what I need. */
textarea.prop("style", "display: inline").focus();
});
- if (inputField.val() == "") {
+ if (inputField.val() === "") {
inputField.addClass("default");
inputField.val(defaultText);
} else {
}
$(inputField.get(0).form).submit(function() {
inputField.prop("disabled", "disabled");
- if (!optional && (textarea.val() == "")) {
+ if (!optional && (textarea.val() === "")) {
inputField.removeAttr("disabled").focus();
return false;
}
* The element to add a “comment” link to
*/
function addCommentLink(postId, author, element, insertAfterThisElement) {
- if (($(element).find(".show-reply-form").length > 0) || (getPostElement(element).find(".create-reply").length == 0)) {
+ if (($(element).find(".show-reply-form").length > 0) || (getPostElement(element).find(".create-reply").length === 0)) {
return;
}
(function(postId, author, insertAfterThisElement) {
});
})(replyElement);
var textArea = replyElement.find(":input.reply-input").focus().data("textarea");
- if (author != getCurrentSoneId()) {
+ if (author !== getCurrentSoneId()) {
textArea.val(textArea.val() + "@sone://" + author + " ");
}
});
*/
function updateSoneStatus(soneId, name, status, modified, locked, lastUpdated, lastUpdatedText) {
var updateSone = sone.find(".sone." + filterSoneId(soneId));
- updateSone.toggleClass("unknown", status == "unknown").
- toggleClass("idle", status == "idle").
- toggleClass("inserting", status == "inserting").
- toggleClass("downloading", status == "downloading").
+ updateSone.toggleClass("unknown", status === "unknown").
+ toggleClass("idle", status === "idle").
+ toggleClass("inserting", status === "inserting").
+ toggleClass("downloading", status === "downloading").
toggleClass("modified", modified);
updateSone.find(".lock").toggleClass("hidden", locked);
updateSone.find(".unlock").toggleClass("hidden", !locked);
button.fadeOut("slow", function() {
newButton.fadeIn("slow");
$(document).one("click", function() {
- if (this != newButton.get(0)) {
+ if (this !== newButton.get(0)) {
newButton.fadeOut(function() {
button.fadeIn();
});
}
if (data.success) {
sone.find(".post#post-" + postId).slideUp();
- } else if (data.error == "invalid-post-id") {
+ } else if (data.error === "invalid-post-id") {
/* pretend the post is already gone. */
getPost(postId).slideUp();
- } else if (data.error == "auth-required") {
+ } else if (data.error === "auth-required") {
alert("You need to be logged in.");
- } else if (data.error == "not-authorized") {
+ } else if (data.error === "not-authorized") {
alert("You are not allowed to delete this post.");
}
}, function(xmlHttpRequest, textStatus, error) {
}
if (data.success) {
sone.find(".reply#reply-" + replyId).slideUp();
- } else if (data.error == "invalid-reply-id") {
+ } else if (data.error === "invalid-reply-id") {
/* pretend the reply is already gone. */
getReply(replyId).slideUp();
- } else if (data.error == "auth-required") {
+ } else if (data.error === "auth-required") {
alert("You need to be logged in.");
- } else if (data.error == "not-authorized") {
+ } else if (data.error === "not-authorized") {
alert("You are not allowed to delete this reply.");
}
}, function(xmlHttpRequest, textStatus, error) {
*/
function getSone(soneId) {
return sone.find(".sone").filter(function(index) {
- return $(".id", this).text() == soneId;
+ return $(".id", this).text() === soneId;
});
}
function updatePostLikes(postId) {
ajaxGet("getLikes.ajax", { "type": "post", "post": postId }, function(data, textStatus) {
if ((data != null) && data.success) {
- sone.find(".post#post-" + postId + " > .inner-part > .status-line .likes").toggleClass("hidden", data.likes == 0);
+ sone.find(".post#post-" + postId + " > .inner-part > .status-line .likes").toggleClass("hidden", data.likes === 0);
sone.find(".post#post-" + postId + " > .inner-part > .status-line .likes span.like-count").text(data.likes);
sone.find(".post#post-" + postId + " > .inner-part > .status-line .likes > span").prop("title", generateSoneList(data.sones));
}
*/
function updateTrustControls(soneId, trustValue) {
sone.find(".post").each(function() {
- if (getPostAuthor(this) == soneId) {
+ if (getPostAuthor(this) === soneId) {
getPostElement(this).find(".post-trust").toggleClass("hidden", trustValue != null);
getPostElement(this).find(".post-distrust").toggleClass("hidden", trustValue != null);
getPostElement(this).find(".post-untrust").toggleClass("hidden", trustValue == null);
}
});
sone.find(".reply").each(function() {
- if (getReplyAuthor(this) == soneId) {
+ if (getReplyAuthor(this) === soneId) {
getReplyElement(this).find(".reply-trust").toggleClass("hidden", trustValue != null);
getReplyElement(this).find(".reply-distrust").toggleClass("hidden", trustValue != null);
getReplyElement(this).find(".reply-untrust").toggleClass("hidden", trustValue == null);
function updateReplyLikes(replyId) {
ajaxGet("getLikes.ajax", { "type": "reply", "reply": replyId }, function(data, textStatus) {
if ((data != null) && data.success) {
- sone.find(".reply#reply-" + replyId + " .status-line .likes").toggleClass("hidden", data.likes == 0);
+ sone.find(".reply#reply-" + replyId + " .status-line .likes").toggleClass("hidden", data.likes === 0);
sone.find(".reply#reply-" + replyId + " .status-line .likes span.like-count").text(data.likes);
sone.find(".reply#reply-" + replyId + " .status-line .likes > span").prop("title", generateSoneList(data.sones));
}
/* show Sone menu when hovering over the avatar. */
$(postElement).find(".post-avatar").mouseover(function() {
- if (typeof currentSoneMenuTimeoutHandler != undefined) {
+ if (typeof currentSoneMenuTimeoutHandler !== undefined) {
clearTimeout(currentSoneMenuTimeoutHandler);
}
currentSoneMenuId = getPostId(this);
}).fadeIn();
}, 1000);
}).mouseleave(function() {
- if (currentSoneMenuId == getPostId(this)) {
+ if (currentSoneMenuId === getPostId(this)) {
clearTimeout(currentSoneMenuTimeoutHandler);
}
});
$(followElement).addClass("hidden");
$(followElement).parent().find(".unfollow").removeClass("hidden");
sone.find(".sone-menu").each(function() {
- if (getMenuSone(this) == soneId) {
+ if (getMenuSone(this) === soneId) {
$(".follow", this).toggleClass("hidden", true);
$(".unfollow", this).toggleClass("hidden", false);
}
$(unfollowElement).addClass("hidden");
$(unfollowElement).parent().find(".follow").removeClass("hidden");
sone.find(".sone-menu").each(function() {
- if (getMenuSone(this) == soneId) {
+ if (getMenuSone(this) === soneId) {
$(".follow", this).toggleClass("hidden", false);
$(".unfollow", this).toggleClass("hidden", true);
}
/* show Sone menu when hovering over the avatar. */
$(replyElement).find(".reply-avatar").mouseover(function() {
- if (typeof currentSoneMenuTimeoutHandler != undefined) {
+ if (typeof currentSoneMenuTimeoutHandler !== undefined) {
clearTimeout(currentSoneMenuTimeoutHandler);
}
currentSoneMenuId = getPostId(this) + "-" + getReplyId(this);
}).fadeIn();
}, 1000);
}).mouseleave(function() {
- if (currentSoneMenuId == getPostId(this) + "-" + getReplyId(this)) {
+ if (currentSoneMenuId === getPostId(this) + "-" + getReplyId(this)) {
clearTimeout(currentSoneMenuTimeoutHandler);
}
});
$(followElement).addClass("hidden");
$(followElement).parent().find(".unfollow").removeClass("hidden");
sone.find(".sone-menu").each(function() {
- if (getMenuSone(this) == soneId) {
+ if (getMenuSone(this) === soneId) {
$(".follow", this).toggleClass("hidden", true);
$(".unfollow", this).toggleClass("hidden", false);
}
$(unfollowElement).addClass("hidden");
$(unfollowElement).parent().find(".follow").removeClass("hidden");
sone.find(".sone-menu").each(function() {
- if (getMenuSone(this) == soneId) {
+ if (getMenuSone(this) === soneId) {
$(".follow", this).toggleClass("hidden", false);
$(".unfollow", this).toggleClass("hidden", true);
}
* The new notification element
*/
function checkForRemovedSones(oldNotification, newNotification) {
- if (getNotificationId(oldNotification) != "new-sone-notification") {
+ if (getNotificationId(oldNotification) !== "new-sone-notification") {
return;
}
var oldIds = getElementIds(oldNotification, ".new-sone-id");
var newIds = getElementIds(newNotification, ".new-sone-id");
$.each(oldIds, function(index, value) {
- if ($.inArray(value, newIds) == -1) {
+ if ($.inArray(value, newIds) === -1) {
markSoneAsKnown(getSone(value), true);
}
});
* The new notification element
*/
function checkForRemovedPosts(oldNotification, newNotification) {
- if (getNotificationId(oldNotification) != "new-post-notification") {
+ if (getNotificationId(oldNotification) !== "new-post-notification") {
return;
}
var oldIds = getElementIds(oldNotification, ".post-id");
var newIds = getElementIds(newNotification, ".post-id");
$.each(oldIds, function(index, value) {
- if ($.inArray(value, newIds) == -1) {
+ if ($.inArray(value, newIds) === -1) {
markPostAsKnown(getPost(value), true);
}
});
* The new notification element
*/
function checkForRemovedReplies(oldNotification, newNotification) {
- if (getNotificationId(oldNotification) != "new-reply-notification") {
+ if (getNotificationId(oldNotification) !== "new-reply-notification") {
return;
}
var oldIds = getElementIds(oldNotification, ".reply-id");
var newIds = getElementIds(newNotification, ".reply-id");
$.each(oldIds, function(index, value) {
- if ($.inArray(value, newIds) == -1) {
+ if ($.inArray(value, newIds) === -1) {
markReplyAsKnown(getReply(value), true);
}
});
if (!notLoggedIn) {
showOfflineMarker(!online);
}
- if (data.notificationHash != getNotificationHash()) {
+ if (data.notificationHash !== getNotificationHash()) {
console.log("Old hash: ", getNotificationHash(), ", new hash: ", data.notificationHash);
requestNotifications();
/* process new posts. */
var notificationId = $(this).prop("id");
var foundNotification = false;
$.each(data.notifications, function(index, value) {
- if (value.id == notificationId) {
+ if (value.id === notificationId) {
foundNotification = true;
return false;
}
});
if (!foundNotification) {
- if (notificationId == "new-sone-notification" && (data.options["ShowNotification/NewSones"] == true)) {
+ if (notificationId === "new-sone-notification" && (data.options["ShowNotification/NewSones"] === true)) {
$(".new-sone-id", this).each(function(index, element) {
var soneId = $(this).text();
markSoneAsKnown(getSone(soneId), true);
});
- } else if (notificationId == "new-post-notification" && (data.options["ShowNotification/NewPosts"] == true)) {
+ } else if (notificationId === "new-post-notification" && (data.options["ShowNotification/NewPosts"] === true)) {
$(".post-id", this).each(function(index, element) {
var postId = $(this).text();
markPostAsKnown(getPost(postId), true);
});
- } else if (notificationId == "new-reply-notification" && (data.options["ShowNotification/NewReplies"] == true)) {
+ } else if (notificationId === "new-reply-notification" && (data.options["ShowNotification/NewReplies"] === true)) {
$(".reply-id", this).each(function(index, element) {
var replyId = $(this).text();
markReplyAsKnown(getReply(replyId), true);
$(this).slideUp("normal", function() {
$(this).remove();
/* remove activity when no notifications are visible. */
- if (sone.find("#notification-area .notification").length == 0) {
+ if (sone.find("#notification-area .notification").length === 0) {
resetActivity();
}
});
$.each(data.notifications, function(index, value) {
var oldNotification = getNotification(value.id);
var notification = ajaxifyNotification(createNotification(value.id, value.lastUpdatedTime, value.text, value.dismissable)).hide();
- if (oldNotification.length != 0) {
+ if (oldNotification.length !== 0) {
if ((oldNotification.find(".short-text").length > 0) && (notification.find(".short-text").length > 0)) {
var opened = oldNotification.is(":visible") && oldNotification.find(".short-text").hasClass("hidden");
notification.find(".short-text").toggleClass("hidden", opened);
oldNotification.replaceWith(notification.show());
} else {
sone.find("#notification-area").append(notification);
- if (value.id.substring(0, 5) != "local") {
+ if (value.id.substring(0, 5) !== "local") {
notification.slideDown();
setActivity();
}
* <code>false</code> otherwise
*/
function isIndexPage() {
- return getPageId() == "index";
+ return getPageId() === "index";
}
/**
* page, <code>false</code> otherwise
*/
function isViewSonePage() {
- return getPageId() == "view-sone";
+ return getPageId() === "view-sone";
}
/**
* page, <code>false</code> otherwise
*/
function isViewPostPage() {
- return getPageId() == "view-post";
+ return getPageId() === "view-post";
}
/**
* Sones” page, <code>false</code> otherwise
*/
function isKnownSonesPage() {
- return getPageId() == "known-sones";
+ return getPageId() === "known-sones";
}
/**
return;
}
if (!isIndexPage() || (getPage(".pagination-index") > 1)) {
- if (!isViewPostPage() || (getShownPostId() != postId)) {
- if (!isViewSonePage() || ((getShownSoneId() != soneId) && (getShownSoneId() != recipientId)) || (getPage(".post-navigation") > 1)) {
+ if (!isViewPostPage() || (getShownPostId() !== postId)) {
+ if (!isViewSonePage() || ((getShownSoneId() !== soneId) && (getShownSoneId() !== recipientId)) || (getPage(".post-navigation") > 1)) {
return;
}
}
if (hasPost(data.post.id)) {
return;
}
- if ((!isIndexPage() || (getPage(".pagination-index") > 1)) && !(isViewSonePage() && ((getShownSoneId() == data.post.sone) || (getShownSoneId() == data.post.recipient) || (getPage(".post-navigation") > 1)))) {
+ if ((!isIndexPage() || (getPage(".pagination-index") > 1)) && !(isViewSonePage() && ((getShownSoneId() === data.post.sone) || (getShownSoneId() === data.post.recipient) || (getPage(".post-navigation") > 1)))) {
return;
}
var firstOlderPost = null;
}
});
var newPost = $(data.post.html).addClass("hidden");
- if ($(".post-author-local", newPost).text() == "true") {
+ if ($(".post-author-local", newPost).text() === "true") {
newPost.removeClass("new");
}
if (firstOlderPost != null) {
}
});
var newReply = $(data.reply.html).addClass("hidden");
- if ($(".reply-author-local", newReply).text() == "true") {
+ if ($(".reply-author-local", newReply).text() === "true") {
newReply.removeClass("new");
(function(newReply) {
setTimeout(function() {
* Comma-separated post IDs
*/
function updatePostTimes(postIds) {
- if (postIds != "") {
+ if (postIds !== "") {
ajaxGet("getTimes.ajax", {"posts": postIds}, function (data, textStatus) {
if ((data != null) && data.success) {
$.each(data.postTimes, function (index, value) {
* Comma-separated post IDs
*/
function updateReplyTimes(replyIds) {
- if (replyIds != "") {
+ if (replyIds !== "") {
ajaxGet("getTimes.ajax", {"replies": replyIds}, function (data, textStatus) {
if ((data != null) && data.success) {
$.each(data.replyTimes, function (index, value) {
function resetActivity() {
var title = document.title;
- if (title.indexOf('(') == 0) {
+ if (title.indexOf('(') === 0) {
setTitle(title.substr(title.indexOf(' ') + 1));
}
iconBlinking = false;
function setActivity() {
if (!focus) {
var title = document.title;
- if (title.indexOf('(') != 0) {
+ if (title.indexOf('(') !== 0) {
setTitle("(!) " + title);
}
if (!iconBlinking) {
var sone = $("#sone");
var focus = true;
var online = true;
-var initiallyLoggedIn = sone.find("#loggedIn").text() == "true";
+var initiallyLoggedIn = sone.find("#loggedIn").text() === "true";
var notLoggedIn = !initiallyLoggedIn;
/** ID of the next-to-show Sone context menu. */
* @param imageId The ID of the image to edit.
*/
function editImage(imageId) {
- if (editingImageId != imageId) {
+ if (editingImageId !== imageId) {
cancelImageEditing();
} else {
return;
$(".show-data", getImage(imageId)).hide();
$(".edit-data", getImage(imageId)).show();
$(document).bind("click.sone", function(event) {
- if ($(event.target).closest("#image-" + imageId).size() == 0) {
+ if ($(event.target).closest("#image-" + imageId).size() === 0) {
cancelImageEditing();
}
});
sourcePrevSibling = sourceElement.prev();
sourceElement.detach();
destinationElement.before(sourceElement);
- if (sourcePrevSibling.get(0) != destinationElement.get(0)) {
+ if (sourcePrevSibling.get(0) !== destinationElement.get(0)) {
destinationElement.detach();
(sourcePrevSibling.size() > 0) ? sourcePrevSibling.after(destinationElement) : sourceParent.prepend(destinationElement);
}
- if ($("button[name='moveLeft']", sourceElement).hasClass("hidden") != $("button[name='moveLeft']", destinationElement).hasClass("hidden")) {
+ if ($("button[name='moveLeft']", sourceElement).hasClass("hidden") !== $("button[name='moveLeft']", destinationElement).hasClass("hidden")) {
$("button[name='moveLeft']", sourceElement).toggleClass("hidden");
$("button[name='moveLeft']", destinationElement).toggleClass("hidden");
}
- if ($("button[name='moveRight']", sourceElement).hasClass("hidden") != $("button[name='moveRight']", destinationElement).hasClass("hidden")) {
+ if ($("button[name='moveRight']", sourceElement).hasClass("hidden") !== $("button[name='moveRight']", destinationElement).hasClass("hidden")) {
$("button[name='moveRight']", sourceElement).toggleClass("hidden");
$("button[name='moveRight']", destinationElement).toggleClass("hidden");
}
editImage(imageId);
});
$("button[name='moveLeft'], button[name='moveRight']", element).click(function() {
- ajaxGet("editImage.ajax", { "formPassword": getFormPassword(), "image": imageId, "moveLeft": this.name == "moveLeft", "moveRight": this.name == "moveRight" }, function(data) {
+ ajaxGet("editImage.ajax", { "formPassword": getFormPassword(), "image": imageId, "moveLeft": this.name === "moveLeft", "moveRight": this.name === "moveRight" }, function(data) {
if (data && data.success) {
swapImage(data.sourceImageId, data.destinationImageId);
}
* @param albumId The ID of the album to edit.
*/
function editAlbum(albumId) {
- if (editingAlbumId != albumId) {
+ if (editingAlbumId !== albumId) {
if (editingAlbumId != null) {
cancelAlbumEditing();
}
$(".edit-data", getAlbum(albumId)).show();
console.log(getAlbum(albumId));
$(document).bind("click.sone", function(event) {
- if ($(event.target).closest("#album-" + albumId).size() == 0) {
+ if ($(event.target).closest("#album-" + albumId).size() === 0) {
cancelAlbumEditing();
}
});
sourcePrevSibling = sourceElement.prev();
sourceElement.detach();
destinationElement.before(sourceElement);
- if (sourcePrevSibling.get(0) != destinationElement.get(0)) {
+ if (sourcePrevSibling.get(0) !== destinationElement.get(0)) {
destinationElement.detach();
(sourcePrevSibling.size() > 0) ? sourcePrevSibling.after(destinationElement) : sourceParent.prepend(destinationElement);
}
- if ($("button[name='moveLeft']", sourceElement).hasClass("hidden") != $("button[name='moveLeft']", destinationElement).hasClass("hidden")) {
+ if ($("button[name='moveLeft']", sourceElement).hasClass("hidden") !== $("button[name='moveLeft']", destinationElement).hasClass("hidden")) {
$("button[name='moveLeft']", sourceElement).toggleClass("hidden");
$("button[name='moveLeft']", destinationElement).toggleClass("hidden");
}
- if ($("button[name='moveRight']", sourceElement).hasClass("hidden") != $("button[name='moveRight']", destinationElement).hasClass("hidden")) {
+ if ($("button[name='moveRight']", sourceElement).hasClass("hidden") !== $("button[name='moveRight']", destinationElement).hasClass("hidden")) {
$("button[name='moveRight']", sourceElement).toggleClass("hidden");
$("button[name='moveRight']", destinationElement).toggleClass("hidden");
}
editAlbum(albumId);
});
$("button[name='moveLeft'], button[name='moveRight']", element).click(function() {
- ajaxGet("editAlbum.ajax", { "formPassword": getFormPassword(), "album": albumId, "moveLeft": this.name == "moveLeft", "moveRight": this.name == "moveRight" }, function(data) {
+ ajaxGet("editAlbum.ajax", { "formPassword": getFormPassword(), "album": albumId, "moveLeft": this.name === "moveLeft", "moveRight": this.name === "moveRight" }, function(data) {
if (data && data.success) {
swapAlbum(data.sourceAlbumId, data.destinationAlbumId);
}