/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.provide("dojo.widget.TreeExpandToNodeOnSelect"); dojo.require("dojo.widget.HtmlWidget"); /** * when a node is selected, expands tree to make it visible * useful for program expansion */ dojo.widget.defineWidget( "dojo.widget.TreeExpandToNodeOnSelect", dojo.widget.HtmlWidget, { selector: "", controller: "", /** * if true, then selected node will be expanded too */ withSelected: false, initialize: function() { this.selector = dojo.widget.byId(this.selector); this.controller = dojo.widget.byId(this.controller); dojo.event.topic.subscribe(this.selector.eventNames.select, this, "onSelect"); }, onSelectEvent: function(message) { this.controller.expandToNode(message.node, this.withSelected) } });