diff --git a/static/js/tree.js b/static/js/tree.js index a53f880..055cfb5 100644 --- a/static/js/tree.js +++ b/static/js/tree.js @@ -1,5 +1,5 @@ var tree = { - fileTree: {}, + fileTree: undefined, newFile: function() { $("#dirRMenu ul").hide(); var name = prompt("Name", ""); @@ -96,62 +96,23 @@ var tree = { wide.curNode = treeNode; if ("f" === treeNode.type) { // 如果右击了文件 $("#fileRMenu ul").show(); - fileRMenu.css({"top": event.clientY - 10 + "px", "left": event.clientX + "px", "display": "block"}); + fileRMenu.css({ + "top": event.clientY - 10 + "px", + "left": event.clientX + "px", + "display": "block" + }); } else { // 右击了目录 $("#dirRMenu ul").show(); - dirRMenu.css({"top": event.clientY - 10 + "px", "left": event.clientX + "px", "display": "block"}); + dirRMenu.css({ + "top": event.clientY - 10 + "px", + "left": event.clientX + "px", + "display": "block" + }); } } }, onClick: function(event, treeId, treeNode, clickFlag) { - if (wide.curNode) { - var id = wide.curNode.tId; - if (id === treeNode.tId) { - // 再次点击当前选中节点 - return false; - } - - - for (var i = 0, ii = editors.data.length; i < ii; i++) { - // 该节点文件已经打开 - if (editors.data[i].id === treeNode.tId) { - editors.tabs.setCurrent(treeNode.tId); - wide.curNode = treeNode; - wide.curEditor = editors.data[i].editor; - return false; - } - } - } - - wide.curNode = treeNode; - - if ("f" === treeNode.type) { // 如果单击了文件 - var request = { - path: treeNode.path - }; - $.ajax({ - type: 'POST', - url: '/file', - data: JSON.stringify(request), - dataType: "json", - success: function(data) { - if (!data.succ) { - alert(data.msg); - - return false; - } - - if ("img" === data.mode) { // 是图片文件的话新建 tab 打开 - // 最好是开 tab,但这个最终取决于浏览器设置 - var w = window.open(data.path); - - return false; - } - - editors.newEditor(data); - } - }); - } + tree._onClick(treeNode); } } }; @@ -159,5 +120,55 @@ var tree = { } } }); + }, + _onClick: function(treeNode) { + if (wide.curNode) { + var id = wide.curNode.tId; + if (id === treeNode.tId) { + // 再次点击当前选中节点 + return false; + } + + + for (var i = 0, ii = editors.data.length; i < ii; i++) { + // 该节点文件已经打开 + if (editors.data[i].id === treeNode.tId) { + editors.tabs.setCurrent(treeNode.tId); + wide.curNode = treeNode; + wide.curEditor = editors.data[i].editor; + return false; + } + } + } + + wide.curNode = treeNode; + + if ("f" === treeNode.type) { // 如果单击了文件 + var request = { + path: treeNode.path + }; + $.ajax({ + type: 'POST', + url: '/file', + data: JSON.stringify(request), + dataType: "json", + success: function(data) { + if (!data.succ) { + alert(data.msg); + + return false; + } + + if ("img" === data.mode) { // 是图片文件的话新建 tab 打开 + // 最好是开 tab,但这个最终取决于浏览器设置 + var w = window.open(data.path); + + return false; + } + + editors.newEditor(data); + } + }); + } } }; \ No newline at end of file