diff --git a/phpgwapi/js/dftree/dftree.css b/phpgwapi/js/dftree/dftree.css deleted file mode 100644 index a983d56b64..0000000000 --- a/phpgwapi/js/dftree/dftree.css +++ /dev/null @@ -1,67 +0,0 @@ - -.son { - position: relative; - left: 10px; -/* width: 0px;*/ -} - - -.plus { - font-size: 15px; - font-weight: bold; - cursor: pointer; - cursor: hand; - color: #000000; - font-family: monospace; -} - -.plus:hover { - color: #FF0000; -} - -.opened { - display: inline; -/* width: 0px;*/ -} - -.closed { - display: none; -/* width: 0px;*/ -} - -/* link */ -.l { - padding: 2px; - font-weight: bold; - font-size: 12px; - color: #666666; - text-decoration: none; - cursor: pointer; - cursor: hand; - white-space: nowrap; - font-family: sans-serif; -} - -.l:hover { - text-decoration: underline; -} - - -/* selected link */ -.sl { - padding: 2px; - font-weight: bold; - font-size: 12px; - color: #0000FF; - text-decoration: none; - cursor: pointer; - cursor: hand; - white-space: nowrap; - font-family: sans-serif; -} - -.sl:hover { - text-decoration: underline; -} - - diff --git a/phpgwapi/js/dftree/dftree.js b/phpgwapi/js/dftree/dftree.js deleted file mode 100644 index 04e528b973..0000000000 --- a/phpgwapi/js/dftree/dftree.js +++ /dev/null @@ -1,561 +0,0 @@ -/* Dynamic Folder Tree - * Generates DHTML tree dynamically (on the fly). - * License: GNU LGPL - * - * Copyright (c) 2004, Vinicius Cubas Brand, Raphael Derosso Pereira - * {viniciuscb,raphaelpereira} at users.sourceforge.net - * All rights reserved. - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -// NODE -//Usage: a = new dNode({id:2, caption:'tree root', url:'http://www.w3.org'}); -function dNode(arrayProps) { - //mandatory fields - this.id; //node id - this.caption; //node caption - - //optional fields - this.url; //url to open - this.target; //target to open url - this.onClick; //javascript to execute onclick - this.onOpen; //javascript to execute when a node of the tree opens - this.onClose; //javascript to execute when a node of the tree closes - this.onFirstOpen; //javascript to execute only on the first open - this.iconClosed; //img.src of closed icon - this.iconOpen; //img.src of open icon - this.runJS = true; //(bool) if true, runs the on* props defined above - this.plusSign = true; //(bool) if the plus sign will appear or not - this.captionClass = 'l'; //(string) the class for this node's caption - - - //The parameters below are private - this._opened = false; //already opened - this._io = false; //is opened - - this._children = []; //references to children - this._parent; //pointer to parent - this._myTree; //pointer to myTree - this._drawn = false; - - for (var i in arrayProps) - { - if (i.charAt(0) != '_') - { - eval('this.'+i+' = arrayProps[\''+i+'\'];'); - } - } -} - -//changes node state from open to closed, and vice-versa -dNode.prototype.changeState = function() -{ - if (this._io) - { - this.close(); - } - else - { - this.open(); - } - - //cons = COokie of Node Status - //setCookie("cons"+this.id,this._io); -} - -dNode.prototype.open = function () { - if (!this._io) - { - if (!this._opened && this.runJS && this.onFirstOpen != null) - { - eval(this.onFirstOpen); - } - else if (this.runJS && this.onOpen != null) - { - eval(this.onOpen); - } - - this._debug = true; - this._opened = true; - this._io = true; - this._refresh(); - } -} - - -dNode.prototype.close = function() { - if (this._io) - { - if (this.runJS && this.onClose != null) - { - eval(this.onClose); - } - this._io = false; - this._refresh(); - } -} - -//alter node label and other properties -dNode.prototype.alter = function(arrayProps) -{ - for (var i in arrayProps) - { - if (i != 'id' && i.charAt(0) != '_') - { - eval('this.'+i+' = arrayProps[\''+i+'\'];'); - } - } -} - -//css and dhtml refresh part -dNode.prototype._refresh = function() { - var nodeDiv = getObjectById("n"+this.id+this._myTree.name); - var plusSpan = getObjectById("p"+this.id+this._myTree.name); - var captionSpan = getObjectById("l"+this.id+this._myTree.name); - var childrenDiv = getObjectById("ch"+this.id+this._myTree.name); - - if (nodeDiv != null) - { - //Handling open and close: checks this._io and changes class as needed - if (!this._io) //just closed - { - childrenDiv.className = "closed"; - } - else //just opened - { - //prevents IE undesired behaviour when displaying empty DIVs -/* if (this._children.length > 0) - {*/ - childrenDiv.className = "opened"; - // } - } - - plusSpan.innerHTML = this._properPlus(); - - captionSpan.innerHTML = this.caption; - } - -//alter onLoad, etc - -} - -//gets the proper plus for this moment -dNode.prototype._properPlus = function() -{ - if (!this._io) - { - if (this._myTree.useIcons) - { - return (this.plusSign)?imageHTML(this._myTree.icons.plus):""; - } - else - { - return (this.plusSign)?"+":""; - } - } - else - { - if (this._myTree.useIcons) - { - return (this.plusSign)?imageHTML(this._myTree.icons.minus):""; - } - else - { - return (this.plusSign)?"-":""; - } - } -} - -//changes node to selected style class. Perform further actions. -dNode.prototype._select = function() -{ - var captionSpan; - - if (this._myTree._selected) - { - this._myTree._selected._unselect(); - } - this._myTree._selected = this; - - captionSpan = getObjectById("l"+this.id+this._myTree.name); - - //changes class to selected link - if (captionSpan) - { - captionSpan.className = 'sl'; - } - -} - -//changes node to unselected style class. Perform further actions. -dNode.prototype._unselect = function() -{ - var captionSpan = getObjectById("l"+this.id+this._myTree.name); - - this._myTree._lastSelected = this._myTree._selected; - this._myTree._selected = null; - - //changes class to selected link - if (captionSpan) - { - captionSpan.className = this.captionClass; - } -} - - -//state can be open or closed -//warning: if drawed node is not child or root, bugs will happen -dNode.prototype._draw = function() -{ - var str; - var _this = this; - var divN, divCH, spanP, spanL, parentChildrenDiv; - var myClass = (this._io)? "opened" : "closed"; - var myPlus = this._properPlus(); - var append = true; - var captionOnClickEvent = null; -// var cook; - - var plusEventHandler = function(){ - _this.changeState(); - } - - var captionEventHandler = function(){ - eval(captionOnClickEvent); - } - - -/* if (this.myTree.followCookies) - { - this._io = getCookie("cons"+this.id); - }*/ - - //FIXME put this in a separate function, as this will be necessary in - //various parts - - if (this.onClick) //FIXME when onclick && url - { - captionEventHandler = function () { _this._select(); typeof(_this.onClick) == 'function' ? _this.onClick() : eval(_this.onClick); }; - } - else if (this.url && this.target) - { - captionEventHandler = function () { _this._select(); window.open(_this.url,_this.target); }; - } - else if (this.url) - { - captionEventHandler = function () { _this._select(); window.location=_this.url; }; - } - - - //The div of this node - divN = document.createElement('div'); - divN.id = 'n'+this.id+this._myTree.name; - divN.className = 'son'; -// divN.style.border = '1px solid black'; - - //The span that holds the plus/minus sign - spanP = document.createElement('span'); - spanP.id = 'p'+this.id+this._myTree.name; - spanP.className = 'plus'; - spanP.onclick = plusEventHandler; - spanP.innerHTML = myPlus; -// spanP.style.border = '1px solid green'; - - //The span that holds the label/caption - spanL = document.createElement('span'); - spanL.id = 'l'+this.id+this._myTree.name; - spanL.className = this.captionClass; - spanL.onclick = captionEventHandler; - spanL.innerHTML = this.caption; -// spanL.style.border = '1px solid red'; - - //The div that holds the children - divCH = document.createElement('div'); - divCH.id = 'ch'+this.id+this._myTree.name; - divCH.className = myClass; -// divCH.style.border = '1px solid blue'; - -// div.innerHTML = str; - divN.appendChild(spanP); - divN.appendChild(spanL); - divN.appendChild(divCH); - - - if (this._parent != null) - { - parentChildrenDiv = getObjectById("ch"+this._parent.id+this._myTree.name); - } - else //is root - { - parentChildrenDiv = getObjectById("dftree_"+this._myTree.name); - } - - if (parentChildrenDiv) - { - parentChildrenDiv.appendChild(divN); - } -} - -// TREE -//Usage: t = new dFTree({name:t, caption:'tree root', url:'http://www.w3.org'}); -function dFTree(arrayProps) { - //mandatory fields - this.name; //the value of this must be the name of the object - - //optional fields - this.is_dynamic = true; //tree is dynamic, i.e. updated on the fly - this.followCookies = true;//use previous state (o/c) of nodes - this.useIcons = false; //use icons or not - - - //arrayProps[icondir]: Icons Directory - iconPath = (arrayProps['icondir'] != null)? arrayProps['icondir'] : ''; - - this.icons = { - root : iconPath+'/foldertree_base.gif', - folder : iconPath+'/foldertree_folder.gif', - folderOpen : iconPath+'/foldertree_folderopen.gif', - node : iconPath+'/foldertree_folder.gif', - empty : iconPath+'/foldertree_empty.gif', - line : iconPath+'/foldertree_line.gif', - join : iconPath+'/foldertree_join.gif', - joinBottom : iconPath+'/foldertree_joinbottom.gif', - plus : iconPath+'/foldertree_plus.gif', - plusBottom : iconPath+'/foldertree_plusbottom.gif', - minus : iconPath+'/foldertree_minus.gif', - minusBottom : iconPath+'/foldertree_minusbottom.gif', - nlPlus : iconPath+'/foldertree_nolines_plus.gif', - nlMinus : iconPath+'/foldertree_nolines_minus.gif' - }; - - //private - this._root = false; //reference to root node - this._aNodes = []; - this._lastSelected; //The last selected node - this._selected; //The actual selected node - - for (var i in arrayProps) - { - if (i.charAt(0) != '_') - { - eval('this.'+i+' = arrayProps[\''+i+'\'];'); - } - } -} - -dFTree.prototype.draw = function(dest_element) { - var main_div; - - if (!getObjectById("dftree_"+this.name) && dest_element) - { - main_div = document.createElement('div'); - main_div.id = 'dftree_'+this.name; - dest_element.appendChild(main_div); - this._drawn = true; - } - - if (this._root != false) - { - this._root._draw(); - this._drawBranch(this._root._children); - } - -} - -//Transforms tree in HTML code -dFTree.prototype.toString = function() { - var str = ''; - - if (!getObjectById("dftree_"+this.name)) - { - str = '
'; - } - return str; - -/* if (this.root != false) - { - this.root._draw(); - this._drawBranch(this.root.children); - }*/ -} - -//Recursive function, draws children -dFTree.prototype._drawBranch = function(childrenArray) { - var a=0; - for (a;a"; -}