-/*
+/*
* @brief The file contains functions for text editing and commenting
*/
-function insertFormatting(comment,BBcode,id) {
-
- var tmpStr = $("#comment-edit-text-" + id).val();
- if(tmpStr == comment) {
- tmpStr = "";
- $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
- $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
- openMenu("comment-edit-submit-wrapper-" + id);
- $("#comment-edit-text-" + id).val(tmpStr);
- }
+function insertFormatting(BBcode, id) {
+ var tmpStr = $("#comment-edit-text-" + id).val();
+ if (tmpStr == '') {
+ $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
+ $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
+ openMenu("comment-edit-submit-wrapper-" + id);
+ }
- textarea = document.getElementById("comment-edit-text-" +id);
+ textarea = document.getElementById("comment-edit-text-" + id);
if (document.selection) {
textarea.focus();
selected = document.selection.createRange();
- if (BBcode == "url"){
- selected.text = "["+BBcode+"]" + "http://" + selected.text + "[/"+BBcode+"]";
- } else
- selected.text = "["+BBcode+"]" + selected.text + "[/"+BBcode+"]";
+ selected.text = "[" + BBcode + "]" + selected.text + "[/" + BBcode + "]";
} else if (textarea.selectionStart || textarea.selectionStart == "0") {
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
- if (BBcode == "url"){
- textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + "http://" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
- } else
- textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
+ textarea.value = textarea.value.substring(0, start) + "[" + BBcode + "]" + textarea.value.substring(start, end) + "[/" + BBcode + "]" + textarea.value.substring(end, textarea.value.length);
}
+
+ $(textarea).trigger('change');
+
return true;
}
return true;
}
-function commentClose(obj,id) {
- if(obj.value == '') {
- obj.value = aStr.comment;
+function commentClose(obj, id) {
+ if (obj.value == '') {
$("#comment-edit-text-" + id).removeClass("comment-edit-text-full");
$("#comment-edit-text-" + id).addClass("comment-edit-text-empty");
$("#mod-cmnt-wrap-" + id).hide();
}
function showHideCommentBox(id) {
- if( $('#comment-edit-form-' + id).is(':visible')) {
+ if ($('#comment-edit-form-' + id).is(':visible')) {
$('#comment-edit-form-' + id).hide();
- }
- else {
+ } else {
$('#comment-edit-form-' + id).show();
}
}
function commentOpenUI(obj, id) {
- $(document).unbind( "click.commentOpen", handler );
-
- var handler = function() {
- if(obj.value == aStr.comment) {
- obj.value = '';
- $("#comment-edit-text-" + id).addClass("comment-edit-text-full").removeClass("comment-edit-text-empty");
- // Choose an arbitrary tab index that's greater than what we're using in jot (3 of them)
- // The submit button gets tabindex + 1
- $("#comment-edit-text-" + id).attr('tabindex','9');
- $("#comment-edit-submit-" + id).attr('tabindex','10');
- $("#comment-edit-submit-wrapper-" + id).show();
- // initiale autosize for this comment
- autosize($("#comment-edit-text-" + id + ".text-autosize"));
- }
- };
-
- $(document).bind( "click.commentOpen", handler );
+ $("#comment-edit-text-" + id).addClass("comment-edit-text-full").removeClass("comment-edit-text-empty");
+ // Choose an arbitrary tab index that's greater than what we're using in jot (3 of them)
+ // The submit button gets tabindex + 1
+ $("#comment-edit-text-" + id).attr('tabindex', '9');
+ $("#comment-edit-submit-" + id).attr('tabindex', '10');
+ $("#comment-edit-submit-wrapper-" + id).show();
+ // initialize autosize for this comment
+ autosize($("#comment-edit-text-" + id + ".text-autosize"));
}
function commentCloseUI(obj, id) {
- $(document).unbind( "click.commentClose", handler );
-
- var handler = function() {
- if(obj.value === '') {
- obj.value = aStr.comment;
- $("#comment-edit-text-" + id).removeClass("comment-edit-text-full").addClass("comment-edit-text-empty");
- $("#comment-edit-text-" + id).removeAttr('tabindex');
- $("#comment-edit-submit-" + id).removeAttr('tabindex');
- $("#comment-edit-submit-wrapper-" + id).hide();
- // destroy the automatic textarea resizing
- autosize.destroy($("#comment-edit-text-" + id + ".text-autosize"));
- }
- };
-
- $(document).bind( "click.commentClose", handler );
+ if (obj.value === '') {
+ $("#comment-edit-text-" + id).removeClass("comment-edit-text-full").addClass("comment-edit-text-empty");
+ $("#comment-edit-text-" + id).removeAttr('tabindex');
+ $("#comment-edit-submit-" + id).removeAttr('tabindex');
+ $("#comment-edit-submit-wrapper-" + id).hide();
+ // destroy the automatic textarea resizing
+ autosize.destroy($("#comment-edit-text-" + id + ".text-autosize"));
+ }
}
-// test if there is default content in the jot text box and remove it
function jotTextOpenUI(obj) {
- if(obj.value == aStr.share) {
- obj.value = '';
+ if (obj.value == '') {
$(".modal-body #profile-jot-text").addClass("profile-jot-text-full").removeClass("profile-jot-text-empty");
// initiale autosize for the jot
autosize($(".modal-body #profile-jot-text"));
}
}
-// insert default content into the jot text box
-// if it's empty
function jotTextCloseUI(obj) {
- if(obj.value === '') {
- obj.value = aStr.share;
+ if (obj.value === '') {
$(".modal-body #profile-jot-text").removeClass("profile-jot-text-full").addClass("profile-jot-text-empty");
// destroy the automatic textarea resizing
autosize.destroy($(".modal-body #profile-jot-text"));
}
}
-function commentOpen(obj,id) {
- if(obj.value == aStr.comment) {
- obj.value = '';
+function commentOpen(obj, id) {
+ if (obj.value == '') {
$("#comment-edit-text-" + id).addClass("comment-edit-text-full");
$("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
$("#mod-cmnt-wrap-" + id).show();
return false;
}
-function commentInsert(obj,id) {
+function commentInsert(obj, id) {
var tmpStr = $("#comment-edit-text-" + id).val();
- if(tmpStr == aStr.comment) {
- tmpStr = '';
+ if (tmpStr == '') {
$("#comment-edit-text-" + id).addClass("comment-edit-text-full");
$("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
openMenu("comment-edit-submit-wrapper-" + id);
}
var ins = $(obj).html();
- ins = ins.replace('<','<');
- ins = ins.replace('>','>');
- ins = ins.replace('&','&');
- ins = ins.replace('"','"');
+ ins = ins.replace('<', '<');
+ ins = ins.replace('>', '>');
+ ins = ins.replace('&', '&');
+ ins = ins.replace('"', '"');
$("#comment-edit-text-" + id).val(tmpStr + ins);
}
-function qCommentInsert(obj,id) {
+function qCommentInsert(obj, id) {
var tmpStr = $("#comment-edit-text-" + id).val();
- if(tmpStr == aStr.comment) {
- tmpStr = '';
+ if (tmpStr == '') {
$("#comment-edit-text-" + id).addClass("comment-edit-text-full");
$("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
openMenu("comment-edit-submit-wrapper-" + id);
}
var ins = $(obj).val();
- ins = ins.replace('<','<');
- ins = ins.replace('>','>');
- ins = ins.replace('&','&');
- ins = ins.replace('"','"');
+ ins = ins.replace('<', '<');
+ ins = ins.replace('>', '>');
+ ins = ins.replace('&', '&');
+ ins = ins.replace('"', '"');
$("#comment-edit-text-" + id).val(tmpStr + ins);
$(obj).val('');
}
-function confirmDelete() { return confirm(aStr.delitem); }
+function confirmDelete() {
+ return confirm(aStr.delitem);
+}
-function dropItem(url, object) {
+/**
+ * Hide and removes an item element from the DOM after the deletion url is
+ * successful, restore it else.
+ *
+ * @param {string} url The item removal URL
+ * @param {string} elementId The DOM id of the item element
+ * @returns {undefined}
+ */
+function dropItem(url, elementId) {
var confirm = confirmDelete();
- if(confirm) {
+
+ if (confirm) {
$('body').css('cursor', 'wait');
- $(object).fadeTo('fast', 0.33, function () {
- $.get(url).done(function() {
- $(object).remove();
+
+ var $el = $(document.getElementById(elementId));
+
+ $el.fadeTo('fast', 0.33, function () {
+ $.get(url).then(function() {
+ $el.remove();
+ }).fail(function() {
+ // @todo Show related error message
+ $el.show();
+ }).always(function() {
$('body').css('cursor', 'auto');
});
});