Pagination and Searching

This commit is contained in:
Zakiaass 2024-03-14 14:54:28 +07:00
parent 82d6c798e2
commit 13287d3bc4
13 changed files with 119 additions and 50 deletions

View File

@ -39,9 +39,14 @@ class CriteriaController extends Controller
// return redirect()->route('kriteria.index')->with('success', 'Bobot kriteria berhasil dihitung dan disimpan.');
// }
public function index()
public function index(Request $request)
{
$criterias = Criteria::all();
if ($request->has('search')) {
$criterias = Criteria::where('nama', 'LIKE', '%'.$request->search.'%')->paginate(5);
} else {
$criterias = Criteria::paginate(5);
}
return view('kriteria.kriteria', compact('criterias'));
}

View File

@ -18,8 +18,8 @@ public function index()
$jumlahKriteria = Criteria::count();
$jumlahSubKriteria = SubCriteria::count();
$criterias = Criteria::all();
$extracuricullars = Extracuricullar ::all();
$subcriterias = Subcriteria::all();
$extracuricullars = Extracuricullar ::paginate(5);
$subcriterias = Subcriteria::paginate(5);
return view('dashboard.index', compact('jumlahEkstra','jumlahKriteria','jumlahSubKriteria', 'criterias', 'subcriterias', 'extracuricullars'));
}

View File

@ -34,9 +34,13 @@ public function downloadUserTemplate()
return Excel::download(new UserTemplateExport, 'data-user-template.xlsx');
}
public function index()
public function index(Request $request)
{
$users = User::all();
if ($request->has('search')) {
$users = User::where('name', 'LIKE', '%'.$request->search.'%')->paginate(10);
} else {
$users = User::paginate(10);
}
return view('user.user', compact('users'));
}

View File

@ -11,9 +11,17 @@ class ExtracurricularController extends Controller
/**
* Display a listing of the resource.
*/
public function index()
public function index(Request $request)
{
$extracuricullars = Extracuricullar ::all();
if ($request->has('search')) {
$extracuricullars = Extracuricullar::where('nama', 'LIKE', '%'.$request->search.'%')
->orWhere('deskripsi', 'LIKE', '%'.$request->search.'%')
->orWhere('kategori', 'LIKE', '%'.$request->search.'%')
->paginate(5);
} else {
$extracuricullars = Extracuricullar::paginate(5);
}
return view('ekstrakurikuler.ekstrakurikuler', compact('extracuricullars'));
}

View File

@ -47,9 +47,16 @@ class SubCriteriaController extends Controller
// }
public function index()
public function index(Request $request)
{
$subcriterias = Subcriteria::all();
if ($request->has('search')) {
$subcriterias = SubCriteria::where('nama', 'LIKE', '%'.$request->search.'%')
->orWhere('criteria_id', 'LIKE', '%'.$request->search.'%')
->paginate(10);
} else {
$subcriterias = SubCriteria::paginate(10);
}
$criterias = Criteria::all();
return view('subkriteria.subkriteria', compact('subcriterias', 'criterias'));
}

View File

@ -2,6 +2,7 @@
namespace App\Providers;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
@ -19,6 +20,6 @@ public function register(): void
*/
public function boot(): void
{
//
Paginator::useBootstrap();
}
}

Binary file not shown.

View File

