<template>
  <div class="box">
    <div class="columns">
      <b-field
        class="column is-4"
        label="Nombre de la Institución"
        v-if="admin.tipoUsuario.id_tipo_usuario === 2"
      >
        <b-select v-model="idInstitucion" expanded rounded>
          <option value="" disabled>Institución</option>
          <option
            v-for="institucion in instituciones"
            :value="institucion.id_institucion"
            :key="institucion.id_insitucion"
          >
            {{ institucion.institucion }}
          </option>
        </b-select>
      </b-field>

      <b-field class="column is-4" label="Nombre del Módulo">
        <b-select v-model="idModulo" expanded rounded>
          <option value="" disabled>Módulo</option>
          <option
            v-for="modulo in modulos"
            :value="modulo.id_modulo"
            :key="modulo.id_modulo"
          >
            {{ modulo.modulo }}
          </option>
        </b-select>
      </b-field>
    </div>

    <div class="columns">
      <InfoModulo :modulo="modulo" />

      <!-- <AdminEquipo
        :admin="admin"
        :imprimirError="imprimirError"
        :imprimirWarning="imprimirWarning"
        :imprimirMensaje="imprimirMensaje"
        :updateIsLoading="updateIsLoading"
        :buscar="buscar"
      /> -->
    </div>
  </div>
</template>

<script>
import axios from 'axios'
import InfoModulo from '@/components/admin/InfoModulo'
export default {
  components: {
    InfoModulo,
  },
  props: {
    admin: { type: Object, required: true },
    imprimirError: { type: Function, required: true },
    imprimirWarning: { type: Function, required: true },
    imprimirMensaje: { type: Function, required: true },
    updateIsLoading: { type: Function, required: true },
  },
  data() {
    return {
      modulos: [],
      modulo: {},
      idModulo: '',
      instituciones: [],
      institucion: {},
      idInstitucion: '',
    }
  },
  methods: {
    obtenerCatalogoInstitucion() {
      axios
        .get(`${process.env.api}/institucion`)
        .then((res) => {
          this.instituciones = res.data
        })
        .catch((err) => {
          this.imprimirError(err)
        })
    },
    obtenerCatalogoModulo(id_institucion) {
      axios
        .get(
          `${process.env.api}/modulo/modulos?id_institucion=${id_institucion}`
        )
        .then((res) => {
          this.modulos = res.data
          console.log(this.modulos)
        })
        .catch((err) => {
          this.imprimirError(err)
        })
    },
  },
  watch: {
    idInstitucion(value) {
      console.log(value)
      this.obtenerCatalogoModulo(value)
    },
    idModulo() {
      for (let i = 0; i < this.modulos.length; i++) {
        if (this.modulos[i].id_modulo === this.idModulo)
          this.modulo = this.modulos[i]
      }
    },
  },
  created() {
    this.admin.tipoUsuario.id_tipo_usuario === 2
      ? this.obtenerCatalogoInstitucion()
      : this.obtenerCatalogoModulo(this.admin.institucion.id_institucion)
  },
}
</script>
