Sha256: 6a27508cd8069f5a6be91e6341dc37d568a1bd81f6a54db70b7b571931b3c7e3

Contents?: true

Size: 1.24 KB

Versions: 4

Compression:

Stored size: 1.24 KB

Contents

<template>
  <Loading v-if="getArtifactTask.isRunning"></Loading>
  <ErrorMessage v-if="getArtifactTask.isError" :error="getArtifactTask.last?.error"></ErrorMessage>
  <ArtifactComponent
    :artifact="getArtifactTask.last.value"
    @refresh="refresh"
    v-if="getArtifactTask.last?.value"
  ></ArtifactComponent>
</template>

<script lang="ts">
import { defineComponent, onMounted, watch } from "vue"

import { generateGetArtifactTask } from "@/api-helper"
import ArtifactComponent from "@/components/artifact/Artifact.vue"
import ErrorMessage from "@/components/ErrorMessage.vue"
import Loading from "@/components/Loading.vue"

export default defineComponent({
  name: "ArtifactWrapper",
  components: {
    ArtifactComponent,
    Loading,
    ErrorMessage
  },
  props: {
    id: {
      type: String,
      required: true
    }
  },
  setup(props) {
    const getArtifactTask = generateGetArtifactTask()

    const getArtifact = async () => {
      await getArtifactTask.perform(props.id)
    }

    const refresh = async () => {
      await getArtifact()
    }

    onMounted(async () => {
      await getArtifact()
    })

    watch(props, async () => {
      await getArtifact()
    })

    return {
      getArtifactTask,
      refresh
    }
  }
})
</script>

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mihari-5.7.0 frontend/src/components/artifact/ArtifactWrapper.vue
mihari-5.6.2 frontend/src/components/artifact/ArtifactWrapper.vue
mihari-5.6.1 frontend/src/components/artifact/ArtifactWrapper.vue
mihari-5.6.0 frontend/src/components/artifact/ArtifactWrapper.vue