From 327b00117defd8b233ef86667733729b8292e1e9 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Mon, 13 Mar 2017 12:12:13 -0400 Subject: [PATCH] Improve dropItem() functionality - Drop the obsolete `#` char - Add error case when deleting item - Add item drop support to search items - Add doc --- view/theme/frio/js/textedit.js | 32 ++++++++++++++--------- view/theme/frio/templates/search_item.tpl | 4 +-- view/theme/frio/templates/wall_thread.tpl | 2 +- 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/view/theme/frio/js/textedit.js b/view/theme/frio/js/textedit.js index 9226646b7..02191f33d 100644 --- a/view/theme/frio/js/textedit.js +++ b/view/theme/frio/js/textedit.js @@ -162,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(); + }).error(function() { + // @todo Show related error message + $el.show(); + }).always(function() { $('body').css('cursor', 'auto'); }); }); diff --git a/view/theme/frio/templates/search_item.tpl b/view/theme/frio/templates/search_item.tpl index 90fbe03bb..0a6eca0c2 100644 --- a/view/theme/frio/templates/search_item.tpl +++ b/view/theme/frio/templates/search_item.tpl @@ -7,7 +7,7 @@ -
+
{{* Put additional actions in a top-right dropdown menu *}} @@ -54,7 +54,7 @@ {{if $item.drop.dropping}}
  • - {{$item.drop.delete}} + {{$item.drop.delete}}
  • {{/if}} diff --git a/view/theme/frio/templates/wall_thread.tpl b/view/theme/frio/templates/wall_thread.tpl index e71dc7b84..85091cf1c 100644 --- a/view/theme/frio/templates/wall_thread.tpl +++ b/view/theme/frio/templates/wall_thread.tpl @@ -129,7 +129,7 @@ as the value of $top_child_total (this is done at the end of this file) {{if $item.drop.dropping}}
  • - {{$item.drop.delete}} + {{$item.drop.delete}}
  • {{/if}}