mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
New build scripts
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5282 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
117
source/web/scripts/ajax/dojo/src/widget/TreeDocIconExtension.js
Normal file
117
source/web/scripts/ajax/dojo/src/widget/TreeDocIconExtension.js
Normal file
@@ -0,0 +1,117 @@
|
||||
/*
|
||||
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.TreeDocIconExtension");
|
||||
|
||||
dojo.require("dojo.widget.HtmlWidget");
|
||||
dojo.require("dojo.widget.TreeExtension");
|
||||
|
||||
// selector extension to emphasize node
|
||||
|
||||
dojo.widget.defineWidget(
|
||||
"dojo.widget.TreeDocIconExtension",
|
||||
[dojo.widget.TreeExtension],
|
||||
{
|
||||
/**
|
||||
* can't unlisten
|
||||
*/
|
||||
|
||||
templateCssPath: dojo.uri.dojoUri("src/widget/templates/TreeDocIcon.css"),
|
||||
|
||||
|
||||
listenTreeEvents: ["afterChangeTree","afterSetFolder","afterUnsetFolder"],
|
||||
|
||||
listenNodeFilter: function(elem) { return elem instanceof dojo.widget.Widget },
|
||||
|
||||
getnodeDocType: function(node) {
|
||||
var nodeDocType = node.getnodeDocType();
|
||||
if (!nodeDocType) { // set default type
|
||||
nodeDocType = node.isFolder ? "Folder" : "Document";
|
||||
}
|
||||
return nodeDocType;
|
||||
},
|
||||
|
||||
setnodeDocTypeClass: function(node) {
|
||||
|
||||
var reg = new RegExp("(^|\\s)"+node.tree.classPrefix+"Icon\\w+",'g');
|
||||
|
||||
var clazz = dojo.html.getClass(node.iconNode).replace(reg,'') + ' ' + node.tree.classPrefix+'Icon'+this.getnodeDocType(node);
|
||||
dojo.html.setClass(node.iconNode, clazz);
|
||||
},
|
||||
|
||||
|
||||
onAfterSetFolder: function(message) {
|
||||
//dojo.debug("FOLDER");
|
||||
if (message.source.iconNode) {
|
||||
// on node-initialize time when folder is set there is no iconNode
|
||||
// this case will be processed in treeChange anyway
|
||||
this.setnodeDocTypeClass(message.source);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
onAfterUnsetFolder: function(message) {
|
||||
this.setnodeDocTypeClass(message.source);
|
||||
},
|
||||
|
||||
|
||||
listenNode: function(node) {
|
||||
/**
|
||||
* add node with document type icon to node template and Tree.iconNodeTemplate
|
||||
* it will be set to TreeNode.iconNode on node creation
|
||||
* we do not assign document type yet, its node specific
|
||||
*/
|
||||
//dojo.debug("listenNode in "+node);
|
||||
|
||||
node.contentIconNode = document.createElement("div");
|
||||
var clazz = node.tree.classPrefix+"IconContent";
|
||||
if (dojo.render.html.ie) {
|
||||
clazz = clazz+' '+ node.tree.classPrefix+"IEIconContent";
|
||||
}
|
||||
dojo.html.setClass(node.contentIconNode, clazz);
|
||||
|
||||
node.contentNode.parentNode.replaceChild(node.contentIconNode, node.expandNode);
|
||||
|
||||
node.iconNode = document.createElement("div");
|
||||
dojo.html.setClass(node.iconNode, node.tree.classPrefix+"Icon"+' '+node.tree.classPrefix+'Icon'+this.getnodeDocType(node));
|
||||
|
||||
node.contentIconNode.appendChild(node.expandNode);
|
||||
node.contentIconNode.appendChild(node.iconNode);
|
||||
|
||||
dojo.dom.removeNode(node.contentNode);
|
||||
node.contentIconNode.appendChild(node.contentNode);
|
||||
|
||||
|
||||
|
||||
//dojo.html.insertAfter(node.iconNode, node.expandNode);
|
||||
|
||||
//dojo.debug("listenNode out "+node);
|
||||
|
||||
},
|
||||
|
||||
|
||||
onAfterChangeTree: function(message) {
|
||||
var _this = this;
|
||||
|
||||
//dojo.debug(message.node)
|
||||
|
||||
if (!message.oldTree || !this.listenedTrees[message.oldTree.widgetId]) {
|
||||
// moving from old tree to our tree
|
||||
this.processDescendants(message.node,
|
||||
this.listenNodeFilter,
|
||||
this.listenNode
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
Reference in New Issue
Block a user