akaunting 3.0 (the last dance)
This commit is contained in:
@ -1,112 +0,0 @@
|
||||
<div class="accordion" id="notification-exports">
|
||||
<div class="card">
|
||||
<div class="card-header" id="heading-exports" data-toggle="collapse" data-target="#collapse-exports"
|
||||
aria-expanded="false" aria-controls="collapse-exports">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-12">
|
||||
<h3 class="mb-0">
|
||||
{{ trans('general.export') }}
|
||||
|
||||
@if ($notifications->total())
|
||||
<button type="button" class="btn btn-outline-success rounded-circle btn-icon-only btn-sm ml-2 d-none"
|
||||
data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="{{ trans('notifications.mark_read_all') }}"
|
||||
wire:click="markReadAll()"
|
||||
>
|
||||
<span class="btn-inner--icon"><i class="fas fa-check-double"></i></span>
|
||||
</button>
|
||||
@endif
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="collapse-exports" class="collapse" aria-labelledby="heading-exports" data-parent="#notification-exports">
|
||||
@if ($notifications->total())
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush table-hover" id="tbl-export">
|
||||
<tbody>
|
||||
@foreach ($notifications as $notification)
|
||||
<tr class="row align-items-center border-top-1">
|
||||
<td class="col-xs-8 col-sm-10 col-md-10 col-lg-11 col-xl-11 text-left text-wrap">
|
||||
@if (empty($notification->message))
|
||||
{!! trans('notifications.messages.export', [
|
||||
'type' => $notification->translation,
|
||||
'file_name' => $notification->file_name,
|
||||
'url' => $notification->download_url
|
||||
]) !!}
|
||||
@else
|
||||
{!! $notification->message !!}
|
||||
@endif
|
||||
</td>
|
||||
|
||||
<td class="col-xs-4 col-sm-2 col-md-2 col-lg-1 col-xl-1 text-center">
|
||||
<button type="button" class="btn btn-outline-success rounded-circle btn-icon-only btn-sm"
|
||||
data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="{{ trans('notifications.mark_read') }}"
|
||||
wire:click="markRead('{{ $notification->notification_id }}')"
|
||||
>
|
||||
<span class="btn-inner--icon"><i class="fa fa-check"></i></span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@if ($notifications->total() > 5)
|
||||
<div class="card-footer table-action">
|
||||
<div class="row">
|
||||
@if ($notifications->count())
|
||||
<div class="col-xs-12 col-sm-5 d-flex align-items-center">
|
||||
{!! Form::select('limit', ['5' => '5'], request('limit', 5), ['class' => 'disabled form-control form-control-sm d-inline-block w-auto d-none d-md-block', 'disabled' => 'disabled']) !!}
|
||||
<span class="table-text d-none d-lg-block ml-2">
|
||||
{{ trans('pagination.page') }}
|
||||
{{ trans('pagination.showing', ['first' => $notifications->firstItem(), 'last' => $notifications->lastItem(), 'total' => $notifications->total()]) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-7 pagination-xs">
|
||||
<nav class="float-right">
|
||||
{!! $notifications->withPath(request()->url())->withQueryString()->links() !!}
|
||||
</nav>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-xs-12 col-sm-12" id="datatable-basic_info" role="status" aria-live="polite">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@else
|
||||
<div class="col-xs-12 col-sm-12 mt-4 mb-4 text-center">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('body_js')
|
||||
<script type="text/javascript">
|
||||
window.addEventListener('mark-read', event => {
|
||||
if (event.detail.type == 'export') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('mark-read-all', event => {
|
||||
if (event.detail.type == 'export') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
@ -1,113 +0,0 @@
|
||||
<div class="accordion" id="notification-imports">
|
||||
<div class="card">
|
||||
<div class="card-header" id="heading-imports" data-toggle="collapse" data-target="#collapse-imports"
|
||||
aria-expanded="false" aria-controls="collapse-imports">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-12">
|
||||
<h3 class="mb-0">
|
||||
{{ trans('import.import') }}
|
||||
|
||||
@if ($notifications->total())
|
||||
<button type="button" class="btn btn-outline-success rounded-circle btn-icon-only btn-sm mr-2 d-none"
|
||||
data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="{{ trans('notifications.mark_read_all') }}"
|
||||
wire:click="markReadAll()"
|
||||
>
|
||||
<span class="btn-inner--icon"><i class="fas fa-check-double"></i></span>
|
||||
</button>
|
||||
@endif
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="collapse-imports" class="collapse" aria-labelledby="heading-imports" data-parent="#notification-imports">
|
||||
@if ($notifications->total())
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush table-hover" id="tbl-import">
|
||||
<tbody>
|
||||
@foreach ($notifications as $notification)
|
||||
<tr class="row align-items-center border-top-1">
|
||||
<td class="col-xs-8 col-sm-10 col-md-10 col-lg-11 col-xl-11 text-left text-wrap">
|
||||
@if (empty($notification->errors))
|
||||
{!! trans('notifications.messages.import', [
|
||||
'type' => $notification->translation,
|
||||
'count' => $notification->total_rows
|
||||
]) !!}
|
||||
@else
|
||||
@foreach ($notification->errors as $error)
|
||||
{!! $error !!}
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
|
||||
<td class="col-xs-4 col-sm-2 col-md-2 col-lg-1 col-xl-1 text-center">
|
||||
<button type="button" class="btn btn-outline-success rounded-circle btn-icon-only btn-sm"
|
||||
data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="{{ trans('notifications.mark_read') }}"
|
||||
wire:click="markRead('{{ $notification->notification_id }}')"
|
||||
>
|
||||
<span class="btn-inner--icon"><i class="fa fa-check"></i></span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@if ($notifications->total() > 5)
|
||||
<div class="card-footer table-action">
|
||||
<div class="row">
|
||||
@if ($notifications->count())
|
||||
<div class="col-xs-12 col-sm-5 d-flex align-items-center">
|
||||
{!! Form::select('limit', ['5' => '5'], request('limit', 5), ['class' => 'disabled form-control form-control-sm d-inline-block w-auto d-none d-md-block', 'disabled' => 'disabled']) !!}
|
||||
<span class="table-text d-none d-lg-block ml-2">
|
||||
{{ trans('pagination.page') }}
|
||||
{{ trans('pagination.showing', ['first' => $notifications->firstItem(), 'last' => $notifications->lastItem(), 'total' => $notifications->total()]) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-7 pagination-xs">
|
||||
<nav class="float-right">
|
||||
{!! $notifications->withPath(request()->url())->withQueryString()->links() !!}
|
||||
</nav>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-xs-12 col-sm-12" id="datatable-basic_info" role="status" aria-live="polite">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@else
|
||||
<div class="col-xs-12 col-sm-12 mt-4 mb-4 text-center">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('body_js')
|
||||
<script type="text/javascript">
|
||||
window.addEventListener('mark-read', event => {
|
||||
if (event.detail.type == 'import') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('mark-read-all', event => {
|
||||
if (event.detail.type == 'import') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
@ -1,76 +0,0 @@
|
||||
<div class="accordion" id="notification-new-apps">
|
||||
<div class="card">
|
||||
<div class="card-header" id="heading-new-apps" data-toggle="collapse" data-target="#collapse-new-apps"
|
||||
aria-expanded="{{ ($notifications) ? 'true' : 'false' }}" aria-controls="collapse-new-apps">
|
||||
<div class="align-items-center">
|
||||
<h3 class="mb-0">
|
||||
{{ trans_choice('notifications.new_apps', 2) }}
|
||||
|
||||
@if ($notifications)
|
||||
<button type="button" class="btn btn-outline-success rounded-circle btn-icon-only btn-sm ml-2 d-none"
|
||||
data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="{{ trans('notifications.mark_read_all') }}"
|
||||
wire:click="markReadAll()"
|
||||
>
|
||||
<span class="btn-inner--icon"><i class="fas fa-check-double"></i></span>
|
||||
</button>
|
||||
@endif
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="collapse-new-apps" class="collapse{{ ($notifications) ? ' show' : '' }}" aria-labelledby="heading-new-apps" data-parent="#notification-new-apps">
|
||||
@if ($notifications)
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush table-hover" id="tbl-export">
|
||||
<tbody>
|
||||
@foreach ($notifications as $notification)
|
||||
<tr class="row align-items-center border-top-1">
|
||||
<td class="col-xs-8 col-sm-10 col-md-10 col-lg-11 col-xl-11 text-left text-wrap">
|
||||
{!! $notification->message !!}
|
||||
</td>
|
||||
|
||||
<td class="col-xs-4 col-sm-2 col-md-2 col-lg-1 col-xl-1 text-center">
|
||||
<button type="button" class="btn btn-outline-success rounded-circle btn-icon-only btn-sm"
|
||||
data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="{{ trans('notifications.mark_read') }}"
|
||||
wire:click="markRead('{{ $notification->alias }}')"
|
||||
>
|
||||
<span class="btn-inner--icon"><i class="fa fa-check"></i></span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-xs-12 col-sm-12 mt-4 mb-4 text-center">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('body_js')
|
||||
<script type="text/javascript">
|
||||
window.addEventListener('mark-read', event => {
|
||||
if (event.detail.type == 'new-apps') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('mark-read-all', event => {
|
||||
if (event.detail.type == 'new-apps') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
@ -1,256 +0,0 @@
|
||||
<div class="accordion" id="notification-recurring-{{$type}}">
|
||||
<div class="card">
|
||||
<div class="card-header" id="heading-recurring-{{$type}}" data-toggle="collapse" data-target="#collapse-recurring-{{$type}}"
|
||||
aria-expanded="false" aria-controls="collapse-recurring-{{$type}}">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-12">
|
||||
<h3 class="mb-0">
|
||||
{{ trans($textTitle) }}
|
||||
|
||||
@if ($notifications->total())
|
||||
<button type="button" class="btn btn-outline-success rounded-circle btn-icon-only btn-sm mr-2 d-none"
|
||||
data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="{{ trans('notifications.mark_read_all') }}"
|
||||
wire:click="markReadAll()"
|
||||
>
|
||||
<span class="btn-inner--icon"><i class="fas fa-check-double"></i></span>
|
||||
</button>
|
||||
@endif
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="collapse-recurring-{{$type}}" class="collapse" aria-labelledby="heading-recurring-{{$type}}" data-parent="#notification-recurring-{{$type}}">
|
||||
@if ($notifications->total())
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush table-hover" id="tbl-recurring-{{ $type }}">
|
||||
<thead class="thead-light">
|
||||
<tr class="row table-head-line">
|
||||
@stack('document_number_th_start')
|
||||
@if (!$hideDocumentNumber)
|
||||
<th class="{{ $classDocumentNumber }}">
|
||||
@stack('document_number_th_inside_start')
|
||||
|
||||
{{ trans_choice($textDocumentNumber, 1) }}
|
||||
|
||||
@stack('document_number_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('document_number_th_end')
|
||||
|
||||
@stack('contact_name_th_start')
|
||||
@if (!$hideContactName)
|
||||
<th class="{{ $classContactName }}">
|
||||
@stack('contact_name_th_inside_start')
|
||||
|
||||
{{ trans_choice($textContactName, 1) }}
|
||||
|
||||
@stack('contact_name_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('contact_name_th_end')
|
||||
|
||||
@stack('amount_th_start')
|
||||
@if (!$hideAmount)
|
||||
<th class="{{ $classAmount }}">
|
||||
@stack('amount_th_inside_start')
|
||||
|
||||
{{ trans('general.amount') }}
|
||||
|
||||
@stack('amount_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('amount_th_end')
|
||||
|
||||
@stack('issued_at_th_start')
|
||||
@if (!$hideIssuedAt)
|
||||
<th class="{{ $classIssuedAt }}">
|
||||
@stack('issued_at_th_inside_start')
|
||||
|
||||
{{ trans($textIssuedAt) }}
|
||||
|
||||
@stack('issued_at_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('issued_at_th_end')
|
||||
|
||||
@stack('due_at_th_start')
|
||||
@if (!$hideDueAt)
|
||||
<th class="{{ $classDueAt }}">
|
||||
@stack('due_at_th_inside_start')
|
||||
|
||||
{{ trans($textDueAt) }}
|
||||
|
||||
@stack('due_at_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('due_at_th_end')
|
||||
|
||||
@stack('status_th_start')
|
||||
@if (!$hideStatus)
|
||||
<th class="{{ $classStatus }}">
|
||||
@stack('status_th_inside_start')
|
||||
|
||||
{{ trans_choice('general.statuses', 1) }}
|
||||
|
||||
@stack('status_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('status_th_end')
|
||||
|
||||
@if (!$hideActions)
|
||||
<th class="{{ $classActions }}">
|
||||
<a>{{ trans_choice('notifications.reads', 1) }}</a>
|
||||
</th>
|
||||
@endif
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($notifications as $item)
|
||||
<tr class="row align-items-center border-top-1">
|
||||
@stack('document_number_td_start')
|
||||
@if (!$hideDocumentNumber)
|
||||
<td class="{{ $classDocumentNumber }}">
|
||||
@stack('document_number_td_inside_start')
|
||||
|
||||
<a href="{{ route($routeButtonShow , $item->id) }}" target="_blank">{{ $item->document_number }}</a>
|
||||
|
||||
@stack('document_number_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('document_number_td_end')
|
||||
|
||||
@stack('contact_name_td_start')
|
||||
@if (!$hideContactName)
|
||||
<td class="{{ $classContactName }}">
|
||||
@stack('contact_name_td_inside_start')
|
||||
|
||||
{{ $item->contact_name }}
|
||||
|
||||
@stack('contact_name_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('contact_name_td_end')
|
||||
|
||||
@stack('amount_td_start')
|
||||
@if (!$hideAmount)
|
||||
<td class="{{ $classAmount }}">
|
||||
@stack('amount_td_inside_start')
|
||||
|
||||
@money($item->amount, $item->currency_code, true)
|
||||
|
||||
@stack('amount_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('amount_td_end')
|
||||
|
||||
@stack('issued_at_td_start')
|
||||
@if (!$hideIssuedAt)
|
||||
<td class="{{ $classIssuedAt }}">
|
||||
@stack('issued_at_td_inside_start')
|
||||
|
||||
@date($item->issued_at)
|
||||
|
||||
@stack('issued_at_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('issued_at_td_end')
|
||||
|
||||
@stack('due_at_td_start')
|
||||
@if (!$hideDueAt)
|
||||
<td class="{{ $classDueAt }}">
|
||||
@stack('due_at_td_inside_start')
|
||||
|
||||
@date($item->due_at)
|
||||
|
||||
@stack('due_at_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('due_at_td_end')
|
||||
|
||||
@stack('status_td_start')
|
||||
@if (!$hideStatus)
|
||||
<td class="{{ $classStatus }}">
|
||||
@stack('status_td_inside_start')
|
||||
|
||||
<span class="badge badge-pill badge-{{ $item->status_label }}">{{ trans($textDocumentStatus . $item->status) }}</span>
|
||||
|
||||
@stack('status_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('status_td_end')
|
||||
|
||||
@if (!$hideActions)
|
||||
<td class="{{ $classActions }}">
|
||||
<button type="button" class="btn btn-outline-success rounded-circle btn-icon-only btn-sm"
|
||||
data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="{{ trans('notifications.mark_read') }}"
|
||||
wire:click="markRead('{{ $item->notification_id }}')"
|
||||
>
|
||||
<span class="btn-inner--icon"><i class="fa fa-check"></i></span>
|
||||
</button>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@if ($notifications->total() > 5)
|
||||
<div class="card-footer table-action">
|
||||
<div class="row">
|
||||
@if ($notifications->count())
|
||||
<div class="col-xs-12 col-sm-5 d-flex align-items-center">
|
||||
{!! Form::select('limit', ['5' => '5'], request('limit', 5), ['class' => 'disabled form-control form-control-sm d-inline-block w-auto d-none d-md-block', 'disabled' => 'disabled']) !!}
|
||||
<span class="table-text d-none d-lg-block ml-2">
|
||||
{{ trans('pagination.page') }}
|
||||
{{ trans('pagination.showing', ['first' => $notifications->firstItem(), 'last' => $notifications->lastItem(), 'total' => $notifications->total()]) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-7 pagination-xs">
|
||||
<nav class="float-right">
|
||||
{!! $notifications->withPath(request()->url())->withQueryString()->links() !!}
|
||||
</nav>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-xs-12 col-sm-12" id="datatable-basic_info" role="status" aria-live="polite">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@else
|
||||
<div class="col-xs-12 col-sm-12 mt-4 mb-4 text-center">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('body_js')
|
||||
<script type="text/javascript">
|
||||
window.addEventListener('mark-read', event => {
|
||||
if (event.detail.type == 'recurring-{{ $type }}') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('mark-read-all', event => {
|
||||
if (event.detail.type == 'recurring-{{ $type }}') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
@ -1,256 +0,0 @@
|
||||
<div class="accordion" id="notification-reminder-{{$type}}">
|
||||
<div class="card">
|
||||
<div class="card-header" id="heading-reminder-{{$type}}" data-toggle="collapse" data-target="#collapse-reminder-{{$type}}"
|
||||
aria-expanded="false" aria-controls="collapse-reminder-{{$type}}">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-12">
|
||||
<h3 class="mb-0">
|
||||
{{ trans($textTitle) }}
|
||||
|
||||
@if ($notifications->total())
|
||||
<button type="button" class="btn btn-outline-success rounded-circle btn-icon-only btn-sm mr-2 d-none"
|
||||
data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="{{ trans('notifications.mark_read_all') }}"
|
||||
wire:click="markReadAll()"
|
||||
>
|
||||
<span class="btn-inner--icon"><i class="fas fa-check-double"></i></span>
|
||||
</button>
|
||||
@endif
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="collapse-reminder-{{$type}}" class="collapse" aria-labelledby="heading-reminder-{{$type}}" data-parent="#notification-reminder-{{$type}}">
|
||||
@if ($notifications->total())
|
||||
<div class="table-responsive">
|
||||
<table class="table table-flush table-hover" id="tbl-reminder-{{ $type }}">
|
||||
<thead class="thead-light">
|
||||
<tr class="row table-head-line">
|
||||
@stack('document_number_th_start')
|
||||
@if (!$hideDocumentNumber)
|
||||
<th class="{{ $classDocumentNumber }}">
|
||||
@stack('document_number_th_inside_start')
|
||||
|
||||
{{ trans_choice($textDocumentNumber, 1) }}
|
||||
|
||||
@stack('document_number_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('document_number_th_end')
|
||||
|
||||
@stack('contact_name_th_start')
|
||||
@if (!$hideContactName)
|
||||
<th class="{{ $classContactName }}">
|
||||
@stack('contact_name_th_inside_start')
|
||||
|
||||
{{ trans_choice($textContactName, 1) }}
|
||||
|
||||
@stack('contact_name_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('contact_name_th_end')
|
||||
|
||||
@stack('amount_th_start')
|
||||
@if (!$hideAmount)
|
||||
<th class="{{ $classAmount }}">
|
||||
@stack('amount_th_inside_start')
|
||||
|
||||
{{ trans('general.amount') }}
|
||||
|
||||
@stack('amount_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('amount_th_end')
|
||||
|
||||
@stack('issued_at_th_start')
|
||||
@if (!$hideIssuedAt)
|
||||
<th class="{{ $classIssuedAt }}">
|
||||
@stack('issued_at_th_inside_start')
|
||||
|
||||
{{ trans($textIssuedAt) }}
|
||||
|
||||
@stack('issued_at_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('issued_at_th_end')
|
||||
|
||||
@stack('due_at_th_start')
|
||||
@if (!$hideDueAt)
|
||||
<th class="{{ $classDueAt }}">
|
||||
@stack('due_at_th_inside_start')
|
||||
|
||||
{{ trans($textDueAt) }}
|
||||
|
||||
@stack('due_at_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('due_at_th_end')
|
||||
|
||||
@stack('status_th_start')
|
||||
@if (!$hideStatus)
|
||||
<th class="{{ $classStatus }}">
|
||||
@stack('status_th_inside_start')
|
||||
|
||||
{{ trans_choice('general.statuses', 1) }}
|
||||
|
||||
@stack('status_th_inside_end')
|
||||
</th>
|
||||
@endif
|
||||
@stack('status_th_end')
|
||||
|
||||
@if (!$hideActions)
|
||||
<th class="{{ $classActions }}">
|
||||
<a>{{ trans_choice('notifications.reads', 1) }}</a>
|
||||
</th>
|
||||
@endif
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($notifications as $item)
|
||||
<tr class="row align-items-center border-top-1">
|
||||
@stack('document_number_td_start')
|
||||
@if (!$hideDocumentNumber)
|
||||
<td class="{{ $classDocumentNumber }}">
|
||||
@stack('document_number_td_inside_start')
|
||||
|
||||
<a href="{{ route($routeButtonShow , $item->id) }}" target="_blank">{{ $item->document_number }}</a>
|
||||
|
||||
@stack('document_number_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('document_number_td_end')
|
||||
|
||||
@stack('contact_name_td_start')
|
||||
@if (!$hideContactName)
|
||||
<td class="{{ $classContactName }}">
|
||||
@stack('contact_name_td_inside_start')
|
||||
|
||||
{{ $item->contact_name }}
|
||||
|
||||
@stack('contact_name_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('contact_name_td_end')
|
||||
|
||||
@stack('amount_td_start')
|
||||
@if (!$hideAmount)
|
||||
<td class="{{ $classAmount }}">
|
||||
@stack('amount_td_inside_start')
|
||||
|
||||
@money($item->amount, $item->currency_code, true)
|
||||
|
||||
@stack('amount_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('amount_td_end')
|
||||
|
||||
@stack('issued_at_td_start')
|
||||
@if (!$hideIssuedAt)
|
||||
<td class="{{ $classIssuedAt }}">
|
||||
@stack('issued_at_td_inside_start')
|
||||
|
||||
@date($item->issued_at)
|
||||
|
||||
@stack('issued_at_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('issued_at_td_end')
|
||||
|
||||
@stack('due_at_td_start')
|
||||
@if (!$hideDueAt)
|
||||
<td class="{{ $classDueAt }}">
|
||||
@stack('due_at_td_inside_start')
|
||||
|
||||
@date($item->due_at)
|
||||
|
||||
@stack('due_at_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('due_at_td_end')
|
||||
|
||||
@stack('status_td_start')
|
||||
@if (!$hideStatus)
|
||||
<td class="{{ $classStatus }}">
|
||||
@stack('status_td_inside_start')
|
||||
|
||||
<span class="badge badge-pill badge-{{ $item->status_label }}">{{ trans($textDocumentStatus . $item->status) }}</span>
|
||||
|
||||
@stack('status_td_inside_end')
|
||||
</td>
|
||||
@endif
|
||||
@stack('status_td_end')
|
||||
|
||||
@if (!$hideActions)
|
||||
<td class="{{ $classActions }}">
|
||||
<button type="button" class="btn btn-outline-success rounded-circle btn-icon-only btn-sm"
|
||||
data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="{{ trans('notifications.mark_read') }}"
|
||||
wire:click="markRead('{{ $item->notification_id }}')"
|
||||
>
|
||||
<span class="btn-inner--icon"><i class="fa fa-check"></i></span>
|
||||
</button>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@if ($notifications->total() > 5)
|
||||
<div class="card-footer table-action">
|
||||
<div class="row">
|
||||
@if ($notifications->count())
|
||||
<div class="col-xs-12 col-sm-5 d-flex align-items-center">
|
||||
{!! Form::select('limit', ['5' => '5'], request('limit', 5), ['class' => 'disabled form-control form-control-sm d-inline-block w-auto d-none d-md-block', 'disabled' => 'disabled']) !!}
|
||||
<span class="table-text d-none d-lg-block ml-2">
|
||||
{{ trans('pagination.page') }}
|
||||
{{ trans('pagination.showing', ['first' => $notifications->firstItem(), 'last' => $notifications->lastItem(), 'total' => $notifications->total()]) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-7 pagination-xs">
|
||||
<nav class="float-right">
|
||||
{!! $notifications->withPath(request()->url())->withQueryString()->links() !!}
|
||||
</nav>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-xs-12 col-sm-12" id="datatable-basic_info" role="status" aria-live="polite">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@else
|
||||
<div class="col-xs-12 col-sm-12 mt-4 mb-4 text-center">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('body_js')
|
||||
<script type="text/javascript">
|
||||
window.addEventListener('mark-read', event => {
|
||||
if (event.detail.type == 'reminder-{{ $type }}') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('mark-read-all', event => {
|
||||
if (event.detail.type == 'reminder-{{ $type }}') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
@ -2,17 +2,19 @@
|
||||
<div class="form-group mb-0 mr-sm-3">
|
||||
<div class="input-group input-group-alternative input-group-merge">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text"><i class="fa fa-search"></i></span>
|
||||
<span class="input-group-text">
|
||||
<span class="material-icons">search</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<input type="text" name="search" wire:model.debounce.500ms="keyword" class="form-control" autocomplete="off" placeholder="{{ trans('general.search') }}">
|
||||
<input type="text" name="search" wire:model.debounce.500ms="keyword" class="form-element" autocomplete="off" placeholder="{{ trans('general.search') }}">
|
||||
|
||||
@if($results)
|
||||
@if ($results)
|
||||
<div class="dropdown-menu dropdown-menu-xl dropdown-menu-center show" ref="menu">
|
||||
<div class="list-group list-group-flush">
|
||||
@foreach($results as $result)
|
||||
<a class="list-group-item list-group-item-action" href="{{ $result->href }}">
|
||||
<div class="row align-items-center">
|
||||
<div class="items-center">
|
||||
<div class="col ml--2">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
@ -35,7 +37,7 @@
|
||||
|
||||
@push('scripts_end')
|
||||
<script type="text/javascript">
|
||||
$(window).click(function() {
|
||||
window.addEventListener('click', function() {
|
||||
if (Livewire.components.getComponentsByName('common.search')[0].data.results.length > 0) {
|
||||
Livewire.emit('resetKeyword');
|
||||
}
|
||||
|
11
resources/views/livewire/menu/favorite.blade.php
Normal file
11
resources/views/livewire/menu/favorite.blade.php
Normal file
@ -0,0 +1,11 @@
|
||||
<x-tooltip id="favorite" placement="right" message="{{ ($favorited) ? trans('header.favorite.added_favorite') : trans('header.favorite.add_favorite') }}">
|
||||
<span
|
||||
id="{{ $favorited ? 'remove-from-favorite' : 'add-to-favorite' }}"
|
||||
@class([
|
||||
'flex items-center text-purple text-2xl ltr:ml-2 rtl:mr-2 lg:mt-2 cursor-pointer',
|
||||
'material-icons-outlined' => ($favorited) ? false : true,
|
||||
'material-icons' => (! $favorited) ? false : true,
|
||||
])
|
||||
wire:click="changeStatus()"
|
||||
>grade</span>
|
||||
</x-tooltip>
|
20
resources/views/livewire/menu/favorites.blade.php
Normal file
20
resources/views/livewire/menu/favorites.blade.php
Normal file
@ -0,0 +1,20 @@
|
||||
<div class="flex flex-col items-center justify-center">
|
||||
<div class="w-8 h-8 mb-2.5"></div>
|
||||
|
||||
@foreach ($favorites as $favorite)
|
||||
<x-tooltip id="{{ $favorite['title'] }}" placement="right" message="{{ $favorite['title'] }}">
|
||||
<a href="{{ $favorite['url'] }}" class="w-8 h-8 flex items-center justify-center mb-2.5">
|
||||
<span
|
||||
id="{{ $favorite['id'] }}"
|
||||
@class([
|
||||
'material-icons-outlined' => ! $favorite['active'],
|
||||
'material-icons' => $favorite['active'],
|
||||
'text-purple cursor-pointer',
|
||||
])
|
||||
>
|
||||
{{ $favorite['icon'] }}
|
||||
</span>
|
||||
</a>
|
||||
</x-tooltip>
|
||||
@endforeach
|
||||
</div>
|
15
resources/views/livewire/menu/neww.blade.php
Normal file
15
resources/views/livewire/menu/neww.blade.php
Normal file
@ -0,0 +1,15 @@
|
||||
<div wire:click.stop id="menu-neww">
|
||||
<input type="text" name="neww_keyword" wire:model.debounce.500ms="keyword" placeholder="{{ trans('general.search_placeholder') }}" class="border-t-0 border-l-0 border-r-0 border-b border-gray-300 bg-transparent text-gray-500 text-sm mb-3 focus:outline-none focus:ring-transparent focus:border-purple placeholder-light-gray js-search-action">
|
||||
|
||||
{!! menu('neww') !!}
|
||||
</div>
|
||||
|
||||
@push('scripts_end')
|
||||
<script type="text/javascript">
|
||||
window.addEventListener('click', function() {
|
||||
if (Livewire.components.getComponentsByName('menu.neww')[0].data.neww.length > 0) {
|
||||
Livewire.emit('resetKeyword');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
78
resources/views/livewire/menu/notifications.blade.php
Normal file
78
resources/views/livewire/menu/notifications.blade.php
Normal file
@ -0,0 +1,78 @@
|
||||
<div wire:click.stop id="menu-notifications">
|
||||
<input type="text" name="notification_keyword" wire:model.debounce.500ms="keyword" placeholder="{{ trans('general.search_placeholder') }}" class="border-t-0 border-l-0 border-r-0 border-b border-gray-300 bg-transparent text-gray-500 text-sm mb-3 focus:outline-none focus:ring-transparent focus:border-purple placeholder-light-gray js-search-action">
|
||||
|
||||
@if ($notifications)
|
||||
<div class="flex justify-end mt-1">
|
||||
<x-tooltip id="notification-all" placement="right" message="Mark as All Read">
|
||||
<button type="button" wire:click="markReadAll()">
|
||||
<span id="menu-notification-read-all" class="material-icons text-lg text-purple">done_all</span>
|
||||
</button>
|
||||
</x-tooltip>
|
||||
</div>
|
||||
|
||||
<ul class="flex flex-col justify-center">
|
||||
@foreach ($notifications as $notification)
|
||||
@if (empty($notification->data['title']) && empty($notification->data['description']))
|
||||
@continue
|
||||
@endif
|
||||
|
||||
<li class="mb-5 border-b pb-2">
|
||||
<div class="flex items-start justify-between font-medium text-sm text-purple mb-1">
|
||||
<div class="flex flex-col">
|
||||
{!! $notification->data['title'] !!}
|
||||
<span class="text-gray-500" style="font-size: 10px;">{{ \Carbon\Carbon::createFromTimeStamp(strtotime($notification->created_at))->diffForHumans() }}</span>
|
||||
</div>
|
||||
|
||||
@if ($notification->type != 'updates')
|
||||
<button type="button" wire:click="markRead('{{ $notification->id }}')">
|
||||
<span id="menu-notification-mark-read" class="material-icons text-lg text-purple">check_circle_outline</span>
|
||||
</button>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="lex items-end justify-between">
|
||||
<p class="text-black text-sm">
|
||||
{!! $notification->data['description'] !!}
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@else
|
||||
<ul class="flex flex-col justify-center">
|
||||
<li class="text-sm mb-5">
|
||||
<div class="flex items-start">
|
||||
<p class="text-black">
|
||||
{{ trans('notifications.empty') }}
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@push('scripts_end')
|
||||
<script type="text/javascript">
|
||||
window.addEventListener('click', function() {
|
||||
if (Livewire.components.getComponentsByName('menu.notifications')[0].data.notifications.length > 0) {
|
||||
Livewire.emit('resetKeyword');
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('mark-read', event => {
|
||||
if (event.detail.type == 'notifications') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('mark-read-all', event => {
|
||||
if (event.detail.type == 'notifications') {
|
||||
$.notify(event.detail.message, {
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
9
resources/views/livewire/menu/profile.blade.php
Normal file
9
resources/views/livewire/menu/profile.blade.php
Normal file
@ -0,0 +1,9 @@
|
||||
<div id="menu-profile">
|
||||
{!! menu('profile') !!}
|
||||
</div>
|
||||
|
||||
@push('scripts_start')
|
||||
<script type="text/javascript">
|
||||
var is_profile_menu = {{ $active_menu }};
|
||||
</script>
|
||||
@endpush
|
21
resources/views/livewire/menu/settings.blade.php
Normal file
21
resources/views/livewire/menu/settings.blade.php
Normal file
@ -0,0 +1,21 @@
|
||||
<div wire:click.stop id="menu-settings">
|
||||
<input type="text" name="settings_keyword" wire:model.debounce.500ms="keyword" placeholder="{{ trans('general.search_placeholder') }}" class="border-t-0 border-l-0 border-r-0 border-b border-gray-300 bg-transparent text-gray-500 text-sm mb-3 focus:outline-none focus:ring-transparent focus:border-purple placeholder-light-gray js-search-action">
|
||||
|
||||
{!! menu('settings') !!}
|
||||
</div>
|
||||
|
||||
@push('scripts_start')
|
||||
<script type="text/javascript">
|
||||
var is_settings_menu = {{ $active_menu }};
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@push('scripts_end')
|
||||
<script type="text/javascript">
|
||||
window.addEventListener('click', function() {
|
||||
if (Livewire.components.getComponentsByName('menu.settings')[0].data.settings.length > 0) {
|
||||
Livewire.emit('resetKeyword');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
24
resources/views/livewire/report/pin.blade.php
Normal file
24
resources/views/livewire/report/pin.blade.php
Normal file
@ -0,0 +1,24 @@
|
||||
<button class="ltr:mr-4 rtl:m-4" data-tooltip-target="{{ $reportId }}-pin" data-tooltip-placement="bottom">
|
||||
<span
|
||||
id="{{ $pinned ? 'reports-unpin-' . $reportId : 'reports-pin-' . $reportId }}"
|
||||
@class([
|
||||
'text-purple text-lg transform rotate-45 cursor-pointer mx-2',
|
||||
'material-icons-outlined' => ($pinned) ? false : true,
|
||||
'material-icons' => (! $pinned) ? false : true,
|
||||
])
|
||||
wire:click="changeStatus('{{ $reportId }}')"
|
||||
>push_pin
|
||||
</span>
|
||||
|
||||
@if ($pinned)
|
||||
<div id="{{ $reportId }}-pin" role="tooltip" class="inline-block absolute invisible z-20 py-1 px-2 text-sm font-medium text-gray-900 bg-white rounded-lg border border-gray-200 shadow-sm whitespace-nowrap opacity-0 tooltip-content">
|
||||
{{ trans('reports.pin_text.unpin_report') }}
|
||||
<div class="absolute w-2 h-2 -top-1 before:content-[' '] before:absolute before:w-2 before:h-2 before:bg-white before:border-gray-200 before:transform before:rotate-45 before:border before:border-b-0 before:border-r-0" data-popper-arrow></div>
|
||||
</div>
|
||||
@else
|
||||
<div id="{{ $reportId }}-pin" role="tooltip" class="inline-block absolute invisible z-20 py-1 px-2 text-sm font-medium text-gray-900 bg-white rounded-lg border border-gray-200 shadow-sm whitespace-nowrap opacity-0 tooltip-content">
|
||||
{{ trans('reports.pin_text.pin_report') }}
|
||||
<div class="absolute w-2 h-2 -top-1 before:content-[' '] before:absolute before:w-2 before:h-2 before:bg-white before:border-gray-200 before:transform before:rotate-45 before:border before:border-b-0 before:border-r-0" data-popper-arrow></div>
|
||||
</div>
|
||||
@endif
|
||||
</button>
|
29
resources/views/livewire/report/pins.blade.php
Normal file
29
resources/views/livewire/report/pins.blade.php
Normal file
@ -0,0 +1,29 @@
|
||||
<div class="flex flex-wrap lg:flex-nowrap items-center justify-between my-16">
|
||||
@foreach ($reports as $report)
|
||||
<a href="{{ route('reports.show', $report->id) }}"
|
||||
@class([
|
||||
'w-6/12 lg:w-2/12 text-center px-3 group',
|
||||
'border-r border-gray-300' => ($loop->count == 6 && $loop->last) ? false : true,
|
||||
])
|
||||
>
|
||||
<span class="material-icons-outlined text-4xl transition-all">{{ $icons[$report->id] }}</span>
|
||||
<div class="h-10 font-medium text-sm mt-2">
|
||||
<span class="border-b border-transparent transition-all group-hover:border-black">
|
||||
{{ $report->name }}
|
||||
</span>
|
||||
</div>
|
||||
</a>
|
||||
@endforeach
|
||||
|
||||
@for ($i = 6; $i > $reports->count(); $i--)
|
||||
<div
|
||||
@class([
|
||||
'w-6/12 lg:w-2/12 text-center opacity-20 px-3',
|
||||
'border-r border-gray-300' => ($i-1 == $reports->count()) ? false : true,
|
||||
])
|
||||
>
|
||||
<span class="material-icons-outlined text-4xl transform rotate-45">push_pin</span>
|
||||
<div class="h-10 font-medium text-sm mt-2">{{ trans('reports.pin') }}</div>
|
||||
</div>
|
||||
@endfor
|
||||
</div>
|
Reference in New Issue
Block a user