File: /var/www/html/spion/resources/views/admin/tickets/index.blade.php
@extends('adminlte::page')
@include('admin.includes.datatable-axios-files')
@section('title', 'Ticket Management')
@section('content_header')
<h1>Tickets</h1>
{{-- <small>Manage Tickets</small> --}}
@stop
@section('content')
<div class="card card-dark">
<div class="card-header">
<h3 class="card-title"> Tickets Details</h3>
<div class="card-tools">
</div>
</div>
<div class="card-body">
<form method="POST" id="search-form" role="form">
<div class="form-group">
<label for="search">Search</label>
<x-adminlte-input class="form-control" id="search_keyword" name="search_keyword" placeholder="Enter Name"/>
</div>
<div class="form-group">
<label for="status">Status</label>
@php
$options = ['all' => 'All', 0 => 'Disabled', 1 => 'Active'];
@endphp
<x-adminlte-select name="status_filter" id="status_filter">
<x-adminlte-options :options="$options" empty-option="Select an option..."/>
</x-adminlte-select>
</div>
</form>
<table class="table table-bordered yajra-datatable">
<thead>
<tr>
<th>User ID</th>
<th>Email</th>
<th>Subject</th>
<th>Message</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<!-- Data will be populated by DataTables -->
</tbody>
</table>
</div>
</div>
@stop
@section('js')
@parent
<script>
$(document).ready(function() {
var table = $('.yajra-datatable').DataTable({
processing: true,
serverSide: true,
pageLength: 10,
searching: false,
ajax: {
url: '{{ route('admin.tickets.data') }}',
data: function(d) {
d.search_keyword = $('#search_keyword').val();
d.status_filter = $('#status_filter').val();
}
},
columns: [
{ data: 'user_id', name: 'user_id' },
{ data: 'email', name: 'email' },
{ data: 'subject', name: 'subject' },
{ data: 'message', name: 'message' },
{ data: 'status', name: 'status' },
]
});
// Re-fetch data when filter values change
$('#search_keyword, #status_filter').on('change', function() {
table.draw();
});
});
</script>
@stop