fixes for SQL console

This commit is contained in:
zadam 2021-02-15 20:44:55 +01:00
parent c41448f5da
commit e212a37c84
3 changed files with 16 additions and 20 deletions

View File

@ -206,7 +206,8 @@ export default class Entrypoints extends Component {
} }
async runActiveNoteCommand() { async runActiveNoteCommand() {
const note = appContext.tabManager.getActiveTabNote(); const tabContext = appContext.tabManager.getActiveTabContext();
const note = tabContext.note;
// ctrl+enter is also used elsewhere so make sure we're running only when appropriate // ctrl+enter is also used elsewhere so make sure we're running only when appropriate
if (!note || note.type !== 'code') { if (!note || note.type !== 'code') {
@ -220,7 +221,7 @@ export default class Entrypoints extends Component {
} else if (note.mime === 'text/x-sqlite;schema=trilium') { } else if (note.mime === 'text/x-sqlite;schema=trilium') {
const result = await server.post("sql/execute/" + note.noteId); const result = await server.post("sql/execute/" + note.noteId);
this.triggerEvent('sqlQueryResults', {results: result.results}); this.triggerEvent('sqlQueryResults', {tabId: tabContext.tabId, results: result.results});
} }
toastService.showMessage("Note executed"); toastService.showMessage("Note executed");

View File

@ -1,9 +1,4 @@
import TabAwareWidget from "./tab_aware_widget.js"; import TabAwareWidget from "./tab_aware_widget.js";
import treeService from "../services/tree.js";
import linkService from "../services/link.js";
import hoistedNoteService from "../services/hoisted_note.js";
import server from "../services/server.js";
import toastService from "../services/toast.js";
const TPL = ` const TPL = `
<div class="sql-result-widget"> <div class="sql-result-widget">
@ -30,11 +25,15 @@ export default class SqlResultWidget extends TabAwareWidget {
this.$sqlConsoleResultContainer = this.$widget.find('.sql-console-result-container'); this.$sqlConsoleResultContainer = this.$widget.find('.sql-console-result-container');
} }
async sqlQueryResultsEvent({results}) { async sqlQueryResultsEvent({tabId, results}) {
if (!this.isTab(tabId)) {
return;
}
this.$sqlConsoleResultContainer.empty(); this.$sqlConsoleResultContainer.empty();
for (const rows of results) { for (const rows of results) {
if (rows.length === 0) { if (!rows.length) {
continue; continue;
} }

View File

@ -5,23 +5,19 @@ import keyboardActionService from "../../services/keyboard_actions.js";
const TPL = ` const TPL = `
<div class="note-detail-code note-detail-printable"> <div class="note-detail-code note-detail-printable">
<style> <style>
.note-detail-code {
display: flex;
flex-direction: column;
}
.note-detail-code-editor { .note-detail-code-editor {
min-height: 50px; min-height: 50px;
} }
</style> </style>
<button data-trigger-command="runActiveNote"
class="no-print execute-button btn btn-sm"
style="position: absolute; top: 0px; right: 10px; z-index: 1000;">
Execute
</button>
<div class="note-detail-code-editor"></div> <div class="note-detail-code-editor"></div>
<div style="text-align: center">
<button data-trigger-command="runActiveNote"
class="no-print execute-button btn btn-sm">
Execute <kbd data-command="runActiveNote"></kbd>
</button>
</div>
</div>`; </div>`;
export default class EditableCodeTypeWidget extends TypeWidget { export default class EditableCodeTypeWidget extends TypeWidget {