From: Michael M Slusarz Date: Thu, 15 Jul 2010 22:48:15 +0000 (-0600) Subject: Allow sidebar tree object to be stored in configurable js variable X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=e0960a0aa3b24cffbcebcd40970daf6c1e22e793;p=horde.git Allow sidebar tree object to be stored in configurable js variable --- diff --git a/framework/Core/lib/Horde/Core/Tree/Javascript.php b/framework/Core/lib/Horde/Core/Tree/Javascript.php index e022ed48d..986e3cfcb 100644 --- a/framework/Core/lib/Horde/Core/Tree/Javascript.php +++ b/framework/Core/lib/Horde/Core/Tree/Javascript.php @@ -20,7 +20,11 @@ class Horde_Core_Tree_Javascript extends Horde_Core_Tree_Html * Constructor. * * @param string $name @see parent::__construct(). - * @param array $params @see parent::__construct(). + * @param array $params @see parent::__construct(). Additional options: + *
+     * 'jsvar' - The JS variable name to store the tree object in.
+     *           DEFAULT: $_instance
+     * 
*/ public function __construct($name, array $params = array()) { @@ -97,8 +101,12 @@ class Horde_Core_Tree_Javascript extends Horde_Core_Tree_Html 'initTree' => $this->renderNodeDefinitions() ); + $js_var = empty($this->_options['jsvar']) + ? $this->_instance + : $this->_options['jsvar']; + Horde::addInlineScript(array( - 'window.' . $this->_instance . ' = new Horde_Tree(' . Horde_Serialize::serialize($opts, Horde_Serialize::JSON, $GLOBALS['registry']->getCharset()) . ')' + 'window.' . $js_var . ' = new Horde_Tree(' . Horde_Serialize::serialize($opts, Horde_Serialize::JSON, $GLOBALS['registry']->getCharset()) . ')' ), 'dom'); return '
'; diff --git a/horde/lib/Ui/Sidebar.php b/horde/lib/Ui/Sidebar.php index 2600d3304..62a175093 100644 --- a/horde/lib/Ui/Sidebar.php +++ b/horde/lib/Ui/Sidebar.php @@ -191,7 +191,7 @@ class Horde_Ui_Sidebar } // Set up the tree. - $tree = $injector->getInstance('Horde_Tree')->getTree('HordeSidebar.tree', 'Javascript'); + $tree = $injector->getInstance('Horde_Tree')->getTree('horde_sidebar', 'Javascript', array('jsvar' => 'HordeSidebar.tree')); foreach ($menu as $app => $params) { if ($params['status'] == 'block') {