From 7147a863b8425e3784bd0e85becf1cafa0ecccb9 Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Thu, 9 Jul 2009 05:40:45 +0000 Subject: [PATCH] BUGFIX Open selected node by default when entering batch actions to trigger loading of children and avoid "missed" nodes in any batch selection git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@81459 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- javascript/CMSMain_left.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/javascript/CMSMain_left.js b/javascript/CMSMain_left.js index 46200b3f..4751888c 100755 --- a/javascript/CMSMain_left.js +++ b/javascript/CMSMain_left.js @@ -296,12 +296,20 @@ batchactionsclass.prototype = { batchActionGlobals.selectedNodes = { }; - var sel = $('sitetree').firstSelected(); - if(sel && sel.className.indexOf('nodelete') == -1) { - var selIdx = $('sitetree').getIdxOf(sel); + var selectedNode = $('sitetree').firstSelected(); + if(selectedNode && selectedNode.className.indexOf('nodelete') == -1) { + var selIdx = $('sitetree').getIdxOf(selectedNode); batchActionGlobals.selectedNodes[selIdx] = true; - sel.removeNodeClass('current'); - sel.addNodeClass('selected'); + selectedNode.removeNodeClass('current'); + selectedNode.addNodeClass('selected'); + selectedNode.open(); + + // Open all existing children, which might trigger further + // ajaxExansion calls to ensure all nodes are selectable + var children = selectedNode.getElementsByTagName('li'); + for(var i=0; i