mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5282 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
74 lines
1.4 KiB
JavaScript
74 lines
1.4 KiB
JavaScript
/*
|
|
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 = {};
|
|
},
|
|
{
|
|
/**
|
|
* can only listen, no unlisten
|
|
*/
|
|
|
|
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;
|
|
|
|
|
|
// only for new nodes
|
|
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]);
|
|
}
|
|
}
|
|
|
|
|
|
});
|