Browse Source

Improve dropItem() functionality

- Drop the obsolete `#` char
- Add error case when deleting item
- Add item drop support to search items
- Add doc
pull/3232/head
Hypolite Petovan 6 years ago
parent
commit
327b00117d
  1. 32
      view/theme/frio/js/textedit.js
  2. 4
      view/theme/frio/templates/search_item.tpl
  3. 2
      view/theme/frio/templates/wall_thread.tpl

32
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');
});
});

4
view/theme/frio/templates/search_item.tpl

@ -7,7 +7,7 @@
<!-- ./TODO => Unknow block -->
<div class="panel">
<div class="panel" id="item-{{$item.guid}}">
<div class="wall-item-container panel-body{{$item.indent}} {{$item.shiny}} {{$item.previewing}}" >
<div class="media">
{{* Put additional actions in a top-right dropdown menu *}}
@ -54,7 +54,7 @@
{{if $item.drop.dropping}}
<li role="separator" class="divider"></li>
<li role="menuitem">
<a class="navicon delete" onclick="dropItem('item/drop/{{$item.id}}', '#item-{{$item.guid}}'); return false;" title="{{$item.drop.delete}}"><i class="fa fa-trash"></i> {{$item.drop.delete}}</a>
<a class="navicon delete" onclick="dropItem('item/drop/{{$item.id}}', 'item-{{$item.guid}}'); return false;" title="{{$item.drop.delete}}"><i class="fa fa-trash"></i> {{$item.drop.delete}}</a>
</li>
{{/if}}
</ul>

2
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}}
<li role="menuitem">
<a class="navicon delete" onclick="dropItem('item/drop/{{$item.id}}', '#item-{{$item.guid}}'); return false;" title="{{$item.drop.delete}}"><i class="fa fa-trash"></i> {{$item.drop.delete}}</a>
<a class="navicon delete" onclick="dropItem('item/drop/{{$item.id}}', 'item-{{$item.guid}}'); return false;" title="{{$item.drop.delete}}"><i class="fa fa-trash"></i> {{$item.drop.delete}}</a>
</li>
{{/if}}
</ul>

Loading…
Cancel
Save