"use strict"; const sqlConsole = (function() { const dialogEl = $("#sql-console-dialog"); const queryEl = $('#sql-console-query'); const executeButton = $('#sql-console-execute'); const resultHeadEl = $('#sql-console-results thead'); const resultBodyEl = $('#sql-console-results tbody'); function showDialog() { glob.activeDialog = dialogEl; dialogEl.dialog({ modal: true, width: $(window).width(), height: $(window).height() }); } async function execute() { const sqlQuery = queryEl.val(); const result = await server.post("sql/execute", { query: sqlQuery }); if (!result.success) { showError(result.error); return; } else { showMessage("Query was executed successfully."); } const rows = result.rows; resultHeadEl.empty(); resultBodyEl.empty(); if (rows.length > 0) { const result = rows[0]; const rowEl = $(""); for (const key in result) { rowEl.append($("").html(key)); } resultHeadEl.append(rowEl); } for (const result of rows) { const rowEl = $(""); for (const key in result) { rowEl.append($("").html(result[key])); } resultBodyEl.append(rowEl); } } $(document).bind('keydown', 'alt+o', showDialog); queryEl.bind('keydown', 'ctrl+return', execute); executeButton.click(execute); return { showDialog }; })();