@ -10,7 +10,7 @@
<div class="main-container">
<div class="pd-ltr-20 xs-pd-20-10">
<div class="min-height-200px">
<div class="min-height-200px" style="margin-bottom: 20px;">
<div class="card-box pd-20 height-50-p mb-30">
<div class="row align-items-center">
<div class="col-md-8">
@ -89,10 +89,11 @@
</li>
</ul>
<div class="tab-content">
<!-- Data Ekstrakurikuler -->
<div class="tab-pane fade show active" id="ekstrakurikuler" role="tabpanel">
<div class="profile-setting">
<div class="table-responsive">
<div class="table-responsive" style="margin-bottom: 20px;">
<table class="data-table table stripe hover nowrap">
<thead>
<tr>
@ -102,9 +103,9 @@
</tr>
</thead>
<tbody>
@forelse ($extracuricullars as $extracuricullar)
@forelse ($extracuricullars as $index => $extracuricullar)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $index + $extracuricullars->firstItem() }}</td>
<td>{{ $extracuricullar->nama }}</td>
<td>{{ $extracuricullar->kategori }}</td>
</tr>
@ -115,6 +116,14 @@
@endforelse
</tbody>
</table>
<div>
<div style="display: flex; justify-content: space-between; align-items: center; margin: 0 20px;">
<div style="font-size: 14px;">
Showing data {{ $extracuricullars->firstItem() }} to {{ $extracuricullars->lastItem() }} of {{ $extracuricullars->total() }} entries
</div>
<div style="font-size: 14px;">{{ $extracuricullars->links() }}</div>
</div>
</div>
</div>
</div>
</div>
@ -122,7 +131,7 @@
<!-- Data Sub Kriteria -->
<div class="tab-pane fade" id="subkriteria" role="tabpanel">
<div class="profile-setting">
<div class="table-responsive">
<div class="table-responsive" style="margin-bottom: 20px;">
<table class="data-table table stripe hover nowrap">
<thead>
<tr>
@ -133,9 +142,9 @@
</tr>
</thead>
<tbody>
@forelse ($subcriterias as $subcriteria)
@forelse ($subcriterias as $index => $subcriteria)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $index + $subcriterias->firstItem() }}</td>
<td>{{ $subcriteria->criteria->nama }}</td>
<td>{{ $subcriteria->nama }}</td>
<td>{{ $subcriteria->deskripsi }}</td>
@ -147,6 +156,14 @@
@endforelse
</tbody>
</table>
<div>
<div style="display: flex; justify-content: space-between; align-items: center; margin: 0 20px;">
<div style="font-size: 14px;">
Showing data {{ $subcriterias->firstItem() }} to {{ $subcriterias->lastItem() }} of {{ $subcriterias->total() }} entries
</div>
<div style="font-size: 14px;">{{ $subcriterias->links() }}</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -39,9 +39,9 @@
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary mx-2" data-toggle="modal" data-target="#add-extracuricullar">
<i class="icon dw dw-add"></i> Tambah Ekstrakurikuler</button>
<form class="form-inline ml-auto" action="{{ route('ekstrakurikuler.index') }}" method="GET">
<form class="form-inline ml-auto" action="/ekstrakurikuler" method="GET">
<div class="input-group">
<input type="text" class="form-control" name="search" placeholder="Search">
<input type="search" class="form-control" name="search" placeholder="Search">
<div class="input-group-append">
<button class="btn btn-primary" type="submit">
<i class="icon dw dw-search"></i>
@ -63,9 +63,9 @@
</tr>
</thead>
<tbody>
@forelse ($extracuricullars as $extracuricullar)
@forelse ($extracuricullars as $index => $extracuricullar)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $index + $extracuricullars->firstItem() }}</td>
<td>{{ $extracuricullar->nama }}</td>
<td>{{ $extracuricullar->kategori }}</td>
<td>{{ $extracuricullar->deskripsi }}</td>
@ -89,6 +89,14 @@ class="badge btn-danger" data-toggle="modal"
@endforelse
</tbody>
</table>
<div>
<div style="display: flex; justify-content: space-between; align-items: center; margin: 0 20px;">
<div style="font-size: 14px;">
Showing data {{ $extracuricullars->firstItem() }} to {{ $extracuricullars->lastItem() }} of {{ $extracuricullars->total() }} entries
</div>
<div style="font-size: 14px;">{{ $extracuricullars->links() }}</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -45,7 +45,7 @@
<div id="bobot-kriteria"></div>
<form class="form-inline ml-auto" action="{{ route('kriteria.index') }}" method="GET">
<div class="input-group">
<input type="text" class="form-control" name="search" placeholder="Search">
<input type="search" class="form-control" name="search" placeholder="Search">
<div class="input-group-append">
<button class="btn btn-primary" type="submit">
<i class="icon dw dw-search"></i>
@ -67,9 +67,9 @@
</tr>
</thead>
<tbody>
@forelse ($criterias as $criteria)
@forelse ($criterias as $index => $criteria)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $index + $criterias->firstItem() }}</td>
<td>{{ $criteria->nama }}</td>
<td>{{ $criteria->prioritas }}</td>
<td>
@ -79,13 +79,6 @@
<em>Belum dihitung</em>
@endif
</td>
{{-- <td>
@if (isset($bobotKriteria[$criteria->nama]))
{{ $bobotKriteria[$criteria->nama] }}
@else
<em>Belum dihitung</em>
@endif
</td> --}}
<td>
<a href="{{ route('kriteria.edit', $criteria->id) }}"
class="badge btn-primary" data-toggle="modal"
@ -113,6 +106,14 @@ class="badge btn-danger" data-toggle="modal"
@endforelse
</tbody>
</table>
<div>
<div style="display: flex; justify-content: space-between; align-items: center; margin: 0 20px;">
<div style="font-size: 14px;">
Showing data {{ $criterias->firstItem() }} to {{ $criterias->lastItem() }} of {{ $criterias->total() }} entries
</div>
<div style="font-size: 14px;">{{ $criterias->links() }}</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -27,8 +27,8 @@
href="{{ asset('src/plugins/datatables/css/responsive.bootstrap4.min.css') }}" />
<link rel="stylesheet" type="text/css" href="{{ asset('vendors/styles/style.css') }}" />
{{-- <!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet"> --}}
<!-- Bootstrap CSS -->
{{-- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet"> --}}
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-GBZ3SGGX85"></script>
@ -88,8 +88,8 @@ function gtag() {
<script src="{{ asset('src/plugins/sweetalert2/sweetalert2.all.js') }}"></script>
<script src="{{ asset('src/plugins/sweetalert2/sweet-alert.init.js') }}"></script>
{{-- <!-- Bootstrap JS and Popper.js -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- Bootstrap JS and Popper.js -->
{{-- <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js"></script> --}}
<!-- Google Tag Manager (noscript) -->

View File

@ -44,7 +44,7 @@
</button>
<form class="form-inline ml-auto" action="{{ route('subkriteria.index') }}" method="GET">
<div class="input-group">
<input type="text" class="form-control" name="search" placeholder="Search">
<input type="search" class="form-control" name="search" placeholder="Search">
<div class="input-group-append">
<button class="btn btn-primary" type="submit">
<i class="icon dw dw-search"></i>
@ -68,9 +68,9 @@
</tr>
</thead>
<tbody>
@forelse ($subcriterias as $subcriteria)
@forelse ($subcriterias as $index => $subcriteria)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $index + $subcriterias->firstItem() }}</td>
<td>{{ $subcriteria->criteria->nama }}</td>
<td>{{ $subcriteria->nama }}</td>
<td>{{ $subcriteria->deskripsi }}</td>
@ -109,6 +109,14 @@ class="badge btn-danger" data-toggle="modal"
@endforelse
</tbody>
</table>
<div>
<div style="display: flex; justify-content: space-between; align-items: center; margin: 0 20px;">
<div style="font-size: 14px;">
Showing data {{ $subcriterias->firstItem() }} to {{ $subcriterias->lastItem() }} of {{ $subcriterias->total() }} entries
</div>
<div style="font-size: 14px;">{{ $subcriterias->links() }}</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -45,7 +45,7 @@
<i class="icon dw dw-upload"></i> Export User</button></a>
<form class="form-inline ml-auto" action="{{ route('user.index') }}" method="GET">
<div class="input-group">
<input type="text" class="form-control" name="search" placeholder="Search">
<input type="search" class="form-control" name="search" placeholder="Search">
<div class="input-group-append">
<button class="btn btn-primary" type="submit">
<i class="icon dw dw-search"></i>
@ -68,9 +68,9 @@
</tr>
</thead>
<tbody>
@forelse ($users as $user)
@forelse ($users as $index => $user)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $index + $users->firstItem() }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->username }}</td>
<td>{{ $user->email }}</td>
@ -95,6 +95,15 @@ class="badge btn-primary" data-toggle="modal"
@endforelse
</tbody>
</table>
<div>
<div style="display: flex; justify-content: space-between; align-items: center; margin: 0 20px;">
<div style="font-size: 14px;">
Showing data {{ $users->firstItem() }} to {{ $users->lastItem() }} of {{ $users->total() }} entries
</div>
<div style="font-size: 14px;">{{ $users->links() }}</div>
</div>
</div>
</div>
</div>
</div>
</div>
@ -103,7 +112,6 @@ class="badge btn-primary" data-toggle="modal"
<strong>Sistem Pendukung Keputusan Pemilihan Ekstrakurikuler Metode SMARTER</strong>
</div>
</div>
</div>
{{-- Modal Add --}}
<div class="modal fade" id="add-user" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel"
@ -288,11 +296,11 @@ class="badge btn-primary" data-toggle="modal"
<!-- Modal Import-->
<div class="modal fade center-modal" id="import-user" tabindex="-1" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Import User</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
<h4 class="modal-title" id="myLargeModalLabel">Import User</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
</div>
<div class="modal-body">
<form action="{{ route('import-user') }}" class="needs-validation" novalidate=""
@ -306,7 +314,9 @@ class="badge btn-primary" data-toggle="modal"
<div class="invalid-feedback">
Tolong upload sebuah file!
</div>
<label class="col-sm-12 col-form-label">- Upload file dengan bentuk format (.xlxs) </label>
<label class="col-sm-12 col-form-label"> - Silakan mengunduh template terlebih dahulu
<br> - Upload file dengan bentuk format (.xlxs)
</label>
</div>
</div>
</div>