| /* |
| 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.TreeLinkExtension"); |
| dojo.require("dojo.widget.HtmlWidget"); |
| dojo.require("dojo.widget.TreeExtension"); |
| dojo.widget.defineWidget("dojo.widget.TreeLinkExtension", dojo.widget.TreeExtension, function () { |
| this.params = {}; |
| }, {listenTreeEvents:["afterChangeTree"], listenTree:function (tree) { |
| dojo.widget.TreeCommon.prototype.listenTree.call(this, tree); |
| var labelNode = tree.labelNodeTemplate; |
| var newLabel = this.makeALabel(); |
| dojo.html.setClass(newLabel, dojo.html.getClass(labelNode)); |
| labelNode.parentNode.replaceChild(newLabel, labelNode); |
| }, makeALabel:function () { |
| var newLabel = document.createElement("a"); |
| for (var key in this.params) { |
| if (key in {}) { |
| continue; |
| } |
| newLabel.setAttribute(key, this.params[key]); |
| } |
| return newLabel; |
| }, onAfterChangeTree:function (message) { |
| var _this = this; |
| if (!message.oldTree) { |
| this.listenNode(message.node); |
| } |
| }, listenNode:function (node) { |
| for (var key in node.object) { |
| if (key in {}) { |
| continue; |
| } |
| node.labelNode.setAttribute(key, node.object[key]); |
| } |
| }}); |
| |