From 986374300191892ae5672ea545977831d7a0b807 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Wed, 5 Jan 2011 21:22:41 -0800 Subject: Only refresh the tree when we move albums around. --- modules/organize/views/organize_dialog.html.php | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'modules') diff --git a/modules/organize/views/organize_dialog.html.php b/modules/organize/views/organize_dialog.html.php index eaba6cdd..a1d57958 100644 --- a/modules/organize/views/organize_dialog.html.php +++ b/modules/organize/views/organize_dialog.html.php @@ -316,9 +316,11 @@ v.dropZone.onNodeDrop = function(target, dd, e, data) { var nodes = data.nodes; source_ids = []; + var moving_albums = 0; for (var i = 0; i != nodes.length; i++) { var node = Ext.fly(nodes[i]); source_ids.push(node.getAttribute("rel")); + moving_albums |= node.hasClass("thumb-album"); } start_busy(for_js() ?>); Ext.Ajax.request({ @@ -327,14 +329,18 @@ success: function() { stop_busy(); reload_album_data(); - target.node.reload(); - // If the target node contains the selected node, then the selected - // node just got strafed by the target's reload and no longer exists, - // so we can't reload it. - var selected_node = v.getNodeById(current_album_id); - if (selected_node) { - selected_node.reload(); + // If we're moving albums around then we need to refresh the tree when we're done + if (moving_albums) { + target.node.reload(); + + // If the target node contains the selected node, then the selected + // node just got strafed by the target's reload and no longer exists, + // so we can't reload it. + var selected_node = v.getNodeById(current_album_id); + if (selected_node) { + selected_node.reload(); + } } }, failure: show_generic_error, -- cgit v1.2.3