Report page search and filter modified
This commit is contained in:
@ -3,18 +3,56 @@
|
||||
'method' => 'GET',
|
||||
'route' => ['reports.show', $class->model->id],
|
||||
'role' => 'form',
|
||||
'class' => 'mb-0'
|
||||
]) !!}
|
||||
@php
|
||||
$filters = [];
|
||||
|
||||
<div id="items" class="float-left">
|
||||
@if(isset($class->filters['years']))
|
||||
{!! Form::select('year', $class->filters['years'], request('year', $class->year), ['class' => 'form-control form-control-sm d-inline-block w-auto']) !!}
|
||||
@php unset($class->filters['years']) @endphp
|
||||
@endif
|
||||
@foreach($class->filters as $name => $values)
|
||||
{!! Form::select($name . '[]', $values, request($name), ['id' => 'filter-' . $name, 'class' => 'form-control form-control-sm d-inline-block w-auto']) !!}
|
||||
@endforeach
|
||||
{!! Form::button(trans('general.filter'), ['type' => 'submit', 'class' => 'btn btn-sm btn-secondary']) !!}
|
||||
foreach ($class->filters as $filter_name => $filter_values) {
|
||||
$key = $filter_name;
|
||||
|
||||
if (isset($class->filters['keys']) && !empty($class->filters['keys'][$filter_name])) {
|
||||
$key = $class->filters['keys'][$filter_name];
|
||||
} else if ($key == 'years') {
|
||||
$key = 'year';
|
||||
} else {
|
||||
$key = Str::singular($key) . '_id';
|
||||
}
|
||||
|
||||
$value = '';
|
||||
|
||||
if (isset($class->filters['names']) && !empty($class->filters['names'][$filter_name])) {
|
||||
$value = $class->filters['names'][$filter_name];
|
||||
} else if (trans('reports.' . $filter_name) != 'reports.' . $filter_name) {
|
||||
$value = (strpos(trans('reports.' . $filter_name), '|') !== false) ? trans_choice('reports.' . $filter_name, 2) : trans('reports.' . $filter_name);
|
||||
} else {
|
||||
$value = (strpos(trans('general.' . $filter_name), '|') !== false) ? trans_choice('general.' . $filter_name, 2) : trans('general.' . $filter_name);
|
||||
}
|
||||
|
||||
$type = 'select';
|
||||
|
||||
if (isset($class->filters['types']) && !empty($class->filters['types'][$filter_name])) {
|
||||
$type = $class->filters['types'][$filter_name];
|
||||
}
|
||||
|
||||
$url = '';
|
||||
|
||||
if (isset($class->filters['urls']) && !empty($class->filters['urls'][$filter_name])) {
|
||||
$url = $class->filters['urls'][$filter_name];
|
||||
}
|
||||
|
||||
$filters[] = [
|
||||
'key' => $key,
|
||||
'value' => $value,
|
||||
'type' => $type,
|
||||
'url' => $url,
|
||||
'values' => $filter_values,
|
||||
];
|
||||
}
|
||||
@endphp
|
||||
|
||||
<div class="align-items-center">
|
||||
<x-search-string :filters="$filters" />
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
|
@ -13,3 +13,7 @@
|
||||
@include($class->views['content'])
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts_start')
|
||||
<script src="{{ asset('public/js/common/reports.js?v=' . version('short')) }}"></script>
|
||||
@endpush
|
||||
|
Reference in New Issue
Block a user