Sha256: b7653b2b12f2d1cc6b0d3b2660319f5f1cd392fd93aae9220bcb693c0ff0b293

Contents?: true

Size: 1.1 KB

Versions: 4

Compression:

Stored size: 1.1 KB

Contents

<template>
  <Loading v-if="getRuleTask.isRunning"></Loading>
  <ErrorMessage v-if="getRuleTask.isError" :error="getRuleTask.last?.error"></ErrorMessage>
  <Rule :rule="getRuleTask.last.value" @refresh="refresh" v-if="getRuleTask.last?.value"></Rule>
</template>

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

import { generateGetRuleTask } from "@/api-helper"
import ErrorMessage from "@/components/ErrorMessage.vue"
import Loading from "@/components/Loading.vue"
import Rule from "@/components/rule/Rule.vue"

export default defineComponent({
  name: "RuleWrapper",
  components: {
    Rule,
    Loading,
    ErrorMessage
  },
  props: {
    id: {
      type: String,
      required: true
    }
  },
  setup(props) {
    const getRuleTask = generateGetRuleTask()

    const getRule = async () => {
      await getRuleTask.perform(props.id)
    }

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

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

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

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mihari-5.7.0 frontend/src/components/rule/RuleWrapper.vue
mihari-5.6.2 frontend/src/components/rule/RuleWrapper.vue
mihari-5.6.1 frontend/src/components/rule/RuleWrapper.vue
mihari-5.6.0 frontend/src/components/rule/RuleWrapper.vue