mirror of
https://github.com/prurigro/hypothetical.git
synced 2024-11-26 17:01:25 -05:00
200 lines
9.2 KiB
PHP
200 lines
9.2 KiB
PHP
@extends('dashboard.core')
|
|
|
|
@section('dashboard-heading')
|
|
@if($export && count($rows) > 0)
|
|
<a href="/dashboard/export/{{ $model }}"><button type="button" class="btn btn-secondary">Export</button></a>
|
|
@endif
|
|
|
|
@if($create)
|
|
<a href="/dashboard/edit/{{ $model }}/new" class="new-button btn btn-secondary">New</a>
|
|
@endif
|
|
@endsection
|
|
|
|
@section('dashboard-body')
|
|
<div id="edit-list-wrapper">
|
|
<input type="hidden" id="token" value="{{ csrf_token() }}" />
|
|
|
|
@if(count($paramdisplay))
|
|
@foreach($paramdisplay as $param)
|
|
<div>Showing {{ $heading }} with a {{ $param['title'] }} of "{{ $param['value'] }}"</div>
|
|
@endforeach
|
|
@endif
|
|
|
|
@if($filter)
|
|
@if(!$paginate)
|
|
@if(count($rows) > 0)
|
|
<input id="filter-input" class="search" placeholder="Filter" />
|
|
@endif
|
|
@else
|
|
<form
|
|
id="search-form"
|
|
class="search-form"
|
|
data-url="{{ url()->current() }}">
|
|
|
|
<input
|
|
class="search-form-input search"
|
|
placeholder="Search"
|
|
value="{{ request()->query('search') }}"
|
|
/>
|
|
|
|
<input
|
|
type="submit"
|
|
class="search-form-submit"
|
|
value="Search"
|
|
/>
|
|
</form>
|
|
@endif
|
|
@endif
|
|
|
|
@if($paginate && $rows->lastPage() !== 1)
|
|
<div class="pagination-navigation-bar">
|
|
<a
|
|
class="pagination-navigation-bar-arrow prev btn btn-primary {{ $rows->onFirstPage() ? 'btn-disabled' : '' }}"
|
|
href="/dashboard/edit/{{ $model }}?page={{ $rows->onFirstPage() ? 1 : $rows->currentPage() - 1 }}{{ $query !== '' ? ('&' . $query) : '' }}">
|
|
|
|
Previous Page
|
|
</a>
|
|
|
|
<div class="pagination-navigation-bar-page-count">
|
|
@php
|
|
$pages_around = 2;
|
|
$start_page = $rows->currentPage() - $pages_around;
|
|
@endphp
|
|
|
|
@if($start_page < 1)
|
|
@php
|
|
$start_page = 1;
|
|
@endphp
|
|
@elseif($start_page + $pages_around > $rows->lastPage())
|
|
@php
|
|
$start_page = $rows->lastPage() - $pages_around;
|
|
@endphp
|
|
@endif
|
|
|
|
@if($start_page > 1)
|
|
<a
|
|
class="pagination-navigation-bar-pages-number btn btn-outline space"
|
|
href="/dashboard/edit/{{ $model }}?page=1{{ $query !== '' ? ('&' . $query) : '' }}">
|
|
|
|
1
|
|
</a>
|
|
@endif
|
|
|
|
@for($page = $start_page; $page < $start_page + 1 + $pages_around * 2; $page++)
|
|
@if($page === $rows->currentPage())
|
|
<div class="pagination-navigation-bar-pages-number btn btn-inactive">{{ $page }}</div>
|
|
@elseif($page <= $rows->lastPage())
|
|
<a
|
|
class="pagination-navigation-bar-pages-number btn btn-outline"
|
|
href="/dashboard/edit/{{ $model }}?page={{ $page }}{{ $query !== '' ? ('&' . $query) : '' }}">
|
|
|
|
{{ $page }}
|
|
</a>
|
|
@endif
|
|
@endfor
|
|
|
|
@if($start_page + $pages_around * 2 < $rows->lastPage())
|
|
<a
|
|
class="pagination-navigation-bar-pages-number btn btn-outline space"
|
|
href="/dashboard/edit/{{ $model }}?page={{ $rows->lastPage() }}{{ $query !== '' ? ('&' . $query) : '' }}">
|
|
|
|
{{ $rows->lastPage() }}
|
|
</a>
|
|
@endif
|
|
</div>
|
|
|
|
<a
|
|
class="pagination-navigation-bar-arrow next btn btn-primary {{ $rows->hasMorePages() ? '' : 'btn-disabled' }}"
|
|
href="/dashboard/edit/{{ $model }}?page={{ $rows->hasMorePages() ? $rows->currentPage() + 1 : $rows->currentPage() }}{{ $query !== '' ? ('&' . $query) : '' }}">
|
|
|
|
Next Page
|
|
</a>
|
|
</div>
|
|
@endif
|
|
|
|
@if(request()->query('search', null) != null && count($rows) == 0)
|
|
<div class="help-text text-center">No Matching {{ $heading }} Found</div>
|
|
@else
|
|
<ul id="edit-list" class="list-group edit-list list" data-model="{{ $model }}" {{ $sortcol != false ? "data-sort=$sortcol" : '' }}>
|
|
@foreach($rows as $row)
|
|
<li class="list-group-item {{ $sortcol != false ? 'sortable' : '' }}" data-id="{{ $row['id'] }}">
|
|
<div class="title-column">
|
|
@if($sortcol != false)
|
|
<div class="sort-icon" title="Click and drag to reorder">
|
|
<div class="sort-icon-inner">
|
|
<div class="sort-icon-inner-bar"></div>
|
|
<div class="sort-icon-inner-bar"></div>
|
|
<div class="sort-icon-inner-bar"></div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
|
|
@foreach($display as $index => $display_column)
|
|
@php
|
|
$name = null;
|
|
$type = null;
|
|
|
|
foreach ($columns as $column) {
|
|
if ($column['name'] == $display_column) {
|
|
$name = $column['name'];
|
|
$type = $column['type'];
|
|
$ext = array_key_exists('ext', $column) ? $column['ext'] : $row::$default_image_ext;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ($type == 'image') {
|
|
$image = $row->getUploadsPath('image') . $row->id . "-$name.$ext";
|
|
$thumbnail = $row->getUploadsPath('thumb') . $row->id . "-$name.$ext";
|
|
|
|
if (!file_exists(public_path($image))) {
|
|
$image = null;
|
|
$thumbnail = null;
|
|
} else if (!file_exists(public_path($thumbnail))) {
|
|
$thumbnail = $image;
|
|
}
|
|
}
|
|
@endphp
|
|
|
|
@if($name != null && $type != null && ($row[$display_column] != '' || ($type == 'image' && $thumbnail !== null)))
|
|
<div class="column">
|
|
@if($type == 'image')
|
|
<a
|
|
class="image-preview"
|
|
href="{{ $image }}"
|
|
target="_blank"
|
|
style="background-image: url({{ $thumbnail }})">
|
|
</a>
|
|
@else
|
|
{{ $row[$display_column] }}
|
|
@endif
|
|
</div>
|
|
|
|
@if($index < count($display) - 1)
|
|
<div class="spacer">|</div>
|
|
@endif
|
|
@endif
|
|
@endforeach
|
|
</div>
|
|
|
|
<div class="button-column">
|
|
@if(!empty($button))
|
|
<button type="button" class="action-button btn btn-secondary" data-confirmation="{{ $button[1] }}" data-success="{{ $button[2] }}" data-error="{{ $button[3] }}" data-url="{{ $button[4] }}">{{ $button[0] }}</button>
|
|
@endif
|
|
|
|
@if(!empty($idlink))
|
|
<a class="btn btn-secondary" href="{{ $idlink[1] }}{{ $row['id'] }}">{{ $idlink[0] }}</a>
|
|
@endif
|
|
|
|
<a class="edit-button btn btn-warning" href="/dashboard/edit/{{ $model }}/{{ $row['id'] }}">Edit</a>
|
|
|
|
@if($delete)
|
|
<button type="button" class="delete-button btn btn-danger">Delete</button>
|
|
@endif
|
|
</div>
|
|
</li>
|
|
@endforeach
|
|
</ul>
|
|
@endif
|
|
</div>
|
|
@endsection
|