12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <script setup>
  2. import { Head, Link } from '@inertiajs/inertia-vue3'
  3. import AppButton from '@/components/AppButton.vue'
  4. import AppPagination from '@/components/AppPagination.vue'
  5. import AppLayout from '@/layouts/AppLayout.vue'
  6. import TableHeader from './TableHeader'
  7. defineProps({
  8. laundries: Object,
  9. })
  10. </script>
  11. <template>
  12. <Head title="Daftar Tipe Laundry" />
  13. <AppLayout>
  14. <DataTable
  15. responsiveLayout="scroll"
  16. columnResizeMode="expand"
  17. :value="laundries.data"
  18. :rowHover="true"
  19. :stripedRows="true"
  20. >
  21. <template #header>
  22. <div class="grid">
  23. <div class="col-12 md:col-6">
  24. <div class="flex align-items-center">
  25. <h5 class="mr-3 mb-0">Laundry</h5>
  26. <InputText class="w-full md:w-27rem" placeholder="cari..." />
  27. </div>
  28. </div>
  29. <div class="col-12 md:col-6 flex justify-content-end">
  30. <AppButton :href="route('laundries.create')" label="Tambah Laundry" icon="pi pi-pencil" />
  31. </div>
  32. </div>
  33. </template>
  34. <Column
  35. v-for="tableHeader in TableHeader"
  36. :field="tableHeader.field"
  37. :header="tableHeader.header"
  38. :key="tableHeader.field"
  39. />
  40. <Column>
  41. <template #body="{ data }">
  42. <Link
  43. as="button"
  44. :href="route('laundries.edit', data.id)"
  45. class="p-button p-component p-button-icon-only p-button-rounded p-button-text"
  46. >
  47. <i class="pi pi-angle-double-right p-button-icon"></i>
  48. </Link>
  49. </template>
  50. </Column>
  51. </DataTable>
  52. <AppPagination :links="laundries.links" />
  53. </AppLayout>
  54. </template>