app/assets/javascripts/jqr-helpers.js in jqr-helpers-1.0.24 vs app/assets/javascripts/jqr-helpers.js in jqr-helpers-1.0.25

- old
+ new

@@ -231,24 +231,53 @@ if (element.data('callback')) { var callback = eval(element.data('callback')); callback.call(targetElement, data); } var selector = element.data('selector'); + var empty = element.data('empty'); + var container = element.data('container'); var target = null; if (selector) { if (selector[0] == '#') target = $(selector); else target = $(targetElement).parents(selector); + + if (container) { + if (container[0] == '#') container = $(container); + else container = targetElement.parents(container); + } + switch (element.data('result-method')) { case 'update': target = $(data).replaceAll(target); target.trigger('jqr.load'); break; case 'append': + if (empty && target.children().length == 0) { + $('#' + empty).hide(); + if (container) { + container.show(); + } + else { + target.show(); + } + } target.append(data); target.trigger('jqr.load'); break; case 'delete': - target.fadeOut(500, function() {$(this).remove()}); + if (empty && target.parent().children().length == 1) { + if (container) { + container.hide(); + } + else { + target.parent().hide(); + } + $('#' + empty).show(); + $(target).remove(); + } + else { + target.fadeOut(500, function() {$(this).remove()}); + } break; } target.effect('highlight'); if (element.data('scroll-to')) { target[0].scrollIntoView(true);