Files
hoppscotch/components/lenses/ResponseBodyRenderer.vue
2021-05-17 19:17:57 +05:30

40 lines
914 B
Vue

<template>
<SmartTabs styles="m-4">
<SmartTab
v-for="(lens, index) in validLenses"
:id="lens.lensName"
:key="lens.lensName"
:label="lens.lensName"
:selected="index === 0"
>
<component :is="lens.renderer" :response="response" />
</SmartTab>
<SmartTab
v-if="Object.keys(response.headers).length !== 0"
id="headers"
:label="`Headers \xA0 • \xA0 ${Object.keys(response.headers).length}`"
>
<LensesHeadersRenderer :headers="response.headers" />
</SmartTab>
</SmartTabs>
</template>
<script>
import { getSuitableLenses, getLensRenderers } from "~/helpers/lenses/lenses"
export default {
components: {
// Lens Renderers
...getLensRenderers(),
},
props: {
response: { type: Object, default: () => {} },
},
computed: {
validLenses() {
return getSuitableLenses(this.response)
},
},
}
</script>