ctrl+enter should work only on tab detail

This commit is contained in:
zadam 2019-05-19 16:56:16 +02:00
parent ecfba95841
commit ddb99a0917
4 changed files with 13 additions and 7 deletions

View File

@ -16,7 +16,7 @@ class NoteDetailCode {
this.$component = ctx.$tabContent.find('.note-detail-code');
this.$executeScriptButton = ctx.$tabContent.find(".execute-script-button");
utils.bindShortcut("ctrl+return", () => this.executeCurrentNote());
utils.bindElShortcut(ctx.$tabContent, "ctrl+return", () => this.executeCurrentNote());
this.$executeScriptButton.click(() => this.executeCurrentNote());
}

View File

@ -51,7 +51,6 @@ function NoteTypeContext(ctx) {
const self = this;
this.$executeScriptButton = ctx.$tabContent.find(".execute-script-button");
this.$toggleEditButton = ctx.$tabContent.find('.toggle-edit-button');
this.$renderButton = ctx.$tabContent.find('.render-button');
this.ctx = ctx;
@ -178,10 +177,8 @@ function NoteTypeContext(ctx) {
};
this.updateExecuteScriptButtonVisibility = function() {
self.$executeScriptButton.toggle(self.mime().startsWith('application/javascript'));
self.$toggleEditButton.toggle(self.type() === 'render');
self.$renderButton.toggle(self.type() === 'render');
self.$executeScriptButton.toggle(ctx.note.mime.startsWith('application/javascript'));
self.$renderButton.toggle(ctx.note.type === 'render');
};
ko.applyBindings(this, ctx.$tabContent.find('.note-type-wrapper')[0])

View File

@ -106,6 +106,10 @@ class TabContext {
}
}, 5000);
if (utils.isDesktop()) {
this.noteType.updateExecuteScriptButtonVisibility();
}
console.log(`Switched tab ${this.tabId} to ${this.noteId}`);
}

View File

@ -130,13 +130,17 @@ function randomString(len) {
}
function bindShortcut(keyboardShortcut, handler) {
bindElShortcut($(document), keyboardShortcut, handler);
}
function bindElShortcut($el, keyboardShortcut, handler) {
if (isDesktop()) {
if (isMac()) {
// use CMD (meta) instead of CTRL for all shortcuts
keyboardShortcut = keyboardShortcut.replace("ctrl", "meta");
}
$(document).bind('keydown', keyboardShortcut, e => {
$el.bind('keydown', keyboardShortcut, e => {
handler();
e.preventDefault();
@ -212,6 +216,7 @@ export default {
toObject,
randomString,
bindShortcut,
bindElShortcut,
isMobile,
isDesktop,
setCookie,