}
function commentOpenUI(obj, id) {
- $(document).unbind( "click.commentOpen", handler );
-
- var handler = function() {
- if (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();
- // initialize 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 === '') {
- $("#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"));
+ }
}
function jotTextOpenUI(obj) {
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 the first character of the object is #, remove it because
- // we use getElementById which don't need the #
- // getElementByID selects elements even if there are special characters
- // in the ID (like %) which won't work with jQuery
- /// @todo ceck if we can solve this in the template
- object = object.indexOf('#') == 0 ? object.substring(1) : object;
-
- if(confirm) {
+ if (confirm) {
$('body').css('cursor', 'wait');
- $(document.getElementById(object)).fadeTo('fast', 0.33, function () {
- $.get(url).done(function() {
- $(document.getElementById(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');
});
});