144 lines
7.7 KiB
PHP
144 lines
7.7 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
@include('layouts.shared/title-meta', ['title' => 'Form'])
|
|
@include('layouts.shared/head-css', ['mode' => $mode ?? '', 'demo' => $demo ?? ''])
|
|
<link href="{{ asset('assets/libs/sweetalert2/sweetalert2.min.css') }}" rel="stylesheet" type="text/css" />
|
|
<style type="text/css">
|
|
.img-thumbnail {
|
|
max-width: 100px
|
|
}
|
|
</style>
|
|
</head>
|
|
<div class="account-pages">
|
|
<div class="container">
|
|
<div class="row justify-content-center">
|
|
<div class="col-md-8 col-lg-6 col-xl-5 p-0">
|
|
<div class="card bg-pattern">
|
|
<div class="card-body p-3 row">
|
|
<div class="row">
|
|
<div class="col-md-6 p-2">
|
|
<h4 class="page-title">{{ $title }} Listing</h4>
|
|
</div>
|
|
<div class="col-md-6 p-2">
|
|
@if (isset($buttons))
|
|
@foreach ($buttons as $button)
|
|
<a href="{{ $button['link'] }}"
|
|
class="btn btn-{{ $button['title'] == 'Add New' ? 'success' : 'dark' }} waves-effect waves-light float-end me-2"
|
|
id="btn-{{ strtolower(str_replace(' ', '-', $button['title'])) }}">{{ $button['title'] }}</a>
|
|
@endforeach
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@if (session()->has('message'))
|
|
<div class="alert alert-success">
|
|
{{ session()->get('message') }}
|
|
</div>
|
|
@endif
|
|
@if (session()->has('error'))
|
|
<div class="alert alert-danger">
|
|
{{ session()->get('error') }}
|
|
</div>
|
|
@endif
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<table id="list-page-datatable" class="table w-100 nowrap">
|
|
<thead>
|
|
<tr>
|
|
@foreach ($fields as $field => $props)
|
|
<th>{{ $props['title'] }}</th>
|
|
@endforeach
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach ($items as $item)
|
|
<tr>
|
|
@foreach ($fields as $field => $props)
|
|
@if ($field != 'actions')
|
|
<td>
|
|
@switch($props['type'])
|
|
@case('image')
|
|
<img src="{{ $item->{$field} }}" class="img-thumbnail">
|
|
@break
|
|
|
|
@case('text')
|
|
@case('select')
|
|
{{ isset($item->{$field}) ? $item->{$field} : '' }}
|
|
@break
|
|
|
|
@case('date')
|
|
{{ date('d M Y', strtotime($item->{$field})) }}
|
|
@break
|
|
@endswitch
|
|
</td>
|
|
@else
|
|
<td>
|
|
@foreach ($props['buttons'] as $key => $button)
|
|
@switch($button)
|
|
@case('edit')
|
|
<a href="{{ $base_url }}/edit?id={{ $item->id }}"
|
|
class="action-icon"> <i
|
|
class="mdi mdi-square-edit-outline text-warning"></i></a>
|
|
@break
|
|
|
|
@case('delete')
|
|
<a href="{{ $base_url }}/delete?id={{ $item->id }}"
|
|
class="action-icon"> <i
|
|
class="mdi mdi-delete text-danger"></i></a>
|
|
@break
|
|
|
|
@default
|
|
@php
|
|
if (isset($button['href']) && $button['href'] != '') {
|
|
$href = $item->{$button['href']};
|
|
} else {
|
|
$querystring = $button['querystring'];
|
|
foreach ((array) $item as $k => $v) {
|
|
if (strpos($querystring, '{' . strtoupper($k) . '}') !== false) {
|
|
$querystring = str_replace('{' . strtoupper($k) . '}', $v, $querystring);
|
|
}
|
|
}
|
|
$href = $base_url . '/' . $key . '?' . $querystring;
|
|
}
|
|
|
|
@endphp
|
|
<a href="{{ $href }}" class="action-icon"> <i
|
|
class="mdi mdi-{{ $button['icon'] }}"></i></a>
|
|
@endswitch
|
|
@endforeach
|
|
</td>
|
|
@endif
|
|
@endforeach
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
</div> <!-- end card body-->
|
|
</div> <!-- end card -->
|
|
</div><!-- end col-->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
@section('script')
|
|
<script src="{{ asset('assets/libs/datatables/datatables.min.js') }}"></script>
|
|
<script src="{{ asset('assets/libs/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
|
|
<script type="text/javascript">
|
|
jQuery(document).ready(function($) {
|
|
$('#list-page-datatable').DataTable({
|
|
stateSave: true,
|
|
"scrollX": true,
|
|
"paging": false
|
|
});
|
|
});
|
|
</script>
|
|
@endsection
|