From: Jan Schneider Date: Fri, 25 Jun 2010 17:28:35 +0000 (+0200) Subject: Keep the size of the sidebar while replacing the menu. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=4c3f4e67987935903283a4a79381474a4639f7fe;p=horde.git Keep the size of the sidebar while replacing the menu. Use dom:loaded. --- diff --git a/framework/Tree/lib/Horde/Tree/Javascript.php b/framework/Tree/lib/Horde/Tree/Javascript.php index 6a4f8d760..74a3baec1 100644 --- a/framework/Tree/lib/Horde/Tree/Javascript.php +++ b/framework/Tree/lib/Horde/Tree/Javascript.php @@ -115,7 +115,7 @@ class Horde_Tree_Javascript extends Horde_Tree { $this->_buildIndents($this->_root_nodes); - return 'window.' . $this->_instance . '.renderTree(' . Horde_Serialize::serialize($this->_nodes, Horde_Serialize::JSON, Horde_Nls::getCharset()) . ',' . Horde_Serialize::serialize($this->_root_nodes, Horde_Serialize::JSON, Horde_Nls::getCharset()) . ',' . ($this->_static ? 'true' : 'false') . ')'; + return 'window.' . $this->_instance . '.renderTree(' . Horde_Serialize::serialize($this->_nodes, Horde_Serialize::JSON, Horde_Nls::getCharset()) . ',' . Horde_Serialize::serialize($this->_root_nodes, Horde_Serialize::JSON, Horde_Nls::getCharset()) . ',' . ($this->_static ? 'true' : 'false') . ');'; } } diff --git a/horde/js/sidebar.js b/horde/js/sidebar.js index 5449d9ce8..ea501c27c 100644 --- a/horde/js/sidebar.js +++ b/horde/js/sidebar.js @@ -45,16 +45,26 @@ var HordeSidebar = { new Ajax.PeriodicalUpdater( 'horde_menu', horde_sidebar_url, - { parameters: { httpclient: 1 }, - method: 'get', - evalScripts: true, - frequency: horde_sidebar_refresh } + { + parameters: { httpclient: 1 }, + method: 'get', + evalScripts: true, + frequency: horde_sidebar_refresh, + onSuccess: function () + { + var layout = $('horde_menu').getLayout(); + $('horde_menu').setStyle({ + width: layout.get('width') + 'px', + height: layout.get('height') + 'px' + }); + } + } ); } }; -Event.observe(window, 'load', function() { +document.observe('dom:loaded', function() { $('hiddenSidebar').hide(); if (HordeSidebar.getCookie('horde_sidebar_expanded', true).toString() != $('expandedSidebar').visible().toString()) { HordeSidebar.toggleMenuFrame(); diff --git a/horde/services/portal/sidebar.php b/horde/services/portal/sidebar.php index c5ed37d8a..3de1d6447 100644 --- a/horde/services/portal/sidebar.php +++ b/horde/services/portal/sidebar.php @@ -266,7 +266,10 @@ foreach ($menu as $app => $params) { // updated node javascript. if (Horde_Util::getFormData('httpclient')) { header('Content-Type: application/json; charset=' . Horde_Nls::getCharset()); - echo Horde::wrapInlineScript(array($tree->renderNodeDefinitions())); + $scripts = array( + $tree->renderNodeDefinitions(), + '$(\'horde_menu\').setStyle({ width: \'auto\', height: \'auto\' });'); + echo Horde::wrapInlineScript($scripts); exit; }