Author: rhari
Date: Mon May 21 10:57:50 2007
New Revision: 436
URL: http://svn.gna.org/viewcvs/phplinker?rev=436&view=rev
Log:
#814
Modified:
trunk/www/js/drag-drop-folder-tree.js
Modified: trunk/www/js/drag-drop-folder-tree.js
URL:
http://svn.gna.org/viewcvs/phplinker/trunk/www/js/drag-drop-folder-tree.js?rev=436&r1=435&r2=436&view=diff
==============================================================================
--- trunk/www/js/drag-drop-folder-tree.js (original)
+++ trunk/www/js/drag-drop-folder-tree.js Mon May 21 10:57:50 2007
@@ -999,38 +999,80 @@
obj.previousSibling.select();
}
,
+ invisibleParent : function(obj)
+ {
+ if (obj.parentNode.parentNode.id != 'root' &&
obj.parentNode.parentNode.getAttribute('visible') == '0')
+ return true;
+
+ return false;
+ }
+ ,
showItem : function(obj1,obj2)
{
currentItemToEdit = obj2.parentNode;
currentItemToEdit.setAttribute('visible', '1');
currentItemToEdit.setAttribute('Modified', 'true');
- currentItemToEdit.getElementsByTagName("A")[0].style.color
= "#000000";
+ var aTag = currentItemToEdit.getElementsByTagName('A')[0];
+ aTag.style.color = "#000000";
currentItemToEdit.setAttribute('Show', 'true');
currentItemToEdit.setAttribute('Hide', 'false');
-// var aTag = currentItemToEdit.getElementsByTagName('A')[0];
-// try{
-// var menuModelForVisible = new DHTMLGoodies_menuModel();
-//
menuModelForVisible.addItem(3,'Rename','','',false,'JSTreeObj.renameItem');
-//
menuModelForVisible.addItem(4,'Delete','','',false,'JSTreeObj.deleteItem');
-//
menuModelForVisible.addItem(6,'Hide','','',false,'JSTreeObj.hideItem');
-// menuModelForVisible.init();
-// window.refToDragDropTree = this;
-// this.contextMenu = referenceToDHTMLSuiteContextMenu;
-// }
-// catch(e){}
-// this.contextMenu.attachToElement(aTag, false,
menuModelForVisible);
-// this.addEvent(aTag,'contextmenu',this.highlightItem);
-
- if (this.hasSubNodes(currentItemToEdit) && confirm("Cette
action sera récursive?")){
- var lis = currentItemToEdit.getElementsByTagName('LI');
- var elt;
- for(var no=0;no<lis.length;no++){
- elt = document.getElementById(lis[no].id);
- elt.setAttribute('visible', '1');
- elt.getElementsByTagName("A")[0].style.color =
"#000000";
- elt.setAttribute('Show', 'true');
- elt.setAttribute('Hide', 'false');
- elt.setAttribute('Modified', 'true');
+ try{
+ var menuModelForVisible = new DHTMLGoodies_menuModel();
+
menuModelForVisible.addItem(3,'Rename','','',false,'JSTreeObj.renameItem');
+
menuModelForVisible.addItem(4,'Delete','','',false,'JSTreeObj.deleteItem');
+
menuModelForVisible.addItem(6,'Hide','','',false,'JSTreeObj.hideItem');
+ menuModelForVisible.init();
+
+ var menuModelForInvisible = new
DHTMLGoodies_menuModel();
+
menuModelForInvisible.addItem(3,'Rename','','',false,'JSTreeObj.renameItem');
+
menuModelForInvisible.addItem(4,'Delete','','',false,'JSTreeObj.deleteItem');
+
menuModelForInvisible.addItem(5,'Show','','',false,'JSTreeObj.showItem');
+ menuModelForInvisible.init();
+
+ window.refToDragDropTree = this;
+ this.contextMenu = referenceToDHTMLSuiteContextMenu;
+ }
+ catch(e){}
+
+ if (this.contextMenu){
+ this.contextMenu.attachToElement(aTag, false,
menuModelForVisible);
+ this.addEvent(aTag,'contextmenu',this.highlightItem);
+ }
+
+ if (this.hasSubNodes(currentItemToEdit)){
+ if(confirm("Cette action sera récursive?")){
+ var lis =
currentItemToEdit.getElementsByTagName('LI');
+ var elt;
+ for(var no=0;no<lis.length;no++){
+ elt = document.getElementById(lis[no].id);
+ elt.setAttribute('visible', '1');
+ aTag = elt.getElementsByTagName("A")[0];
+ aTag.style.color = "#000000";
+ elt.setAttribute('Show', 'true');
+ elt.setAttribute('Hide', 'false');
+ elt.setAttribute('Modified', 'true');
+ if (this.contextMenu){
+ this.contextMenu.attachToElement(aTag,
false, menuModelForVisible);
+
this.addEvent(aTag,'contextmenu',this.highlightItem);
+ }
+ }
+ }
+ else{
+ var lis =
currentItemToEdit.getElementsByTagName('LI');
+ var depthcurrentItemToEdit =
JSTreeObj.dragDropCountLevels(currentItemToEdit,'up');
+ var elt;
+ for(var no=0;no<lis.length;no++){
+ depthLis =
JSTreeObj.dragDropCountLevels(lis[no],'up');
+ if (depthLis - depthcurrentItemToEdit > 1)
+ continue;
+
+ elt = document.getElementById(lis[no].id);
+ aTag = elt.getElementsByTagName("A")[0];
+ if (this.contextMenu){
+ this.contextMenu.attachToElement(aTag,
false, menuModelForInvisible);
+
this.addEvent(aTag,'contextmenu',this.highlightItem);
+ }
+ }
}
}
}
@@ -1040,21 +1082,48 @@
currentItemToEdit = obj2.parentNode;
currentItemToEdit.setAttribute('visible', '0');
currentItemToEdit.setAttribute('Modified', 'true');
- currentItemToEdit.getElementsByTagName("A")[0].style.color
= "#999999";
+ var aTag = currentItemToEdit.getElementsByTagName("A")[0];
+ aTag.style.color = "#999999";
//
currentItemToEdit.getElementsByTagName("A")[0].style.backgroundColor =
"#999999";
currentItemToEdit.setAttribute('Hide', 'true');
currentItemToEdit.setAttribute('Show', 'false');
+ try{
+ var menuModelForInvisible = new
DHTMLGoodies_menuModel();
+
menuModelForInvisible.addItem(3,'Rename','','',false,'JSTreeObj.renameItem');
+
menuModelForInvisible.addItem(4,'Delete','','',false,'JSTreeObj.deleteItem');
+
menuModelForInvisible.addItem(5,'Show','','',false,'JSTreeObj.showItem');
+ menuModelForInvisible.init();
+
+ var menuModel = new DHTMLGoodies_menuModel();
+
menuModel.addItem(3,'Rename','','',false,'JSTreeObj.renameItem');
+
menuModel.addItem(4,'Delete','','',false,'JSTreeObj.deleteItem');
+ menuModel.init();
+
+ window.refToDragDropTree = this;
+ this.contextMenu = referenceToDHTMLSuiteContextMenu;
+ }
+ catch(e){}
+
+ if (this.contextMenu){
+ this.contextMenu.attachToElement(aTag, false,
menuModelForInvisible);
+ this.addEvent(aTag,'contextmenu',this.highlightItem);
+ }
if (this.hasSubNodes(currentItemToEdit)){
var lis = currentItemToEdit.getElementsByTagName('LI');
var elt;
for(var no=0;no<lis.length;no++){
elt = document.getElementById(lis[no].id);
elt.setAttribute('visible', '0');
- elt.getElementsByTagName("A")[0].style.color =
"#999999";
+ aTag = elt.getElementsByTagName("A")[0];
+ aTag.style.color = "#999999";
//
elt.getElementsByTagName("A")[0].style.backgroundColor = "#999999";
elt.setAttribute('Hide', 'true');
elt.setAttribute('Show', 'false');
elt.setAttribute('Modified', 'true');
+ if (this.contextMenu){
+ this.contextMenu.attachToElement(aTag, false,
menuModel);
+
this.addEvent(aTag,'contextmenu',this.highlightItem);
+ }
}
}
}
@@ -1095,12 +1164,6 @@
var menuModel = new
DHTMLGoodies_menuModel();
if(this.deleteAllowed)menuModel.addItem(1,'Delete','','',false,'JSTreeObj.deleteItem');
if(this.renameAllowed)menuModel.addItem(2,'Rename','','',false,'JSTreeObj.renameItem');
- //*****************************Hari
20070418***lastmodif 20070418*************/
-
-
menuModel.addItem(5,'Show','','',false,'JSTreeObj.showItem');
-
menuModel.addItem(6,'Hide','','',false,'JSTreeObj.hideItem');
-
-
//****************************************************************************/
menuModel.init();
var menuModelRenameOnly = new
DHTMLGoodies_menuModel();
@@ -1224,6 +1287,7 @@
if(!noDelete)noDelete =
menuItems[no].noDelete;
var noRename =
menuItems[no].getAttribute('noRename');
var toShow =
menuItems[no].getAttribute('visible');
+ if
(this.invisibleParent(menuItems[no]))toShow = -1;
if(!noRename)noRename =
menuItems[no].noRename;
if (isTag == 'true'){
if (noDelete!='true' &&
noRename!='true')
_______________________________________________
PHPLinker-commits mailing list
[email protected]
https://mail.gna.org/listinfo/phplinker-commits