* Constructor.
*
* @param string $name @see parent::__construct().
- * @param array $params @see parent::__construct().
+ * @param array $params @see parent::__construct(). Additional options:
+ * <pre>
+ * 'jsvar' - The JS variable name to store the tree object in.
+ * DEFAULT: $_instance
+ * </pre>
*/
public function __construct($name, array $params = array())
{
'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 '<div id="' . $this->_instance . '"></div>';
}
// 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') {