78 lines
2.2 KiB
PHP
78 lines
2.2 KiB
PHP
<div class="card card-info card-outline">
|
|
<div class="card-header">
|
|
<h4 class="card-title">Services</h4>
|
|
</div>
|
|
|
|
<div class="card-body">
|
|
@if ($user->services_active->count())
|
|
<table class="table table-striped table-hover" id="services" style="width: 100%;">
|
|
<thead>
|
|
<tr>
|
|
<th>ID</th>
|
|
<th>Category</th>
|
|
<th>Service</th>
|
|
<th>Product</th>
|
|
<th>Status</th>
|
|
<th>Next Invoice</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tfoot>
|
|
<tr>
|
|
<th>Count {{ $user->services_active->count() }}</th>
|
|
<th colspan="5"> </th>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
|
|
@else
|
|
<p>No services active</p>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
|
|
@section('page-scripts')
|
|
@css('https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css','jq-dt-css','jquery');
|
|
@js('https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js','jq-dt-js','jquery');
|
|
@css('https://cdn.datatables.net/responsive/2.2.1/css/responsive.dataTables.min.css','dt-responsive-css','jq-dt-css')
|
|
@js('https://cdn.datatables.net/responsive/2.2.1/js/dataTables.responsive.min.js','dt-responsive-js','jq-dt-js')
|
|
@css('https://cdn.datatables.net/rowgroup/1.0.2/css/rowGroup.dataTables.min.css','dt-rowgroup-css','jq-dt-css')
|
|
@js('https://cdn.datatables.net/rowgroup/1.0.2/js/dataTables.rowGroup.min.js','dt-rowgroup-js','jq-dt-js')
|
|
@css('/plugin/dataTables/dataTables.bootstrap4.css','dt-bootstrap4-css','jq-dt-css')
|
|
@js('/plugin/dataTables/dataTables.bootstrap4.js','dt-bootstrap4-js','jq-dt-js')
|
|
|
|
<script type="text/javascript">
|
|
$(document).ready(function() {
|
|
$('#services').DataTable( {
|
|
responsive: true,
|
|
ajax: {
|
|
url: "/api/u/services"
|
|
},
|
|
columns: [
|
|
{ data: "service_id_url" },
|
|
{ data: "product_category" },
|
|
{ data: "name_short" },
|
|
{ data: "product_name" },
|
|
{ data: "status" },
|
|
{ data: "next_invoice" }
|
|
],
|
|
language: {
|
|
emptyTable: "No Active Services"
|
|
},
|
|
order: [5, 'asc'],
|
|
rowGroup: {
|
|
dataSrc: 'product_name',
|
|
startRender: null,
|
|
endRender: function ( rows, group ) {
|
|
return rows.count()+' x ' + group;
|
|
},
|
|
},
|
|
orderFixed: [3, 'asc']
|
|
});
|
|
|
|
$('#services tbody').on('click','tr', function () {
|
|
$(this).toggleClass('selected');
|
|
});
|
|
});
|
|
</script>
|
|
@append |