Ctrl 0,1,4,5,6
This commit is contained in:
parent
004c0a67a7
commit
5b81e7ec1d
|
@ -245,8 +245,7 @@ ul {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
#output,
|
.bottom-window-group textarea {
|
||||||
#notification {
|
|
||||||
border-width: 0;
|
border-width: 0;
|
||||||
color: #555555;
|
color: #555555;
|
||||||
height: 130px;
|
height: 130px;
|
||||||
|
|
|
@ -1,5 +1,12 @@
|
||||||
var hotkeys = {
|
var hotkeys = {
|
||||||
defaultKeyMap: {
|
defaultKeyMap: {
|
||||||
|
// Ctrl+0 焦点切换到当前编辑器
|
||||||
|
goEditor: {
|
||||||
|
ctrlKey: true,
|
||||||
|
altKey: false,
|
||||||
|
shiftKey: false,
|
||||||
|
which: 48
|
||||||
|
},
|
||||||
// Ctrl+1 焦点切换到文件树
|
// Ctrl+1 焦点切换到文件树
|
||||||
goFileTree: {
|
goFileTree: {
|
||||||
ctrlKey: true,
|
ctrlKey: true,
|
||||||
|
@ -14,6 +21,20 @@ var hotkeys = {
|
||||||
shiftKey: false,
|
shiftKey: false,
|
||||||
which: 52
|
which: 52
|
||||||
},
|
},
|
||||||
|
// Ctrl+5 焦点切换到搜索窗口
|
||||||
|
goSearch: {
|
||||||
|
ctrlKey: true,
|
||||||
|
altKey: false,
|
||||||
|
shiftKey: false,
|
||||||
|
which: 53
|
||||||
|
},
|
||||||
|
// Ctrl+6 焦点切换到通知窗口
|
||||||
|
goNotification: {
|
||||||
|
ctrlKey: true,
|
||||||
|
altKey: false,
|
||||||
|
shiftKey: false,
|
||||||
|
which: 54
|
||||||
|
},
|
||||||
// F6 构建并运行
|
// F6 构建并运行
|
||||||
buildRun: {
|
buildRun: {
|
||||||
ctrlKey: false,
|
ctrlKey: false,
|
||||||
|
@ -140,6 +161,16 @@ var hotkeys = {
|
||||||
|
|
||||||
var hotKeys = this.defaultKeyMap;
|
var hotKeys = this.defaultKeyMap;
|
||||||
$(document).keydown(function(event) {
|
$(document).keydown(function(event) {
|
||||||
|
if (event.ctrlKey === hotKeys.goEditor.ctrlKey
|
||||||
|
&& event.which === hotKeys.goEditor.which) { // Ctrl+0 焦点切换到当前编辑器
|
||||||
|
if (wide.curEditor) {
|
||||||
|
wide.curEditor.focus();
|
||||||
|
}
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (event.ctrlKey === hotKeys.goFileTree.ctrlKey
|
if (event.ctrlKey === hotKeys.goFileTree.ctrlKey
|
||||||
&& event.which === hotKeys.goFileTree.which) { // Ctrl+1 焦点切换到文件树
|
&& event.which === hotKeys.goFileTree.which) { // Ctrl+1 焦点切换到文件树
|
||||||
// 有些元素需设置 tabindex 为 -1 时才可以 focus
|
// 有些元素需设置 tabindex 为 -1 时才可以 focus
|
||||||
|
@ -150,8 +181,26 @@ var hotkeys = {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.ctrlKey === hotKeys.goOutPut.ctrlKey
|
if (event.ctrlKey === hotKeys.goOutPut.ctrlKey
|
||||||
&& event.which === hotKeys.goOutPut.which) { // Ctrl+4 焦点切换到输出窗口
|
&& event.which === hotKeys.goOutPut.which) { // Ctrl+4 焦点切换到输出窗口
|
||||||
$("#output").focus();
|
wide.bottomWindowTab.setCurrent("output");
|
||||||
|
$(".bottom-window-group .output").focus();
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (event.ctrlKey === hotKeys.goSearch.ctrlKey
|
||||||
|
&& event.which === hotKeys.goSearch.which) { // Ctrl+5 焦点切换到搜索窗口
|
||||||
|
wide.bottomWindowTab.setCurrent("search");
|
||||||
|
$(".bottom-window-group .search").focus();
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (event.ctrlKey === hotKeys.goNotification.ctrlKey
|
||||||
|
&& event.which === hotKeys.goNotification.which) { // Ctrl+6 焦点切换到通知窗口
|
||||||
|
wide.bottomWindowTab.setCurrent("notification");
|
||||||
|
$(".bottom-window-group .notification").focus();
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -6,7 +6,7 @@ notificationWS.onmessage = function(e) {
|
||||||
console.log('[notification onmessage]' + e.data);
|
console.log('[notification onmessage]' + e.data);
|
||||||
var data = JSON.parse(e.data);
|
var data = JSON.parse(e.data);
|
||||||
if ('init-notification' !== data.cmd) {
|
if ('init-notification' !== data.cmd) {
|
||||||
$('#notification').val(data.output);
|
$('.bottom-window-group .notification').val(data.output);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
notificationWS.onclose = function(e) {
|
notificationWS.onclose = function(e) {
|
||||||
|
|
|
@ -22,7 +22,7 @@ outputWS.onmessage = function(e) {
|
||||||
data: JSON.stringify(request),
|
data: JSON.stringify(request),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
beforeSend: function(data) {
|
beforeSend: function(data) {
|
||||||
$('#output').text('');
|
$('.bottom-window-group .output').text('');
|
||||||
},
|
},
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
|
|
||||||
|
@ -31,11 +31,11 @@ outputWS.onmessage = function(e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('run' === data.cmd) { // 正在运行
|
if ('run' === data.cmd) { // 正在运行
|
||||||
$('#output').text($('#output').text() + data.output);
|
$('.bottom-window-group .output').text($('.bottom-window-group .output').text() + data.output);
|
||||||
} else if ('run-done' === data.cmd) { // 运行结束
|
} else if ('run-done' === data.cmd) { // 运行结束
|
||||||
// TODO: 运行结束后修改 [构建&运行] 图标状态为可用状态
|
// TODO: 运行结束后修改 [构建&运行] 图标状态为可用状态
|
||||||
} else if ('build' === data.cmd || 'go install' === data.cmd) {
|
} else if ('build' === data.cmd || 'go install' === data.cmd) {
|
||||||
$('#output').text(data.output);
|
$('.bottom-window-group .output').text(data.output);
|
||||||
|
|
||||||
if (0 !== data.output.length) { // 说明编译有错误输出
|
if (0 !== data.output.length) { // 说明编译有错误输出
|
||||||
for (var i = 0; i < data.lints.length; i++) {
|
for (var i = 0; i < data.lints.length; i++) {
|
||||||
|
@ -52,7 +52,7 @@ outputWS.onmessage = function(e) {
|
||||||
// 触发一次 gutter lint
|
// 触发一次 gutter lint
|
||||||
CodeMirror.signal(wide.curEditor, "change", wide.curEditor);
|
CodeMirror.signal(wide.curEditor, "change", wide.curEditor);
|
||||||
} else if ('go get' === data.cmd || 'go install' === data.cmd) {
|
} else if ('go get' === data.cmd || 'go install' === data.cmd) {
|
||||||
$('#output').text($('#output').text() + data.output);
|
$('.bottom-window-group .output').text($('.bottom-window-group .output').text() + data.output);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
outputWS.onclose = function(e) {
|
outputWS.onclose = function(e) {
|
||||||
|
@ -66,6 +66,7 @@ outputWS.onerror = function(e) {
|
||||||
var wide = {
|
var wide = {
|
||||||
curNode: undefined,
|
curNode: undefined,
|
||||||
curEditor: undefined,
|
curEditor: undefined,
|
||||||
|
bottomWindowTab: undefined,
|
||||||
_initLayout: function() {
|
_initLayout: function() {
|
||||||
var mainH = $(window).height() - $(".menu").height() - $(".footer").height() - 2;
|
var mainH = $(window).height() - $(".menu").height() - $(".footer").height() - 2;
|
||||||
$(".content, .ztree").height(mainH);
|
$(".content, .ztree").height(mainH);
|
||||||
|
@ -73,7 +74,7 @@ var wide = {
|
||||||
$(".edit-panel").height(mainH - $(".bottom-window-group").height());
|
$(".edit-panel").height(mainH - $(".bottom-window-group").height());
|
||||||
},
|
},
|
||||||
_initBottomWindowGroup: function() {
|
_initBottomWindowGroup: function() {
|
||||||
new Tabs({
|
this.bottomWindowTab = new Tabs({
|
||||||
id: ".bottom-window-group"
|
id: ".bottom-window-group"
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -140,7 +141,7 @@ var wide = {
|
||||||
data: JSON.stringify(request),
|
data: JSON.stringify(request),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
beforeSend: function(data) {
|
beforeSend: function(data) {
|
||||||
$('#output').text('');
|
$('.bottom-window-group .output').text('');
|
||||||
},
|
},
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
}
|
}
|
||||||
|
@ -157,7 +158,7 @@ var wide = {
|
||||||
data: JSON.stringify(request),
|
data: JSON.stringify(request),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
beforeSend: function(data) {
|
beforeSend: function(data) {
|
||||||
$('#output').text('');
|
$('.bottom-window-group .output').text('');
|
||||||
},
|
},
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
}
|
}
|
||||||
|
@ -175,7 +176,7 @@ var wide = {
|
||||||
data: JSON.stringify(request),
|
data: JSON.stringify(request),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
beforeSend: function(data) {
|
beforeSend: function(data) {
|
||||||
$('#output').text('');
|
$('.bottom-window-group .output').text('');
|
||||||
},
|
},
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,12 +147,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs-panel">
|
<div class="tabs-panel">
|
||||||
<div data-index="output">
|
<div data-index="output">
|
||||||
<textarea id="output"></textarea>
|
<textarea class="output"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="fn-none" data-index="search">
|
<div class="fn-none" data-index="search">
|
||||||
|
<div class="search" tabindex="-1"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="fn-none" data-index="notification">
|
<div class="fn-none" data-index="notification">
|
||||||
<textarea id="notification"></textarea>
|
<textarea class="notification"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue