aboutsummaryrefslogtreecommitdiff
path: root/renderer.js
diff options
context:
space:
mode:
Diffstat (limited to 'renderer.js')
-rw-r--r--renderer.js56
1 files changed, 46 insertions, 10 deletions
diff --git a/renderer.js b/renderer.js
index 1704f32..4392daa 100644
--- a/renderer.js
+++ b/renderer.js
@@ -25,30 +25,44 @@ const connectionPool = new Pool({
let dataTable;
function runQuery() {
- var query = editorContext.getValue();
+
+ _setExecutionStatusIndicator("RUNNING");
+
+ var query = editorContext.getValue();
console.log(query);
connectionPool.query(query, (err, res) => {
console.log(err, res)
- displayResults(res);
+
+ if(err === undefined) {
+ handleResult(res);
+ }
+ else {
+ handleError(err);
+ }
+
});
}
-function displayResults(results) {
+function handleError(err) {
+ _destroyDataTable();
+ $("#result-error").text("Error (" + err.code + ") - " + err.message);
+ _setExecutionStatusIndicator("ERROR");
+}
- if(dataTable) {
- dataTable.destroy();
- _resultsTable().empty();
- }
+function handleResult(results) {
+ $("#result-error").empty();
+ _destroyDataTable();
- dataTable = _resultsTable().DataTable({
+ dataTable = _resultTable().DataTable({
paging: false,
- destroy: true,
order: [],
dom: "tr",
data: results.rows,
columns: _mapColumnProperties(results)
});
+
+ _setExecutionStatusIndicator("OK");
}
function _mapColumnProperties(results) {
@@ -60,10 +74,32 @@ function _mapColumnProperties(results) {
});
}
-function _resultsTable() {
+function _resultTable() {
return $("#result-table");
}
+function _setExecutionStatusIndicator(status) {
+ switch(status) {
+ case "RUNNING":
+ $("#execution-status").removeClass().addClass("exec-running").text("Running");
+ break;
+ case "OK":
+ $("#execution-status").removeClass().addClass("exec-ok").text("Ok");
+ break;
+ case "ERROR":
+ $("#execution-status").removeClass().addClass("exec-error").text("Error");
+ break;
+ }
+}
+
+function _destroyDataTable() {
+ if (dataTable) {
+ dataTable.destroy();
+ _resultTable().empty();
+ dataTable = undefined;
+ }
+}
+
function _onKeyUp(event) {
if (event.ctrlKey && event.keyCode == 13) {
runQuery();