保存所有文件,关闭所有文件
This commit is contained in:
parent
bf505af3a8
commit
3e720d8179
|
@ -5,7 +5,6 @@
|
||||||
"OutputChannel": "ws://{IP}:7070",
|
"OutputChannel": "ws://{IP}:7070",
|
||||||
"ShellChannel": "ws://{IP}:7070",
|
"ShellChannel": "ws://{IP}:7070",
|
||||||
"SessionChannel": "ws://{IP}:7070",
|
"SessionChannel": "ws://{IP}:7070",
|
||||||
"HTTPSessionMaxAge": 86400,
|
|
||||||
"StaticResourceVersion": "201409032040",
|
"StaticResourceVersion": "201409032040",
|
||||||
"MaxProcs": 4,
|
"MaxProcs": 4,
|
||||||
"RuntimeMode": "dev",
|
"RuntimeMode": "dev",
|
||||||
|
@ -17,13 +16,12 @@
|
||||||
"Workspace": "{pwd}/data/user_workspaces/admin",
|
"Workspace": "{pwd}/data/user_workspaces/admin",
|
||||||
"LatestSessionContent": {
|
"LatestSessionContent": {
|
||||||
"FileTree": [
|
"FileTree": [
|
||||||
"/home/daniel/gogogo/src/github.com/b3log/wide/data/user_workspaces/admin/src/mytest",
|
"E:\\Work\\go\\src\\github.com\\b3log\\wide\\data\\user_workspaces\\admin\\src\\mytest",
|
||||||
"/home/daniel/gogogo/src/github.com/b3log/wide/data/user_workspaces/admin/src/mytest/time"
|
"E:\\Work\\go\\src\\github.com\\b3log\\wide\\data\\user_workspaces\\admin\\src\\mytest\\time",
|
||||||
|
"E:\\Work\\go\\src\\github.com\\b3log\\wide\\data\\user_workspaces\\admin\\src\\mytest\\time\\pkg"
|
||||||
],
|
],
|
||||||
"Files": [
|
"Files": [],
|
||||||
"/home/daniel/gogogo/src/github.com/b3log/wide/data/user_workspaces/admin/src/mytest/time/main.go"
|
"CurrentFile": ""
|
||||||
],
|
|
||||||
"CurrentFile": "/home/daniel/gogogo/src/github.com/b3log/wide/data/user_workspaces/admin/src/mytest/time/main.go"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
"delete": "删除",
|
"delete": "删除",
|
||||||
"save": "保存",
|
"save": "保存",
|
||||||
"exit": "退出",
|
"exit": "退出",
|
||||||
"close_file": "关闭文件",
|
|
||||||
"close_all_files": "关闭所有文件",
|
"close_all_files": "关闭所有文件",
|
||||||
"save_all_files": "保存所有文件",
|
"save_all_files": "保存所有文件",
|
||||||
"format": "格式化",
|
"format": "格式化",
|
||||||
|
|
|
@ -146,13 +146,13 @@
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu > ul > li > a,
|
|
||||||
.menu > ul > li > span {
|
.menu > ul > li > span {
|
||||||
color: #000;
|
color: #000;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
/* end menu */
|
/* end menu */
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ var editors = {
|
||||||
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 === id) {
|
if (editors.data[i].id === id) {
|
||||||
editors.data.splice(i, 1);
|
editors.data.splice(i, 1);
|
||||||
|
wide.fmt(tree.fileTree.getNodeByTId(editors.data[i].id).path, editors.data[i].editor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -388,7 +389,7 @@ var editors = {
|
||||||
wide.saveAllFiles();
|
wide.saveAllFiles();
|
||||||
},
|
},
|
||||||
"Shift-Alt-F": function () {
|
"Shift-Alt-F": function () {
|
||||||
wide.fmt();
|
wide.fmt(editors.getCurrentPath(), wide.curEditor);
|
||||||
},
|
},
|
||||||
"Alt-F7": "findUsages"
|
"Alt-F7": "findUsages"
|
||||||
}
|
}
|
||||||
|
|
|
@ -398,20 +398,26 @@ var wide = {
|
||||||
},
|
},
|
||||||
saveFile: function () {
|
saveFile: function () {
|
||||||
// 格式化后会对文件进行保存
|
// 格式化后会对文件进行保存
|
||||||
this.fmt();
|
this.fmt(editors.getCurrentPath(), wide.curEditor);
|
||||||
},
|
},
|
||||||
saveAllFiles: function () {
|
saveAllFiles: function () {
|
||||||
// TODO: save all open files
|
// TODO: 需要全部保存的接口
|
||||||
for (var i = 0, ii = editors.data.length; i < ii; i++) {
|
for (var i = 0, ii = editors.data.length; i < ii; i++) {
|
||||||
|
this.fmt(tree.fileTree.getNodeByTId(editors.data[i].id).path, editors.data[i].editor);
|
||||||
}
|
}
|
||||||
console.log("TODO: save all files");
|
|
||||||
},
|
},
|
||||||
closeFile: function () {
|
closeFile: function () {
|
||||||
// TODO: close file
|
// TODO: close file
|
||||||
},
|
},
|
||||||
closeAllFiles: function () {
|
closeAllFiles: function () {
|
||||||
// TODO: close all files
|
this.saveAllFiles();
|
||||||
|
editors.data = [];
|
||||||
|
tree.fileTree.cancelSelectedNode();
|
||||||
|
wide.curNode = undefined;
|
||||||
|
wide.curEditor = undefined;
|
||||||
|
$(".toolbars").hide();
|
||||||
|
|
||||||
|
$(".edit-panel .tabs, .edit-panel .tabs-panel").html('');
|
||||||
},
|
},
|
||||||
exit: function () {
|
exit: function () {
|
||||||
// TODO: exit
|
// TODO: exit
|
||||||
|
@ -497,15 +503,14 @@ var wide = {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
fmt: function () {
|
fmt: function (path, curEditor) {
|
||||||
var path = editors.getCurrentPath();
|
var mode = curEditor.getOption("mode");
|
||||||
var mode = wide.curEditor.getOption("mode");
|
|
||||||
|
|
||||||
var request = newWideRequest();
|
var request = newWideRequest();
|
||||||
request.file = path;
|
request.file = path;
|
||||||
request.code = wide.curEditor.getValue();
|
request.code = curEditor.getValue();
|
||||||
request.cursorLine = wide.curEditor.getCursor().line;
|
request.cursorLine = curEditor.getCursor().line;
|
||||||
request.cursorCh = wide.curEditor.getCursor().ch;
|
request.cursorCh = curEditor.getCursor().ch;
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case "text/x-go": // 会保存文件
|
case "text/x-go": // 会保存文件
|
||||||
|
@ -516,7 +521,7 @@ var wide = {
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
if (data.succ) {
|
if (data.succ) {
|
||||||
wide.curEditor.setValue(data.code);
|
curEditor.setValue(data.code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -530,7 +535,7 @@ var wide = {
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
if (data.succ) {
|
if (data.succ) {
|
||||||
wide.curEditor.setValue(data.code);
|
curEditor.setValue(data.code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -539,14 +544,13 @@ var wide = {
|
||||||
case "application/json":
|
case "application/json":
|
||||||
try {
|
try {
|
||||||
// 在客户端浏览器中进行 JSON 格式化
|
// 在客户端浏览器中进行 JSON 格式化
|
||||||
var json = JSON.parse(wide.curEditor.getValue());
|
var json = JSON.parse(curEditor.getValue());
|
||||||
wide.curEditor.setValue(JSON.stringify(json, "", " "));
|
curEditor.setValue(JSON.stringify(json, "", " "));
|
||||||
|
|
||||||
wide._save();
|
wide._save();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
delete e;
|
delete e;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default :
|
default :
|
||||||
// TODO: XML 格式化处理
|
// TODO: XML 格式化处理
|
||||||
|
|
|
@ -26,16 +26,9 @@
|
||||||
<span>{{.i18n.file}}</span>
|
<span>{{.i18n.file}}</span>
|
||||||
<div class="frame">
|
<div class="frame">
|
||||||
<ul>
|
<ul>
|
||||||
<li onclick="wide.saveFile()">
|
|
||||||
<span>{{.i18n.save}}</span>
|
|
||||||
</li>
|
|
||||||
<li onclick="wide.saveAllFiles()">
|
<li onclick="wide.saveAllFiles()">
|
||||||
<span>{{.i18n.save_all_files}}</span>
|
<span>{{.i18n.save_all_files}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="hr"></li>
|
|
||||||
<li onclick="wide.closeFile()">
|
|
||||||
<span>{{.i18n.close_file}}</span>
|
|
||||||
</li>
|
|
||||||
<li onclick="wide.closeAllFiles()">
|
<li onclick="wide.closeAllFiles()">
|
||||||
<span>{{.i18n.close_all_files}}</span>
|
<span>{{.i18n.close_all_files}}</span>
|
||||||
</li>
|
</li>
|
||||||
|
@ -132,7 +125,7 @@
|
||||||
<div class="toolbars fn-none">
|
<div class="toolbars fn-none">
|
||||||
<span onclick="wide.run()" class="font-ico ico-buildrun" title="{{.i18n.build_n_run}}"></span>
|
<span onclick="wide.run()" class="font-ico ico-buildrun" title="{{.i18n.build_n_run}}"></span>
|
||||||
<span onclick="wide.saveFile()" title="{{.i18n.save}}" class="font-ico ico-save"></span>
|
<span onclick="wide.saveFile()" title="{{.i18n.save}}" class="font-ico ico-save"></span>
|
||||||
<span onclick="wide.fmt()" class="ico-format font-ico" title="{{.i18n.format}}"></span>
|
<span onclick="wide.fmt(editors.getCurrentPath(), wide.curEditor)" class="ico-format font-ico" title="{{.i18n.format}}"></span>
|
||||||
<span class="font-ico ico-max" onclick="windows.maxEditor()" title="{{.i18n.max_editor}}"></span>
|
<span class="font-ico ico-max" onclick="windows.maxEditor()" title="{{.i18n.max_editor}}"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs"></div>
|
<div class="tabs"></div>
|
||||||
|
|
Loading…
Reference in New Issue