refactor
This commit is contained in:
parent
f74ee1cac4
commit
97a6b1b69f
|
@ -641,7 +641,7 @@ var editors = {
|
||||||
wide.saveFile();
|
wide.saveFile();
|
||||||
},
|
},
|
||||||
"Shift-Ctrl-S": function () {
|
"Shift-Ctrl-S": function () {
|
||||||
wide.saveAllFiles();
|
menu.saveAllFiles();
|
||||||
},
|
},
|
||||||
"Shift-Alt-F": function () {
|
"Shift-Alt-F": function () {
|
||||||
var currentPath = editors.getCurrentPath();
|
var currentPath = editors.getCurrentPath();
|
||||||
|
|
|
@ -417,7 +417,7 @@ var hotkeys = {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.which === hotKeys.buildRun.which) { // F6 构建并运行
|
if (event.which === hotKeys.buildRun.which) { // F6 构建并运行
|
||||||
wide.run();
|
menu.run();
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -17,6 +17,8 @@
|
||||||
var menu = {
|
var menu = {
|
||||||
init: function () {
|
init: function () {
|
||||||
this.subMenu();
|
this.subMenu();
|
||||||
|
this._initPreference();
|
||||||
|
this._initAbout();
|
||||||
|
|
||||||
// 点击子菜单后消失
|
// 点击子菜单后消失
|
||||||
$(".frame li").click(function () {
|
$(".frame li").click(function () {
|
||||||
|
@ -24,6 +26,34 @@ var menu = {
|
||||||
$(".menu > ul > li > a, .menu > ul> li > span").removeClass("selected");
|
$(".menu > ul > li > a, .menu > ul> li > span").removeClass("selected");
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
_initAbout: function () {
|
||||||
|
$("#dialogAbout").load('/about', function () {
|
||||||
|
$("#dialogAbout").dialog({
|
||||||
|
"modal": true,
|
||||||
|
"height": 460,
|
||||||
|
"width": 800,
|
||||||
|
"title": config.label.about,
|
||||||
|
"hideFooter": true,
|
||||||
|
"afterOpen": function () {
|
||||||
|
$.ajax({
|
||||||
|
url: "http://rhythm.b3log.org/version/wide/latest",
|
||||||
|
type: "GET",
|
||||||
|
dataType: "jsonp",
|
||||||
|
jsonp: "callback",
|
||||||
|
success: function (data, textStatus) {
|
||||||
|
if ($("#dialogAbout .version").text() === data.wideVersion) {
|
||||||
|
$(".upgrade").text(config.label.uptodate);
|
||||||
|
} else {
|
||||||
|
$(".upgrade").html(config.label.new_version_available + config.label.colon
|
||||||
|
+ "<a href='" + data.wideDownload
|
||||||
|
+ "' target='_blank'>" + data.wideVersion + "</a>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
disabled: function (list) {
|
disabled: function (list) {
|
||||||
for (var i = 0, max = list.length; i < max; i++) {
|
for (var i = 0, max = list.length; i < max; i++) {
|
||||||
$(".menu li." + list[i]).addClass("disabled");
|
$(".menu li." + list[i]).addClass("disabled");
|
||||||
|
@ -51,5 +81,292 @@ var menu = {
|
||||||
$(this).addClass("selected");
|
$(this).addClass("selected");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
openPreference: function () {
|
||||||
|
$("#dialogPreference").dialog("open");
|
||||||
|
},
|
||||||
|
saveAllFiles: function () {
|
||||||
|
if ($(".menu li.save-all").hasClass("disabled")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for (var i = 0, ii = editors.data.length; i < ii; i++) {
|
||||||
|
var path = tree.fileTree.getNodeByTId(editors.data[i].id).path;
|
||||||
|
var editor = editors.data[i].editor;
|
||||||
|
|
||||||
|
if ("text/x-go" === editor.getOption("mode")) {
|
||||||
|
wide.fmt(path, editor);
|
||||||
|
} else {
|
||||||
|
wide._save(path, editor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
closeAllFiles: function () {
|
||||||
|
if ($(".menu li.close-all").hasClass("disabled")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置全部关闭标识
|
||||||
|
var removeData = [];
|
||||||
|
$(".edit-panel .tabs > div").each(function (i) {
|
||||||
|
if (i !== 0) {
|
||||||
|
removeData.push($(this).data("index"));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#dialogCloseEditor").data("removeData", removeData);
|
||||||
|
// 开始关闭
|
||||||
|
$(".edit-panel .tabs .ico-close:eq(0)").click();
|
||||||
|
},
|
||||||
|
exit: function () {
|
||||||
|
var request = newWideRequest();
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/logout',
|
||||||
|
data: JSON.stringify(request),
|
||||||
|
dataType: "json",
|
||||||
|
success: function (data) {
|
||||||
|
if (data.succ) {
|
||||||
|
window.location.href = "/login";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
openAbout: function () {
|
||||||
|
$("#dialogAbout").dialog("open");
|
||||||
|
},
|
||||||
|
goget: function () {
|
||||||
|
menu.saveAllFiles();
|
||||||
|
|
||||||
|
var currentPath = editors.getCurrentPath();
|
||||||
|
if (!currentPath) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($(".menu li.go-get").hasClass("disabled")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var request = newWideRequest();
|
||||||
|
request.file = currentPath;
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/go/get',
|
||||||
|
data: JSON.stringify(request),
|
||||||
|
dataType: "json",
|
||||||
|
beforeSend: function (data) {
|
||||||
|
bottomGroup.resetOutput();
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
goinstall: function () {
|
||||||
|
menu.saveAllFiles();
|
||||||
|
|
||||||
|
var currentPath = editors.getCurrentPath();
|
||||||
|
if (!currentPath) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($(".menu li.go-install").hasClass("disabled")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var request = newWideRequest();
|
||||||
|
request.file = currentPath;
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/go/install',
|
||||||
|
data: JSON.stringify(request),
|
||||||
|
dataType: "json",
|
||||||
|
beforeSend: function (data) {
|
||||||
|
bottomGroup.resetOutput();
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 测试.
|
||||||
|
test: function () {
|
||||||
|
menu.saveAllFiles();
|
||||||
|
|
||||||
|
var currentPath = editors.getCurrentPath();
|
||||||
|
if (!currentPath) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($(".menu li.test").hasClass("disabled")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var request = newWideRequest();
|
||||||
|
request.file = currentPath;
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/go/test',
|
||||||
|
data: JSON.stringify(request),
|
||||||
|
dataType: "json",
|
||||||
|
beforeSend: function (data) {
|
||||||
|
bottomGroup.resetOutput();
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 构建并运行.
|
||||||
|
run: function () {
|
||||||
|
menu.saveAllFiles();
|
||||||
|
|
||||||
|
var currentPath = editors.getCurrentPath();
|
||||||
|
if (!currentPath) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($(".menu li.run").hasClass("disabled")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($(".toolbars .ico-stop").length === 1) {
|
||||||
|
wide.stop();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var request = newWideRequest();
|
||||||
|
request.file = currentPath;
|
||||||
|
request.code = wide.curEditor.getValue();
|
||||||
|
request.nextCmd = "run";
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/build',
|
||||||
|
data: JSON.stringify(request),
|
||||||
|
dataType: "json",
|
||||||
|
beforeSend: function (data) {
|
||||||
|
bottomGroup.resetOutput();
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$(".toolbars .ico-buildrun").addClass("ico-stop")
|
||||||
|
.removeClass("ico-buildrun").attr("title", config.label.stop);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 构建
|
||||||
|
build: function () {
|
||||||
|
menu.saveAllFiles();
|
||||||
|
|
||||||
|
var currentPath = editors.getCurrentPath();
|
||||||
|
if (!currentPath) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($(".menu li.build").hasClass("disabled")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var request = newWideRequest();
|
||||||
|
request.file = currentPath;
|
||||||
|
request.code = wide.curEditor.getValue();
|
||||||
|
request.nextCmd = ""; // 只构建,无下一步操作
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/build',
|
||||||
|
data: JSON.stringify(request),
|
||||||
|
dataType: "json",
|
||||||
|
beforeSend: function (data) {
|
||||||
|
bottomGroup.resetOutput();
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
_initPreference: function () {
|
||||||
|
$("#dialogPreference").load('/preference', function () {
|
||||||
|
|
||||||
|
$("#dialogPreference input").keyup(function () {
|
||||||
|
var isChange = false;
|
||||||
|
$("#dialogPreference input").each(function () {
|
||||||
|
if ($(this).val() !== $(this).data("value")) {
|
||||||
|
isChange = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var $okBtn = $("#dialogPreference").closest(".dialog-main").find(".dialog-footer > button:eq(0)");
|
||||||
|
if (isChange) {
|
||||||
|
$okBtn.prop("disabled", false);
|
||||||
|
} else {
|
||||||
|
$okBtn.prop("disabled", true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#dialogPreference").dialog({
|
||||||
|
"modal": true,
|
||||||
|
"height": 460,
|
||||||
|
"width": 800,
|
||||||
|
"title": config.label.perference,
|
||||||
|
"okText": config.label.apply,
|
||||||
|
"cancelText": config.label.cancel,
|
||||||
|
"afterOpen": function () {
|
||||||
|
var $okBtn = $("#dialogPreference").closest(".dialog-main").find(".dialog-footer > button:eq(0)");
|
||||||
|
$okBtn.prop("disabled", true);
|
||||||
|
},
|
||||||
|
"ok": function () {
|
||||||
|
var request = newWideRequest(),
|
||||||
|
$dialogPreference = $("#dialogPreference"),
|
||||||
|
$fontFamily = $dialogPreference.find("input[name=fontFamily]"),
|
||||||
|
$fontSize = $dialogPreference.find("input[name=fontSize]"),
|
||||||
|
$editorFontFamily = $dialogPreference.find("input[name=editorFontFamily]"),
|
||||||
|
$editorFontSize = $dialogPreference.find("input[name=editorFontSize]"),
|
||||||
|
$editorLineHeight = $dialogPreference.find("input[name=editorLineHeight]"),
|
||||||
|
$goFmt = $dialogPreference.find("input[name=goFmt]"),
|
||||||
|
$workspace = $dialogPreference.find("input[name=workspace]"),
|
||||||
|
$password = $dialogPreference.find("input[name=password]"),
|
||||||
|
$locale = $dialogPreference.find("input[name=locale]");
|
||||||
|
|
||||||
|
$.extend(request, {
|
||||||
|
"fontFamily": $fontFamily.val(),
|
||||||
|
"fontSize": $fontSize.val(),
|
||||||
|
"editorFontFamily": $editorFontFamily.val(),
|
||||||
|
"editorFontSize": $editorFontSize.val(),
|
||||||
|
"editorLineHeight": $editorLineHeight.val(),
|
||||||
|
"goFmt": $goFmt.val(),
|
||||||
|
"workspace": $workspace.val(),
|
||||||
|
"password": $password.val(),
|
||||||
|
"locale": $locale.val()
|
||||||
|
});
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/preference',
|
||||||
|
data: JSON.stringify(request),
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (!data.succ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$fontFamily.data("value", $fontFamily.val());
|
||||||
|
$fontSize.data("value", $fontSize.val());
|
||||||
|
$editorFontFamily.data("value", $editorFontFamily.val());
|
||||||
|
$editorFontSize.data("value", $editorFontSize.val());
|
||||||
|
$editorLineHeight.data("value", $editorLineHeight.val());
|
||||||
|
$goFmt.data("value", $goFmt.val());
|
||||||
|
$workspace.data("value", $workspace.val());
|
||||||
|
$password.data("value", $password.val());
|
||||||
|
$locale.data("value", $locale.val());
|
||||||
|
|
||||||
|
var $okBtn = $("#dialogPreference").closest(".dialog-main").find(".dialog-footer > button:eq(0)");
|
||||||
|
$okBtn.prop("disabled", true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
new Tabs({
|
||||||
|
id: ".preference"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
};
|
};
|
|
@ -239,6 +239,8 @@ var tree = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this._initSearch();
|
||||||
},
|
},
|
||||||
openFile: function (treeNode) {
|
openFile: function (treeNode) {
|
||||||
wide.curNode = treeNode;
|
wide.curNode = treeNode;
|
||||||
|
@ -284,5 +286,61 @@ var tree = {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
_initSearch: function () {
|
||||||
|
$("#dialogSearchForm > input:eq(0)").keyup(function (event) {
|
||||||
|
var $okBtn = $(this).closest(".dialog-main").find(".dialog-footer > button:eq(0)");
|
||||||
|
if (event.which === 13 && !$okBtn.prop("disabled")) {
|
||||||
|
$okBtn.click();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($.trim($(this).val()) === "") {
|
||||||
|
$okBtn.prop("disabled", true);
|
||||||
|
} else {
|
||||||
|
$okBtn.prop("disabled", false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#dialogSearchForm > input:eq(1)").keyup(function (event) {
|
||||||
|
var $okBtn = $(this).closest(".dialog-main").find(".dialog-footer > button:eq(0)");
|
||||||
|
if (event.which === 13 && !$okBtn.prop("disabled")) {
|
||||||
|
$okBtn.click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#dialogSearchForm").dialog({
|
||||||
|
"modal": true,
|
||||||
|
"height": 62,
|
||||||
|
"width": 260,
|
||||||
|
"title": config.label.search,
|
||||||
|
"okText": config.label.search,
|
||||||
|
"cancelText": config.label.cancel,
|
||||||
|
"afterOpen": function () {
|
||||||
|
$("#dialogSearchForm > input:eq(0)").val('').focus();
|
||||||
|
$("#dialogSearchForm > input:eq(1)").val('');
|
||||||
|
$("#dialogSearchForm").closest(".dialog-main").find(".dialog-footer > button:eq(0)").prop("disabled", true);
|
||||||
|
},
|
||||||
|
"ok": function () {
|
||||||
|
var request = newWideRequest();
|
||||||
|
request.dir = wide.curNode.path;
|
||||||
|
request.text = $("#dialogSearchForm > input:eq(0)").val();
|
||||||
|
request.extension = $("#dialogSearchForm > input:eq(1)").val();
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/file/search/text',
|
||||||
|
data: JSON.stringify(request),
|
||||||
|
dataType: "json",
|
||||||
|
success: function (data) {
|
||||||
|
if (!data.succ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#dialogSearchForm").dialog("close");
|
||||||
|
editors.appendSearch(data.founds, 'founds', request.text);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
|
@ -361,177 +361,6 @@ var wide = {
|
||||||
editor.focus();
|
editor.focus();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#dialogSearchForm > input:eq(0)").keyup(function (event) {
|
|
||||||
var $okBtn = $(this).closest(".dialog-main").find(".dialog-footer > button:eq(0)");
|
|
||||||
if (event.which === 13 && !$okBtn.prop("disabled")) {
|
|
||||||
$okBtn.click();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($.trim($(this).val()) === "") {
|
|
||||||
$okBtn.prop("disabled", true);
|
|
||||||
} else {
|
|
||||||
$okBtn.prop("disabled", false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#dialogSearchForm > input:eq(1)").keyup(function (event) {
|
|
||||||
var $okBtn = $(this).closest(".dialog-main").find(".dialog-footer > button:eq(0)");
|
|
||||||
if (event.which === 13 && !$okBtn.prop("disabled")) {
|
|
||||||
$okBtn.click();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#dialogSearchForm").dialog({
|
|
||||||
"modal": true,
|
|
||||||
"height": 62,
|
|
||||||
"width": 260,
|
|
||||||
"title": config.label.search,
|
|
||||||
"okText": config.label.search,
|
|
||||||
"cancelText": config.label.cancel,
|
|
||||||
"afterOpen": function () {
|
|
||||||
$("#dialogSearchForm > input:eq(0)").val('').focus();
|
|
||||||
$("#dialogSearchForm > input:eq(1)").val('');
|
|
||||||
$("#dialogSearchForm").closest(".dialog-main").find(".dialog-footer > button:eq(0)").prop("disabled", true);
|
|
||||||
},
|
|
||||||
"ok": function () {
|
|
||||||
var request = newWideRequest();
|
|
||||||
request.dir = wide.curNode.path;
|
|
||||||
request.text = $("#dialogSearchForm > input:eq(0)").val();
|
|
||||||
request.extension = $("#dialogSearchForm > input:eq(1)").val();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/file/search/text',
|
|
||||||
data: JSON.stringify(request),
|
|
||||||
dataType: "json",
|
|
||||||
success: function (data) {
|
|
||||||
if (!data.succ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#dialogSearchForm").dialog("close");
|
|
||||||
editors.appendSearch(data.founds, 'founds', request.text);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#dialogAbout").load('/about', function () {
|
|
||||||
$("#dialogAbout").dialog({
|
|
||||||
"modal": true,
|
|
||||||
"height": 460,
|
|
||||||
"width": 800,
|
|
||||||
"title": config.label.about,
|
|
||||||
"hideFooter": true,
|
|
||||||
"afterOpen": function () {
|
|
||||||
$.ajax({
|
|
||||||
url: "http://rhythm.b3log.org/version/wide/latest",
|
|
||||||
type: "GET",
|
|
||||||
dataType: "jsonp",
|
|
||||||
jsonp: "callback",
|
|
||||||
success: function (data, textStatus) {
|
|
||||||
if ($("#dialogAbout .version").text() === data.wideVersion) {
|
|
||||||
$(".upgrade").text(config.label.uptodate);
|
|
||||||
} else {
|
|
||||||
$(".upgrade").html(config.label.new_version_available + config.label.colon
|
|
||||||
+ "<a href='" + data.wideDownload
|
|
||||||
+ "' target='_blank'>" + data.wideVersion + "</a>");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
|
||||||
openPreference: function () {
|
|
||||||
$("#dialogPreference").dialog("open");
|
|
||||||
},
|
|
||||||
_initPreference: function () {
|
|
||||||
$("#dialogPreference").load('/preference', function () {
|
|
||||||
|
|
||||||
$("#dialogPreference input").keyup(function () {
|
|
||||||
var isChange = false;
|
|
||||||
$("#dialogPreference input").each(function () {
|
|
||||||
if ($(this).val() !== $(this).data("value")) {
|
|
||||||
isChange = true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var $okBtn = $("#dialogPreference").closest(".dialog-main").find(".dialog-footer > button:eq(0)");
|
|
||||||
if (isChange) {
|
|
||||||
$okBtn.prop("disabled", false);
|
|
||||||
} else {
|
|
||||||
$okBtn.prop("disabled", true);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#dialogPreference").dialog({
|
|
||||||
"modal": true,
|
|
||||||
"height": 460,
|
|
||||||
"width": 800,
|
|
||||||
"title": config.label.perference,
|
|
||||||
"okText": config.label.apply,
|
|
||||||
"cancelText": config.label.cancel,
|
|
||||||
"afterOpen": function () {
|
|
||||||
var $okBtn = $("#dialogPreference").closest(".dialog-main").find(".dialog-footer > button:eq(0)");
|
|
||||||
$okBtn.prop("disabled", true);
|
|
||||||
},
|
|
||||||
"ok": function () {
|
|
||||||
var request = newWideRequest(),
|
|
||||||
$dialogPreference = $("#dialogPreference"),
|
|
||||||
$fontFamily = $dialogPreference.find("input[name=fontFamily]"),
|
|
||||||
$fontSize = $dialogPreference.find("input[name=fontSize]"),
|
|
||||||
$editorFontFamily = $dialogPreference.find("input[name=editorFontFamily]"),
|
|
||||||
$editorFontSize = $dialogPreference.find("input[name=editorFontSize]"),
|
|
||||||
$editorLineHeight = $dialogPreference.find("input[name=editorLineHeight]"),
|
|
||||||
$goFmt = $dialogPreference.find("input[name=goFmt]"),
|
|
||||||
$workspace = $dialogPreference.find("input[name=workspace]"),
|
|
||||||
$password = $dialogPreference.find("input[name=password]"),
|
|
||||||
$locale = $dialogPreference.find("input[name=locale]");
|
|
||||||
|
|
||||||
$.extend(request, {
|
|
||||||
"fontFamily": $fontFamily.val(),
|
|
||||||
"fontSize": $fontSize.val(),
|
|
||||||
"editorFontFamily": $editorFontFamily.val(),
|
|
||||||
"editorFontSize": $editorFontSize.val(),
|
|
||||||
"editorLineHeight": $editorLineHeight.val(),
|
|
||||||
"goFmt": $goFmt.val(),
|
|
||||||
"workspace": $workspace.val(),
|
|
||||||
"password": $password.val(),
|
|
||||||
"locale": $locale.val()
|
|
||||||
});
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/preference',
|
|
||||||
data: JSON.stringify(request),
|
|
||||||
success: function (data, textStatus, jqXHR) {
|
|
||||||
if (!data.succ) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$fontFamily.data("value", $fontFamily.val());
|
|
||||||
$fontSize.data("value", $fontSize.val());
|
|
||||||
$editorFontFamily.data("value", $editorFontFamily.val());
|
|
||||||
$editorFontSize.data("value", $editorFontSize.val());
|
|
||||||
$editorLineHeight.data("value", $editorLineHeight.val());
|
|
||||||
$goFmt.data("value", $goFmt.val());
|
|
||||||
$workspace.data("value", $workspace.val());
|
|
||||||
$password.data("value", $password.val());
|
|
||||||
$locale.data("value", $locale.val());
|
|
||||||
|
|
||||||
var $okBtn = $("#dialogPreference").closest(".dialog-main").find(".dialog-footer > button:eq(0)");
|
|
||||||
$okBtn.prop("disabled", true);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
new Tabs({
|
|
||||||
id: ".preference"
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
_initLayout: function () {
|
_initLayout: function () {
|
||||||
var mainH = $(window).height() - $(".menu").height() - $(".footer").height(),
|
var mainH = $(window).height() - $(".menu").height() - $(".footer").height(),
|
||||||
|
@ -666,8 +495,6 @@ var wide = {
|
||||||
|
|
||||||
this._initLayout();
|
this._initLayout();
|
||||||
|
|
||||||
this._initPreference();
|
|
||||||
|
|
||||||
$(window).resize(function () {
|
$(window).resize(function () {
|
||||||
wide._initLayout();
|
wide._initLayout();
|
||||||
var editorDatas = editors.data,
|
var editorDatas = editors.data,
|
||||||
|
@ -724,55 +551,9 @@ var wide = {
|
||||||
|
|
||||||
wide._save(path, wide.curEditor);
|
wide._save(path, wide.curEditor);
|
||||||
},
|
},
|
||||||
saveAllFiles: function () {
|
|
||||||
if ($(".menu li.save-all").hasClass("disabled")) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
for (var i = 0, ii = editors.data.length; i < ii; i++) {
|
|
||||||
var path = tree.fileTree.getNodeByTId(editors.data[i].id).path;
|
|
||||||
var editor = editors.data[i].editor;
|
|
||||||
|
|
||||||
if ("text/x-go" === editor.getOption("mode")) {
|
|
||||||
wide.fmt(path, editor);
|
|
||||||
} else {
|
|
||||||
wide._save(path, editor);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
closeAllFiles: function () {
|
|
||||||
if ($(".menu li.close-all").hasClass("disabled")) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置全部关闭标识
|
|
||||||
var removeData = [];
|
|
||||||
$(".edit-panel .tabs > div").each(function (i) {
|
|
||||||
if (i !== 0) {
|
|
||||||
removeData.push($(this).data("index"));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$("#dialogCloseEditor").data("removeData", removeData);
|
|
||||||
// 开始关闭
|
|
||||||
$(".edit-panel .tabs .ico-close:eq(0)").click();
|
|
||||||
},
|
|
||||||
exit: function () {
|
|
||||||
var request = newWideRequest();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/logout',
|
|
||||||
data: JSON.stringify(request),
|
|
||||||
dataType: "json",
|
|
||||||
success: function (data) {
|
|
||||||
if (data.succ) {
|
|
||||||
window.location.href = "/login";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
stop: function () {
|
stop: function () {
|
||||||
if ($(".toolbars .ico-buildrun").length === 1) {
|
if ($(".toolbars .ico-buildrun").length === 1) {
|
||||||
wide.run();
|
menu.run();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -794,155 +575,6 @@ var wide = {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 构建.
|
|
||||||
build: function () {
|
|
||||||
wide.saveAllFiles();
|
|
||||||
|
|
||||||
var currentPath = editors.getCurrentPath();
|
|
||||||
if (!currentPath) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($(".menu li.build").hasClass("disabled")) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var request = newWideRequest();
|
|
||||||
request.file = currentPath;
|
|
||||||
request.code = wide.curEditor.getValue();
|
|
||||||
request.nextCmd = ""; // 只构建,无下一步操作
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/build',
|
|
||||||
data: JSON.stringify(request),
|
|
||||||
dataType: "json",
|
|
||||||
beforeSend: function (data) {
|
|
||||||
bottomGroup.resetOutput();
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 构建并运行.
|
|
||||||
run: function () {
|
|
||||||
wide.saveAllFiles();
|
|
||||||
|
|
||||||
var currentPath = editors.getCurrentPath();
|
|
||||||
if (!currentPath) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($(".menu li.run").hasClass("disabled")) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($(".toolbars .ico-stop").length === 1) {
|
|
||||||
wide.stop();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var request = newWideRequest();
|
|
||||||
request.file = currentPath;
|
|
||||||
request.code = wide.curEditor.getValue();
|
|
||||||
request.nextCmd = "run";
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/build',
|
|
||||||
data: JSON.stringify(request),
|
|
||||||
dataType: "json",
|
|
||||||
beforeSend: function (data) {
|
|
||||||
bottomGroup.resetOutput();
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$(".toolbars .ico-buildrun").addClass("ico-stop")
|
|
||||||
.removeClass("ico-buildrun").attr("title", config.label.stop);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 测试.
|
|
||||||
test: function () {
|
|
||||||
wide.saveAllFiles();
|
|
||||||
|
|
||||||
var currentPath = editors.getCurrentPath();
|
|
||||||
if (!currentPath) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($(".menu li.test").hasClass("disabled")) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var request = newWideRequest();
|
|
||||||
request.file = currentPath;
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/go/test',
|
|
||||||
data: JSON.stringify(request),
|
|
||||||
dataType: "json",
|
|
||||||
beforeSend: function (data) {
|
|
||||||
bottomGroup.resetOutput();
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
goget: function () {
|
|
||||||
wide.saveAllFiles();
|
|
||||||
|
|
||||||
var currentPath = editors.getCurrentPath();
|
|
||||||
if (!currentPath) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($(".menu li.go-get").hasClass("disabled")) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var request = newWideRequest();
|
|
||||||
request.file = currentPath;
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/go/get',
|
|
||||||
data: JSON.stringify(request),
|
|
||||||
dataType: "json",
|
|
||||||
beforeSend: function (data) {
|
|
||||||
bottomGroup.resetOutput();
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
goinstall: function () {
|
|
||||||
wide.saveAllFiles();
|
|
||||||
|
|
||||||
var currentPath = editors.getCurrentPath();
|
|
||||||
if (!currentPath) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($(".menu li.go-install").hasClass("disabled")) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var request = newWideRequest();
|
|
||||||
request.file = currentPath;
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/go/install',
|
|
||||||
data: JSON.stringify(request),
|
|
||||||
dataType: "json",
|
|
||||||
beforeSend: function (data) {
|
|
||||||
bottomGroup.resetOutput();
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
gofmt: function (path, editor) {
|
gofmt: function (path, editor) {
|
||||||
var cursor = editor.getCursor();
|
var cursor = editor.getCursor();
|
||||||
var scrollInfo = editor.getScrollInfo();
|
var scrollInfo = editor.getScrollInfo();
|
||||||
|
@ -1022,9 +654,6 @@ var wide = {
|
||||||
wide._save(path, editor);
|
wide._save(path, editor);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
openAbout: function () {
|
|
||||||
$("#dialogAbout").dialog("open");
|
|
||||||
},
|
|
||||||
getClassBySuffix: function (suffix) {
|
getClassBySuffix: function (suffix) {
|
||||||
var iconSkin = "ico-ztree-other ";
|
var iconSkin = "ico-ztree-other ";
|
||||||
switch (suffix) {
|
switch (suffix) {
|
||||||
|
|
|
@ -31,14 +31,14 @@
|
||||||
<span>{{.i18n.file}}</span>
|
<span>{{.i18n.file}}</span>
|
||||||
<div class="frame">
|
<div class="frame">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="save-all disabled" onclick="wide.saveAllFiles()">
|
<li class="save-all disabled" onclick="menu.saveAllFiles()">
|
||||||
<span>{{.i18n.save_all_files}}</span>
|
<span>{{.i18n.save_all_files}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="close-all" onclick="wide.closeAllFiles()">
|
<li class="close-all" onclick="menu.closeAllFiles()">
|
||||||
<span>{{.i18n.close_all_files}}</span>
|
<span>{{.i18n.close_all_files}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="hr"></li>
|
<li class="hr"></li>
|
||||||
<li onclick="wide.exit()">
|
<li onclick="menu.exit()">
|
||||||
<span>{{.i18n.exit}}</span>
|
<span>{{.i18n.exit}}</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -48,21 +48,21 @@
|
||||||
<span>{{.i18n.run}}</span>
|
<span>{{.i18n.run}}</span>
|
||||||
<div class="frame">
|
<div class="frame">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="build disabled" onclick="wide.build()">
|
<li class="build disabled" onclick="menu.build()">
|
||||||
<span>{{.i18n.build}}</span>
|
<span>{{.i18n.build}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="run disabled" onclick="wide.run()">
|
<li class="run disabled" onclick="menu.run()">
|
||||||
<span>{{.i18n.build_n_run}}</span>
|
<span>{{.i18n.build_n_run}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="hr"></li>
|
<li class="hr"></li>
|
||||||
<li class="go-test disabled" onclick="wide.test()">
|
<li class="go-test disabled" onclick="menu.test()">
|
||||||
<span>{{.i18n.test}}</span>
|
<span>{{.i18n.test}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="hr"></li>
|
<li class="hr"></li>
|
||||||
<li class="go-get disabled" onclick="wide.goget()">
|
<li class="go-get disabled" onclick="menu.goget()">
|
||||||
<span>{{.i18n.goget}}</span>
|
<span>{{.i18n.goget}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="go-install disabled" onclick="wide.goinstall()">
|
<li class="go-install disabled" onclick="menu.goinstall()">
|
||||||
<span>{{.i18n.goinstall}}</span>
|
<span>{{.i18n.goinstall}}</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -90,7 +90,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li onclick="wide.openPreference()">
|
<li onclick="meun.openPreference()">
|
||||||
<span>{{.i18n.perference}}</span>
|
<span>{{.i18n.perference}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -111,7 +111,7 @@
|
||||||
<li onclick="editors.openStartPage()">
|
<li onclick="editors.openStartPage()">
|
||||||
<span>{{.i18n.start_page}}</span>
|
<span>{{.i18n.start_page}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li onclick="wide.openAbout()">
|
<li onclick="menu.openAbout()">
|
||||||
<span>{{.i18n.about}}</span>
|
<span>{{.i18n.about}}</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -154,7 +154,7 @@
|
||||||
|
|
||||||
<div class="edit-panel">
|
<div class="edit-panel">
|
||||||
<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="menu.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(editors.getCurrentPath(), wide.curEditor)" 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>
|
||||||
|
@ -164,7 +164,7 @@
|
||||||
<li onclick="editors.close()" title="{{.i18n.close}}">
|
<li onclick="editors.close()" title="{{.i18n.close}}">
|
||||||
<span>{{.i18n.close}}</span>
|
<span>{{.i18n.close}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li onclick="wide.closeAllFiles()" title="{{.i18n.close_all_files}}">
|
<li onclick="menu.closeAllFiles()" title="{{.i18n.close_all_files}}">
|
||||||
<span>{{.i18n.close_all_files}}</span>
|
<span>{{.i18n.close_all_files}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li onclick="editors.closeOther()" title="{{.i18n.close_other}}">
|
<li onclick="editors.closeOther()" title="{{.i18n.close_other}}">
|
||||||
|
|
Loading…
Reference in New Issue