This commit is contained in:
parent
1b60c8712e
commit
6381e16287
|
@ -442,34 +442,11 @@ var editors = {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var cursorLine = data.cursorLine;
|
var tId = tree.getTIdByPath(data.path);
|
||||||
var cursorCh = data.cursorCh;
|
wide.curNode = tree.fileTree.getNodeByTId(tId);
|
||||||
|
tree.fileTree.selectNode(wide.curNode);
|
||||||
|
|
||||||
var request = newWideRequest();
|
tree.openFile(wide.curNode, CodeMirror.Pos(data.cursorLine - 1, data.cursorCh - 1));
|
||||||
request.path = data.path;
|
|
||||||
|
|
||||||
// TODO: refactor
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/file',
|
|
||||||
data: JSON.stringify(request),
|
|
||||||
dataType: "json",
|
|
||||||
success: function (data) {
|
|
||||||
if (!data.succ) {
|
|
||||||
$("#dialogAlert").dialog("open", data.msg);
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var tId = tree.getTIdByPath(data.path);
|
|
||||||
wide.curNode = tree.fileTree.getNodeByTId(tId);
|
|
||||||
tree.fileTree.selectNode(wide.curNode);
|
|
||||||
|
|
||||||
data.cursorLine = cursorLine;
|
|
||||||
data.cursorCh = cursorCh;
|
|
||||||
tree.openFile(wide.curNode);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -574,7 +551,7 @@ var editors = {
|
||||||
$(".bottom-window-group .search").focus();
|
$(".bottom-window-group .search").focus();
|
||||||
},
|
},
|
||||||
// 新建一个编辑器 Tab,如果已经存在 Tab 则切换到该 Tab.
|
// 新建一个编辑器 Tab,如果已经存在 Tab 则切换到该 Tab.
|
||||||
newEditor: function (data) {
|
newEditor: function (data, cursor) {
|
||||||
$(".toolbars").show();
|
$(".toolbars").show();
|
||||||
var id = wide.curNode.tId;
|
var id = wide.curNode.tId;
|
||||||
|
|
||||||
|
@ -805,11 +782,12 @@ var editors = {
|
||||||
"id": id
|
"id": id
|
||||||
});
|
});
|
||||||
|
|
||||||
var cursor = CodeMirror.Pos(0, 0);
|
|
||||||
if (data.cursorLine && data.cursorCh) {
|
|
||||||
cursor = CodeMirror.Pos(data.cursorLine - 1, data.cursorCh - 1);
|
|
||||||
}
|
|
||||||
$(".footer .cursor").text('| ' + (cursor.line + 1) + ':' + (cursor.ch + 1) + ' |');
|
$(".footer .cursor").text('| ' + (cursor.line + 1) + ':' + (cursor.ch + 1) + ' |');
|
||||||
|
|
||||||
|
var half = Math.floor(wide.curEditor.getScrollInfo().clientHeight / wide.curEditor.defaultTextHeight() / 2);
|
||||||
|
var cursorCoords = wide.curEditor.cursorCoords({line: cursor.line - half, ch: 0}, "local");
|
||||||
|
wide.curEditor.scrollTo(0, cursorCoords.top);
|
||||||
|
|
||||||
editor.setCursor(cursor);
|
editor.setCursor(cursor);
|
||||||
editor.focus();
|
editor.focus();
|
||||||
}
|
}
|
||||||
|
|
|
@ -242,21 +242,24 @@ var tree = {
|
||||||
|
|
||||||
this._initSearch();
|
this._initSearch();
|
||||||
},
|
},
|
||||||
openFile: function (treeNode) {
|
openFile: function (treeNode, cursor) {
|
||||||
wide.curNode = treeNode;
|
wide.curNode = treeNode;
|
||||||
|
var tempCursor = cursor;
|
||||||
|
|
||||||
for (var i = 0, ii = editors.data.length; i < ii; i++) {
|
for (var i = 0, ii = editors.data.length; i < ii; i++) {
|
||||||
// 该节点文件已经打开
|
// 该节点文件已经打开
|
||||||
if (editors.data[i].id === treeNode.tId) {
|
if (editors.data[i].id === treeNode.tId) {
|
||||||
editors.tabs.setCurrent(treeNode.tId);
|
editors.tabs.setCurrent(treeNode.tId);
|
||||||
wide.curEditor = editors.data[i].editor;
|
wide.curEditor = editors.data[i].editor;
|
||||||
|
|
||||||
var cursor = wide.curEditor.getCursor();
|
if (!tempCursor) {
|
||||||
$(".footer .cursor").text('| ' + (cursor.line + 1) + ':' + (cursor.ch + 1) + ' |');
|
tempCursor = wide.curEditor.getCursor();
|
||||||
|
}
|
||||||
wide.curEditor.setCursor(cursor);
|
$(".footer .cursor").text('| ' + (tempCursor.line + 1) + ':' + (tempCursor.ch + 1) + ' |');
|
||||||
|
|
||||||
|
wide.curEditor.setCursor(tempCursor);
|
||||||
var half = Math.floor(wide.curEditor.getScrollInfo().clientHeight / wide.curEditor.defaultTextHeight() / 2);
|
var half = Math.floor(wide.curEditor.getScrollInfo().clientHeight / wide.curEditor.defaultTextHeight() / 2);
|
||||||
var cursorCoords = wide.curEditor.cursorCoords({line: cursor.line - half, ch: 0}, "local");
|
var cursorCoords = wide.curEditor.cursorCoords({line: tempCursor.line - half, ch: 0}, "local");
|
||||||
wide.curEditor.scrollTo(0, cursorCoords.top);
|
wide.curEditor.scrollTo(0, cursorCoords.top);
|
||||||
wide.curEditor.focus();
|
wide.curEditor.focus();
|
||||||
|
|
||||||
|
@ -286,8 +289,11 @@ var tree = {
|
||||||
var w = window.open(data.path);
|
var w = window.open(data.path);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
editors.newEditor(data);
|
if (!tempCursor) {
|
||||||
|
tempCursor = CodeMirror.Pos(0, 0);
|
||||||
|
}
|
||||||
|
editors.newEditor(data, tempCursor);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue