mirror of
https://github.com/sosedoff/pgweb.git
synced 2024-12-15 11:52:12 +03:00
Add ability to export query results to JSON
This commit is contained in:
parent
73a97893e9
commit
5a92c5508c
File diff suppressed because one or more lines are too long
@ -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>
|
||||
|
@ -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");
|
||||
|
Loading…
Reference in New Issue
Block a user