| /* |
| 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.TreeToggleOnSelect"); |
| |
| 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.TreeToggleOnSelect", |
| dojo.widget.HtmlWidget, |
| { |
| selector: "", |
| controller: "", |
| selectEvent: "select", |
| |
| initialize: function() { |
| this.selector = dojo.widget.byId(this.selector); |
| this.controller = dojo.widget.byId(this.controller); |
| |
| dojo.event.topic.subscribe(this.selector.eventNames[this.selectEvent], this, "onSelectEvent"); |
| }, |
| |
| |
| onSelectEvent: function(message) { |
| // if (this.selectEvent |
| var node = message.node |
| node.isExpanded ? this.controller.collapse(node) : this.controller.expand(node) |
| } |
| |
| |
| |
| }); |
| |