diff --git a/mod/imscp/module.js b/mod/imscp/module.js index 364fdfe036f..a3ee2d13947 100644 --- a/mod/imscp/module.js +++ b/mod/imscp/module.js @@ -33,6 +33,10 @@ M.mod_imscp.init = function(Y) { Y.use('yui2-resize', 'yui2-dragdrop', 'yui2-container', 'yui2-button', 'yui2-layout', 'yui2-treeview', 'yui2-json', 'yui2-event', function(Y) { + var imscp_activate_item_by_index = function(index) { + imscp_activate_item(Y.YUI2.widget.TreeView.getNode('imscp_tree', index)); + } + var imscp_activate_item = function(node) { if (!node) { return; @@ -56,8 +60,13 @@ M.mod_imscp.init = function(Y) { var old = Y.YUI2.util.Dom.get('imscp_object'); if (old) { content.replaceChild(obj, old); - } else if (obj) { - content.appendChild(obj); + } else { + old = Y.YUI2.util.Dom.get('imscp_child_list'); + if (old) { + content.replaceChild(obj, old); + } else { + content.appendChild(obj); + } } imscp_resize_frame(); @@ -141,6 +150,17 @@ M.mod_imscp.init = function(Y) { } }; + var imscp_firstlinked = function(node) { + // Return first item with an href + if (node.href) { + return node; + } else if (node.children) { + return imscp_firstlinked(node.children[0]); + } else { + return null + } + }; + var imscp_up = function(node) { if (node.depth > 0) { return node.parent; @@ -273,7 +293,7 @@ M.mod_imscp.init = function(Y) { }); // finally activate the first item - imscp_activate_item(tree.getRoot().children[0]); + imscp_activate_item(imscp_firstlinked(tree.getRoot().children[0])); // resizing imscp_resize_layout(false);