| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- @extends('vendor.log-viewer.remark.layouts')
- <?php
- /** @var Illuminate\Pagination\LengthAwarePaginator $rows */
- ?>
- @section('content')
- <div class="page-header">
- <h1>@lang('Logs')</h1>
- </div>
- <div class="table-responsive">
- <table class="table table-hover">
- <thead>
- <tr>
- @foreach ($headers as $key => $header)
- <th class="{{ $key == 'date' ? 'text-left' : 'text-center' }}" scope="col">
- @if ($key == 'date')
- <strong>{{ $header }}</strong>
- @else
- <strong class="badge badge-level-{{ $key }}">
- {{ log_styler()->icon($key) }} {{ $header }}
- </strong>
- @endif
- </th>
- @endforeach
- <th class="text-right" scope="col">@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')
- <strong>{{ $value }}</strong>
- @elseif ($value == 0)
- @else
- <a href="{{ route('log-viewer::logs.filter', [$date, $key]) }}">
- <span class="badge badge-level-{{ $key }}">{{ $value }}</span>
- </a>
- @endif
- </td>
- @endforeach
- <td class="text-right">
- <a class="btn btn-sm btn-info" href="{{ route('log-viewer::logs.show', [$date]) }}">
- <i class="fa-solid fa-magnifying-glass"></i>
- </a>
- <a class="btn btn-sm btn-success" href="{{ route('log-viewer::logs.download', [$date]) }}">
- <i class="fa-solid fa-download"></i>
- </a>
- <button class="btn btn-sm btn-danger" data-target="#deleteLogModal" data-toggle="modal" data-log-date="{{ $date }}"
- type="button">
- <i class="fa-solid fa-trash"></i> @lang('Delete')
- </button>
- </td>
- </tr>
- @empty
- <tr>
- <td class="text-center" colspan="11">
- <span class="badge badge-secondary">@lang('The list of logs is empty!')</span>
- </td>
- </tr>
- @endforelse
- </tbody>
- </table>
- </div>
- {{ $rows->render() }}
- @endsection
- @section('modals')
- {{-- DELETE MODAL --}}
- <div class="modal fade" id="deleteLogModal" role="dialog" aria-hidden="true" aria-labelledby="deleteLogModal" tabindex="-1">
- <div class="modal-dialog modal-simple modal-center">
- <form class="modal-content" id="deleteLogForm" action="{{ route('log-viewer::logs.delete') }}" method="POST">
- <div class="modal-header">
- <button class="close" data-dismiss="modal" type="button" aria-label="{{ trans('common.close') }}">
- <span aria-hidden="true">×</span>
- </button>
- <h4 class="modal-title">@lang('Delete log file')</h4>
- </div>
- <div class="modal-body">
- <input name="_method" type="hidden" value="DELETE">@csrf
- <input name="date" type="hidden" value="">
- <p></p>
- </div>
- <div class="modal-footer">
- <button class="btn btn-secondary mr-auto" data-dismiss="modal" type="button">@lang('Cancel')</button>
- <button class="btn btn-danger" data-loading-text="@lang('Loading')…" type="submit">@lang('Delete')</button>
- </div>
- </form>
- </div>
- </div>
- @endsection
- @section('javascript')
- <script>
- $(function() {
- const deleteLogModal = $('div#deleteLogModal'),
- deleteLogForm = $('form#deleteLogForm'),
- submitBtn = deleteLogForm.find('button[type=submit]');
- $('button[data-target=\'#deleteLogModal\']').on('click', function(event) {
- event.preventDefault();
- const date = $(this).data('log-date'),
- message = "{{ __('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
|