153 lines
6.5 KiB
PHP
153 lines
6.5 KiB
PHP
@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">×</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')…">@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
|