Merge pull request #920 from AndrewBastin/feat/gql-result-download
This commit is contained in:
@@ -118,8 +118,8 @@
|
|||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
class="icon"
|
class="icon"
|
||||||
@click="downloadResponse"
|
@click="downloadSchema"
|
||||||
ref="downloadResponse"
|
ref="downloadSchema"
|
||||||
v-tooltip="$t('download_file')"
|
v-tooltip="$t('download_file')"
|
||||||
>
|
>
|
||||||
<i class="material-icons">get_app</i>
|
<i class="material-icons">get_app</i>
|
||||||
@@ -221,6 +221,14 @@
|
|||||||
<div class="flex-wrap">
|
<div class="flex-wrap">
|
||||||
<label for="responseField">{{ $t("response") }}</label>
|
<label for="responseField">{{ $t("response") }}</label>
|
||||||
<div>
|
<div>
|
||||||
|
<button
|
||||||
|
class="icon"
|
||||||
|
@click="downloadResponse"
|
||||||
|
ref="downloadResponse"
|
||||||
|
v-tooltip="$t('download_file')"
|
||||||
|
>
|
||||||
|
<i class="material-icons">get_app</i>
|
||||||
|
</button>
|
||||||
<button
|
<button
|
||||||
class="icon"
|
class="icon"
|
||||||
@click="copyResponse"
|
@click="copyResponse"
|
||||||
@@ -667,12 +675,12 @@ export default {
|
|||||||
this.responseBodyMaxLines = this.responseBodyMaxLines == Infinity ? 16 : Infinity
|
this.responseBodyMaxLines = this.responseBodyMaxLines == Infinity ? 16 : Infinity
|
||||||
},
|
},
|
||||||
downloadResponse() {
|
downloadResponse() {
|
||||||
const dataToWrite = JSON.stringify(this.schema, null, 2)
|
const dataToWrite = this.response
|
||||||
const file = new Blob([dataToWrite], { type: "application/json" })
|
const file = new Blob([dataToWrite], { type: "application/json" })
|
||||||
const a = document.createElement("a")
|
const a = document.createElement("a")
|
||||||
const url = URL.createObjectURL(file)
|
const url = URL.createObjectURL(file)
|
||||||
a.href = url
|
a.href = url
|
||||||
a.download = `${this.url} on ${Date()}.graphql`.replace(/\./g, "[dot]")
|
a.download = `Response ${this.url} on ${Date()}.json`.replace(/\./g, "[dot]")
|
||||||
document.body.appendChild(a)
|
document.body.appendChild(a)
|
||||||
a.click()
|
a.click()
|
||||||
this.$refs.downloadResponse.innerHTML = this.doneButton
|
this.$refs.downloadResponse.innerHTML = this.doneButton
|
||||||
@@ -685,6 +693,25 @@ export default {
|
|||||||
this.$refs.downloadResponse.innerHTML = this.downloadButton
|
this.$refs.downloadResponse.innerHTML = this.downloadButton
|
||||||
}, 1000)
|
}, 1000)
|
||||||
},
|
},
|
||||||
|
downloadSchema() {
|
||||||
|
const dataToWrite = JSON.stringify(this.schema, null, 2)
|
||||||
|
const file = new Blob([dataToWrite], { type: "application/json" })
|
||||||
|
const a = document.createElement("a")
|
||||||
|
const url = URL.createObjectURL(file)
|
||||||
|
a.href = url
|
||||||
|
a.download = `${this.url} on ${Date()}.graphql`.replace(/\./g, "[dot]")
|
||||||
|
document.body.appendChild(a)
|
||||||
|
a.click()
|
||||||
|
this.$refs.downloadSchema.innerHTML = this.doneButton
|
||||||
|
this.$toast.success(this.$t("download_started"), {
|
||||||
|
icon: "done",
|
||||||
|
})
|
||||||
|
setTimeout(() => {
|
||||||
|
document.body.removeChild(a)
|
||||||
|
window.URL.revokeObjectURL(url)
|
||||||
|
this.$refs.downloadSchema.innerHTML = this.downloadButton
|
||||||
|
}, 1000)
|
||||||
|
},
|
||||||
addRequestHeader(index) {
|
addRequestHeader(index) {
|
||||||
this.$store.commit("addGQLHeader", {
|
this.$store.commit("addGQLHeader", {
|
||||||
key: "",
|
key: "",
|
||||||
|
|||||||
Reference in New Issue
Block a user