<template>
  <fournisseur-template>
    <template #fournisseur-new-action>
      <add-button text="Ajouter" @click="goToFournisseur" />
    </template>
    <template #select-filter>
      <filter-table />
    </template>
    <template #fournisseur-other-action>
      <table-action />
    </template>
    <template #fournisseur-table>
      <fournisseur-table
        :data="fournisseurData"
        :loading="loadingData"
        @view="goToDetails"
        @delete="deleteFournisseur"
      />
    </template>
  </fournisseur-template>
</template>
<script setup>
import FournisseurTemplate from "@/components/templates/CRM/FournisseurTemplate.vue";
import FournisseurTable from "@/components/molecules/Tables/CRM/FournisseurTable.vue";
import addButton from "@/components/molecules/new-button/addButton.vue";
import FilterTable from "@/components/molecules/Tables/FilterTable.vue";
import TableAction from "@/components/molecules/Tables/TableAction.vue";
import { defineProps, defineEmits } from "vue";
import { useRouter } from "vue-router";

const router = useRouter();

const emit = defineEmits(["pushDetails", "deleteFournisseur"]);

defineProps({
  fournisseurData: {
    type: Array,
    default: [],
  },
  loadingData: {
    type: Boolean,
    default: false,
  },
});

const goToFournisseur = () => {
  // Navigate to create fournisseur page when implemented
  console.log("Navigate to create fournisseur");
};

const goToDetails = (fournisseurId) => {
  router.push({
    name: "Fournisseur details",
    params: {
      id: fournisseurId,
    },
  });
};

const deleteFournisseur = (fournisseur) => {
  emit("deleteFournisseur", fournisseur);
};
</script>
