154 lines
7.3 KiB
PHP
154 lines
7.3 KiB
PHP
@php
|
|
use App\Models\Penyakit;
|
|
use App\Models\Indikator;
|
|
@endphp
|
|
|
|
@extends('admin.layout.main', ['title' => 'Data Pengguna'])
|
|
|
|
@section('main')
|
|
<div class="page-heading">
|
|
<h3>Data Pengguna</h3>
|
|
</div>
|
|
<div class="card shadow-sm border-0">
|
|
<div class="card-header">
|
|
<h4 class="mb-0">Data Pengguna</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<!-- Pencarian -->
|
|
<div class="mb-4">
|
|
<input type="search" class="form-control" id="myInput" onkeyup="myFunction()" placeholder="Cari data pengguna...">
|
|
</div>
|
|
|
|
<!-- Tabel Data Pengguna -->
|
|
<div class="table-responsive">
|
|
<table class="table table-hover" id="myTable">
|
|
<thead class="table-light">
|
|
<tr>
|
|
<th>Nama Lengkap</th>
|
|
<th>Email</th>
|
|
<th>Nama Kucing</th>
|
|
<th>Usia Kucing</th>
|
|
<th>Penyakit</th>
|
|
<th>Indikator</th>
|
|
<th>Aksi</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@if ($data_users->isNotEmpty())
|
|
@foreach ($data_users as $data)
|
|
@php
|
|
$array = explode(',', $data->kode_indikator);
|
|
@endphp
|
|
<tr>
|
|
<td>{{ $data->nama }}</td>
|
|
<td>{{ $data->email }}</td>
|
|
<td>{{ $data->nama_kucing }}</td>
|
|
<td>{{ $data->usia_kucing }} bulan</td>
|
|
<td>{{ $data->penyakit->penyakit }}</td>
|
|
<td>{{ Indikator::whereIn('id', $array)->pluck('kode')->implode(', ') }}</td>
|
|
<td>
|
|
<button class="btn btn-danger btn-sm" data-bs-toggle="modal" data-bs-target="#delete{{ $data->id }}">
|
|
<i class="fa-solid fa-trash"></i> Hapus
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- Modal Hapus -->
|
|
<div class="modal fade" id="delete{{ $data->id }}" tabindex="-1"
|
|
aria-labelledby="exampleModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title fw-bold" id="exampleModalLabel">Konfirmasi Hapus</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p class="text-center mb-4">Apakah Anda yakin ingin menghapus data ini?</p>
|
|
<form action="{{ url('data-pengguna/' . $data->id) }}" method="POST">
|
|
@csrf
|
|
@method('DELETE')
|
|
<div class="d-flex justify-content-center gap-2">
|
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
|
|
<button type="submit" class="btn btn-danger">
|
|
<i class="fa-solid fa-trash me-1"></i> Hapus
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End Modal Hapus -->
|
|
@endforeach
|
|
@else
|
|
<tr>
|
|
<td colspan="7" class="text-center py-4">Tidak ada data tersedia.</td>
|
|
</tr>
|
|
@endif
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<!-- Pagination Sederhana -->
|
|
<div class="d-flex justify-content-between align-items-center mt-4">
|
|
<!-- Teks "Showing X to Y of Z results" -->
|
|
<div class="pagination-info">
|
|
Showing {{ $data_users->firstItem() }} to {{ $data_users->lastItem() }} of {{ $data_users->total() }} results
|
|
</div>
|
|
|
|
<!-- Navigasi Pagination -->
|
|
<nav>
|
|
<ul class="pagination mb-0">
|
|
{{-- Tombol Previous --}}
|
|
@if ($data_users->onFirstPage())
|
|
<li class="page-item disabled">
|
|
<span class="page-link">Previous</span>
|
|
</li>
|
|
@else
|
|
<li class="page-item">
|
|
<a class="page-link" href="{{ $data_users->previousPageUrl() }}">Previous</a>
|
|
</li>
|
|
@endif
|
|
|
|
{{-- Tombol Next --}}
|
|
@if ($data_users->hasMorePages())
|
|
<li class="page-item">
|
|
<a class="page-link" href="{{ $data_users->nextPageUrl() }}">Next</a>
|
|
</li>
|
|
@else
|
|
<li class="page-item disabled">
|
|
<span class="page-link">Next</span>
|
|
</li>
|
|
@endif
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Script Pencarian -->
|
|
<script>
|
|
function myFunction() {
|
|
var input, filter, table, tr, td, i, txtValue;
|
|
input = document.getElementById("myInput");
|
|
filter = input.value.toUpperCase();
|
|
table = document.getElementById("myTable");
|
|
tr = table.getElementsByTagName("tr");
|
|
|
|
for (i = 0; i < tr.length; i++) {
|
|
td = tr[i].getElementsByTagName("td");
|
|
for (var j = 0; j < td.length; j++) {
|
|
if (td[j]) {
|
|
txtValue = td[j].textContent || td[j].innerText;
|
|
if (txtValue.toUpperCase().indexOf(filter) > -1) {
|
|
tr[i].style.display = "";
|
|
break;
|
|
} else {
|
|
tr[i].style.display = "none";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
@endsection |