From 535677fc8edbc24ed4c5d075508fa675890afbb5 Mon Sep 17 00:00:00 2001 From: Matt Pass Date: Sun, 12 May 2013 13:56:30 +0100 Subject: [PATCH] onclick needs if check and simpler title updating onclick function needed is statement plus passing of event on anon function to solve repeated CTRL+click issue Update title not by adjusting hardcoded values but by looking to ID of targetElem We're able to get rid of a lot of code here as the onmouseover function is now looking to a child node item in get-branch.php, so no need to mess with updating hardcoded string values. --- lib/ice-coder.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/ice-coder.js b/lib/ice-coder.js index 57a4de8..654f6ef 100644 --- a/lib/ice-coder.js +++ b/lib/ice-coder.js @@ -440,7 +440,11 @@ var ICEcoder = { openCloseDir: function(dir,load) { var node, d; - dir.onclick = function() {top.ICEcoder.openCloseDir(this,false)}; + dir.onclick = function(event) { + if(!event.ctrlKey) { + top.ICEcoder.openCloseDir(this,false); + } + }; node = dir.parentNode; if (node.nextSibling) {node = node.nextSibling}; if (node && node.tagName=="UL") { @@ -807,11 +811,9 @@ var ICEcoder = { targetElem = document.getElementById('filesFrame').contentWindow.document.getElementById(shortURL); // Set the name to be as per our new file/folder name targetElem.innerHTML = file; - // Finally, update the ID of the target & set a new mouseover function for the parent too + // Finally, update the ID of the target & set a new title and perms ID targetElem.id = location.replace(/\//g,"|") + "|" + file; - newMouseOver = targetElem.parentNode.onmouseover.toString().replace(shortURL.substring(shortURL.lastIndexOf("|")+1),file).split('\''); - eval("targetElem.parentNode.onmouseover = function() { top.ICEcoder.overFileFolder('"+newMouseOver[1]+"','"+newMouseOver[3]+"');}"); - targetElem.parentNode.title = function(fileFolder) {return fileFolder.replace(/\|/g,"/");}(newMouseOver[3]); + targetElem.parentNode.title = targetElem.id.replace(/\|/g,"/"); targetElemPerms = document.getElementById('filesFrame').contentWindow.document.getElementById(shortURL+"_perms"); targetElemPerms.id = location.replace(/\//g,"|") + "|" + file + "_perms"; }