Add ability to export query results to JSON

This commit is contained in:
Dan Sosedoff 2016-01-04 18:15:05 -06:00
parent 73a97893e9
commit 5a92c5508c
3 changed files with 19 additions and 14 deletions

File diff suppressed because one or more lines are too long

View File

@ -61,7 +61,8 @@
<div class="actions">
<input type="button" id="run" value="Run Query" class="btn btn-sm btn-primary" />
<input type="button" id="explain" value="Explain Query" class="btn btn-sm btn-default" />
<input type="button" id="csv" value="Download CSV" class="btn btn-sm btn-default" />
<input type="button" id="csv" value="CSV" class="btn btn-sm btn-default" />
<input type="button" id="json" value="JSON" class="btn btn-sm btn-default" />
<div id="query_progress">Please wait, query is executing...</div>
</div>

View File

@ -316,13 +316,13 @@ function showActivityPanel() {
function runQuery() {
setCurrentTab("table_query");
$("#run, #explain, #csv").prop("disabled", true);
$("#run, #explain, #csv, #json").prop("disabled", true);
$("#query_progress").show();
var query = $.trim(editor.getSelectedText() || editor.getValue());
if (query.length == 0) {
$("#run, #explain, #csv").prop("disabled", false);
$("#run, #explain, #csv, #json").prop("disabled", false);
$("#query_progress").hide();
return;
}
@ -330,7 +330,7 @@ function runQuery() {
executeQuery(query, function(data) {
buildTable(data);
$("#run, #explain, #csv").prop("disabled", false);
$("#run, #explain, #csv, #json").prop("disabled", false);
$("#query_progress").hide();
$("#input").show();
$("#output").removeClass("full");
@ -352,13 +352,13 @@ function runQuery() {
function runExplain() {
setCurrentTab("table_query");
$("#run, #explain, #csv").prop("disabled", true);
$("#run, #explain, #csv, #json").prop("disabled", true);
$("#query_progress").show();
var query = $.trim(editor.getValue());
if (query.length == 0) {
$("#run, #explain, #csv").prop("disabled", false);
$("#run, #explain, #csv, #json").prop("disabled", false);
$("#query_progress").hide();
return;
}
@ -366,7 +366,7 @@ function runExplain() {
explainQuery(query, function(data) {
buildTable(data);
$("#run, #explain, #csv").prop("disabled", false);
$("#run, #explain, #csv, #json").prop("disabled", false);
$("#query_progress").hide();
$("#input").show();
$("#output").removeClass("full");
@ -374,14 +374,14 @@ function runExplain() {
});
}
function exportToCSV() {
function exportTo(format) {
var query = $.trim(editor.getValue());
if (query.length == 0) {
return;
}
var url = "http://" + window.location.host + "/api/query?format=csv&query=" + encodeQuery(query);
var url = "http://" + window.location.host + "/api/query?format=" + format + "&query=" + encodeQuery(query);
var win = window.open(url, '_blank');
setCurrentTab("table_query");
@ -524,9 +524,13 @@ $(document).ready(function() {
});
$("#csv").on("click", function() {
exportToCSV();
exportTo("csv");
});
$("#json").on("click", function() {
exportTo("json");
})
$("#results").on("click", "tr", function() {
$("#results tr.selected").removeClass();
$(this).addClass("selected");