staffmanager/resources/views/vendor/log-viewer/bootstrap-3/logs.blade.php

153 lines
6.5 KiB
PHP
Raw Normal View History

@extends('log-viewer::bootstrap-3._master')
<?php /** @var Illuminate\Pagination\LengthAwarePaginator $rows */ ?>
@section('content')
<h1 class="page-header">@lang('Logs')</h1>
{{ $rows->render() }}
<div class="table-responsive">
<table class="table table-condensed table-hover table-stats">
<thead>
<tr>
@foreach($headers as $key => $header)
<th class="{{ $key == 'date' ? 'text-left' : 'text-center' }}">
@if ($key == 'date')
<span class="label label-info">{{ $header }}</span>
@else
<span class="level level-{{ $key }}">
{{ log_styler()->icon($key) }} {{ $header }}
</span>
@endif
</th>
@endforeach
<th class="text-right">@lang('Actions')</th>
</tr>
</thead>
<tbody>
@forelse($rows as $date => $row)
<tr>
@foreach($row as $key => $value)
<td class="{{ $key == 'date' ? 'text-left' : 'text-center' }}">
@if ($key == 'date')
<span class="label label-primary">{{ $value }}</span>
@elseif ($value == 0)
<span class="level level-empty">{{ $value }}</span>
@else
<a href="{{ route('log-viewer::logs.filter', [$date, $key]) }}">
<span class="level level-{{ $key }}">{{ $value }}</span>
</a>
@endif
</td>
@endforeach
<td class="text-right">
<a href="{{ route('log-viewer::logs.show', [$date]) }}" class="btn btn-xs btn-info">
<i class="fa fa-search"></i>
</a>
<a href="{{ route('log-viewer::logs.download', [$date]) }}" class="btn btn-xs btn-success">
<i class="fa fa-download"></i>
</a>
<a href="#delete-log-modal" class="btn btn-xs btn-danger" data-log-date="{{ $date }}">
<i class="fa fa-trash-o"></i>
</a>
</td>
</tr>
@empty
<tr>
<td colspan="11" class="text-center">
<span class="label label-default">{{ trans('log-viewer::general.empty-logs') }}</span>
</td>
</tr>
@endforelse
</tbody>
</table>
</div>
{{ $rows->render() }}
@endsection
@section('modals')
{{-- DELETE MODAL --}}
<div id="delete-log-modal" class="modal fade">
<div class="modal-dialog">
<form id="delete-log-form" action="{{ route('log-viewer::logs.delete') }}" method="POST">
<input type="hidden" name="_method" value="DELETE">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="hidden" name="date" value="">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title">@lang('Delete log file')</h4>
</div>
<div class="modal-body">
<p></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-sm btn-default pull-left" data-dismiss="modal">@lang('Cancel')</button>
<button type="submit" class="btn btn-sm btn-danger" data-loading-text="@lang('Loading')&hellip;">@lang('Delete')</button>
</div>
</div>
</form>
</div>
</div>
@endsection
@section('scripts')
<script>
$(function () {
var deleteLogModal = $('div#delete-log-modal'),
deleteLogForm = $('form#delete-log-form'),
submitBtn = deleteLogForm.find('button[type=submit]');
$("a[href=#delete-log-modal]").on('click', function(event) {
event.preventDefault();
var date = $(this).data('log-date'),
message = "@lang('Are you sure you want to DELETE this log file: :date ?')";
deleteLogForm.find('input[name=date]').val(date);
deleteLogModal.find('.modal-body p').html(message.replace(':date', date));
deleteLogModal.modal('show');
});
deleteLogForm.on('submit', function(event) {
event.preventDefault();
submitBtn.button('loading');
$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
dataType: 'json',
data: $(this).serialize(),
success: function(data) {
submitBtn.button('reset');
if (data.result === 'success') {
deleteLogModal.modal('hide');
location.reload();
}
else {
alert('AJAX ERROR ! Check the console !');
console.error(data);
}
},
error: function(xhr, textStatus, errorThrown) {
alert('AJAX ERROR ! Check the console !');
console.error(errorThrown);
submitBtn.button('reset');
}
});
return false;
});
deleteLogModal.on('hidden.bs.modal', function() {
deleteLogForm.find('input[name=date]').val('');
deleteLogModal.find('.modal-body p').html('');
});
});
</script>
@endsection