X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=view%2Ftheme%2Ffrio%2Fjs%2Ftextedit.js;h=d212ee0038ee7d2d35e065ba0c9a0be0a024e47b;hb=500f0985f8561a7c3d22e815843bc9c435134e5d;hp=9c5c1823d1b624c1c295e08b963b075e6d53a91c;hpb=ecd86ec29661da4fccac060ca487a70beac5304c;p=friendica.git diff --git a/view/theme/frio/js/textedit.js b/view/theme/frio/js/textedit.js index 9c5c1823d1..d212ee0038 100644 --- a/view/theme/frio/js/textedit.js +++ b/view/theme/frio/js/textedit.js @@ -81,39 +81,25 @@ function showHideCommentBox(id) { } 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) { @@ -176,21 +162,29 @@ function qCommentInsert(obj,id) { 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'); }); });