1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <template>
- <AppPaneLayout layout-id="graphql">
- <template #primary>
- <GraphqlRequest :conn="gqlConn" />
- <GraphqlRequestOptions :conn="gqlConn" />
- </template>
- <template #secondary>
- <GraphqlResponse :conn="gqlConn" />
- </template>
- <template #sidebar>
- <GraphqlSidebar :conn="gqlConn" />
- </template>
- </AppPaneLayout>
- </template>
- <script lang="ts">
- import { defineComponent, watch } from "@nuxtjs/composition-api"
- import { GQLConnection } from "~/helpers/GQLConnection"
- import { useNuxt, useReadonlyStream } from "~/helpers/utils/composables"
- export default defineComponent({
- beforeRouteLeave(_to, _from, next) {
- if (this.gqlConn.connected$.value) {
- this.gqlConn.disconnect()
- }
- next()
- },
- setup() {
- const nuxt = useNuxt()
- const gqlConn = new GQLConnection()
- const isLoading = useReadonlyStream(gqlConn.isLoading$, false)
- watch(isLoading, () => {
- if (isLoading.value) nuxt.value.$loading.start()
- else nuxt.value.$loading.finish()
- })
- return {
- gqlConn,
- }
- },
- head() {
- return {
- title: `${this.$t("navigation.graphql")} • Hoppscotch`,
- }
- },
- })
- </script>
|