v1.3.0 - Implemented DataTables
This commit is contained in:
@@ -10,7 +10,6 @@
|
||||
@endsection
|
||||
|
||||
@section("content")
|
||||
|
||||
<style>
|
||||
.showUsers {
|
||||
position: relative;
|
||||
@@ -47,37 +46,13 @@
|
||||
|
||||
td >
|
||||
</style>
|
||||
|
||||
|
||||
<div class="row align-items-center">
|
||||
@if(auth()->user()->can('user.create'))
|
||||
<a class="btn btn-inline btn-sde-blue mb-0" href="{{ route('users.create') }}"><img src="{{ asset('/images/icons/plus.svg') }}" alt="Create">Opret Bruger</a>
|
||||
@endif
|
||||
|
||||
<form method="post" action="{{ route("users.store") }}">
|
||||
@csrf
|
||||
<input type="text" class="form-controller" id="search" name="search" placeholder="Søg efter navn,email,tlf">
|
||||
</form>
|
||||
<button id="filterButton" type="button" class="btn btn-sde-blue mb-0">Filter</button>
|
||||
</div>
|
||||
|
||||
<div id="showHideCheckbox" class="mt-1">
|
||||
<input class="checkbox-inline" type="checkbox" name="checkbox" id="navn" value="navn">
|
||||
<label for="navn">Navn</label>
|
||||
<input class="checkbox-inline" type="checkbox" name="checkbox" id="efternavn" value="efternavn">
|
||||
<label for="efternavn">Efternavn</label>
|
||||
<input class="checkbox-inline" type="checkbox" name="checkbox" id="email" value="email">
|
||||
<label for="email">Email</label>
|
||||
<input class="checkbox-inline" type="checkbox" id="telefon" name="checkbox" value="telefon">
|
||||
<label for="telefon">Telefon</label>
|
||||
<input class="checkbox-inline" type="checkbox" id="rolle" name="checkbox"value="rolle">
|
||||
<label for="rolle">Rolle</label>
|
||||
</div>
|
||||
<div id="showHideCheckboxs" style="margin-bottom: -36px">
|
||||
</div>
|
||||
|
||||
<table class="tbl mt-2">
|
||||
<tr>
|
||||
<table class="tbl mt-2" id="table_id">
|
||||
<thead>
|
||||
<th>Fornavn</th>
|
||||
<th>Efternavn</th>
|
||||
<th>Email</th>
|
||||
@@ -90,95 +65,55 @@
|
||||
@if(auth()->user()->can('user.delete'))
|
||||
<th style="width: 1em;"><img class="w-100" src="{{ asset('/images/icons/trashcan.svg') }}" alt="Delete"></th>
|
||||
@endif
|
||||
</tr>
|
||||
@foreach($users as $user)
|
||||
<tr>
|
||||
<td>{{ $user->name_first }}</td>
|
||||
<td>{{ $user->name_last }}</td>
|
||||
<td>{{ $user->email }}</td>
|
||||
<td>{{ $user->phone }}</td>
|
||||
<td>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($users as $user)
|
||||
<tr>
|
||||
<td>{{ $user->name_first }}</td>
|
||||
<td>{{ $user->name_last }}</td>
|
||||
<td>{{ $user->email }}</td>
|
||||
<td>{{ $user->phone }}</td>
|
||||
<td>
|
||||
|
||||
@for($i = 0; $i < count($user->roles); $i++)
|
||||
@if(count($user->roles)-1 != $i)
|
||||
{{$user->roles[$i]->name}},
|
||||
@else
|
||||
{{$user->roles[$i]->name}}
|
||||
@endif
|
||||
@endfor
|
||||
</td>
|
||||
@if($user->resource_id !== null)
|
||||
<td style="overflow: visible"><a class="showUsers"><img src="{{ asset('/images/icons/eye-dark.svg') }}"><img src="{{ asset(\App\Resource::query()->where("id", "=", $user->resource_id)->first()->filename) }}" class="showUserImages"></a></td>
|
||||
@else
|
||||
<td style="overflow: visible"><a class="showUsers noImages"><img src="{{ asset('/images/icons/eye-dark.svg') }}"><img src="" class="showUserImages"></a></td>
|
||||
@endif
|
||||
@if(auth()->user()->can('user.edit'))
|
||||
<td><a href="{{ route("users.edit", [ "user" => $user->id ]) }}"><img class="w-100" src="{{ asset('/images/icons/pencil-dark.svg') }}" alt="Update"></a></td>
|
||||
@endif
|
||||
@if(auth()->user()->can('user.delete'))
|
||||
<td><form method="post" action="{{ route("users.destroy", [ "user" => $user ]) }}" class="w-100 nostyle">
|
||||
@csrf
|
||||
@method("delete")
|
||||
|
||||
<button class="w-100 nostyle" onclick="return confirm('Are you sure you want to delete?');" type="submit"><img class="w-100 cursor-pointer" src="{{ asset('/images/icons/trashcan-dark.svg') }}" alt="Delete"></button>
|
||||
</form>
|
||||
@for($i = 0; $i < count($user->roles); $i++)
|
||||
@if(count($user->roles)-1 != $i)
|
||||
{{$user->roles[$i]->name}},
|
||||
@else
|
||||
{{$user->roles[$i]->name}}
|
||||
@endif
|
||||
@endfor
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
@if($user->resource_id !== null)
|
||||
<td style="overflow: visible"><a class="showUsers"><img src="{{ asset('/images/icons/eye-dark.svg') }}"><img src="{{ asset(\App\Resource::query()->where("id", "=", $user->resource_id)->first()->filename) }}" class="showUserImages"></a></td>
|
||||
@else
|
||||
<td style="overflow: visible"><a class="showUsers noImages"><img src="{{ asset('/images/icons/eye-dark.svg') }}"><img src="" class="showUserImages"></a></td>
|
||||
@endif
|
||||
@if(auth()->user()->can('user.edit'))
|
||||
<td><a href="{{ route("users.edit", [ "user" => $user->id ]) }}"><img class="w-100" src="{{ asset('/images/icons/pencil-dark.svg') }}" alt="Update"></a></td>
|
||||
@endif
|
||||
@if(auth()->user()->can('user.delete'))
|
||||
<td><form method="post" action="{{ route("users.destroy", [ "user" => $user ]) }}" class="w-100 nostyle">
|
||||
@csrf
|
||||
@method("delete")
|
||||
|
||||
<button class="w-100 nostyle" onclick="return confirm('Are you sure you want to delete?');" type="submit"><img class="w-100 cursor-pointer" src="{{ asset('/images/icons/trashcan-dark.svg') }}" alt="Delete"></button>
|
||||
</form>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
{{ $users->links() }}
|
||||
|
||||
<script>
|
||||
var url = new URL(window.location.href);
|
||||
var page = url.searchParams.get("page");
|
||||
|
||||
$('#search').on('keyup', function () {
|
||||
$value = $(this).val();
|
||||
$checkboxValue = $( "input:checked" ).val();
|
||||
$.ajax({
|
||||
type: 'get',
|
||||
url: '{{route('users.search')}}',
|
||||
data: {'search':$value, 'isCheck': $checkboxValue, 'page': page },
|
||||
success:function (data) {
|
||||
$('tbody').html(data);
|
||||
},
|
||||
error:function (data) {
|
||||
console.log(data);
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
var $box;
|
||||
$("input:checkbox").on('click', function() {
|
||||
$box = $(this);
|
||||
if ($box.is(":checked")) {
|
||||
var group = "input:checkbox[name='" + $box.attr("name") + "']";
|
||||
$(group).prop("checked", false);
|
||||
$box.prop("checked", true);
|
||||
} else {
|
||||
$box.prop("checked", false);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//Show hide search filter
|
||||
$('#showHideCheckbox').hide();
|
||||
$('#showHideCheckboxs').hide();
|
||||
$("#filterButton").click(function(){
|
||||
$('#showHideCheckbox').toggle();
|
||||
$('#showHideCheckboxs').toggle();
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
|
||||
@section('scripts')
|
||||
<script>
|
||||
$(document).ready( function () {
|
||||
$('#table_id').DataTable({
|
||||
columnDefs: [
|
||||
{ orderable: false, targets: [-1, -2, -3] }
|
||||
]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
Reference in New Issue
Block a user