mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-11-23 06:49:43 +08:00
Added pagination to books page
This commit is contained in:
parent
ab6f6a5522
commit
e5b9be2e76
|
@ -40,7 +40,7 @@ class BookController extends Controller
|
|||
*/
|
||||
public function index()
|
||||
{
|
||||
$books = $this->bookRepo->getAll();
|
||||
$books = $this->bookRepo->getAllPaginated(10);
|
||||
return view('books/index', ['books' => $books]);
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ class BookRepo
|
|||
|
||||
/**
|
||||
* BookRepo constructor.
|
||||
* @param Book $book
|
||||
* @param Book $book
|
||||
* @param PageRepo $pageRepo
|
||||
*/
|
||||
public function __construct(Book $book, PageRepo $pageRepo)
|
||||
|
@ -30,6 +30,16 @@ class BookRepo
|
|||
return $this->book->all();
|
||||
}
|
||||
|
||||
/**
|
||||
* Getas
|
||||
* @param int $count
|
||||
* @return mixed
|
||||
*/
|
||||
public function getAllPaginated($count = 10)
|
||||
{
|
||||
return $this->book->orderBy('name', 'asc')->paginate($count);
|
||||
}
|
||||
|
||||
public function getBySlug($slug)
|
||||
{
|
||||
return $this->book->where('slug', '=', $slug)->first();
|
||||
|
@ -63,11 +73,11 @@ class BookRepo
|
|||
public function destroyBySlug($bookSlug)
|
||||
{
|
||||
$book = $this->getBySlug($bookSlug);
|
||||
foreach($book->pages as $page) {
|
||||
foreach ($book->pages as $page) {
|
||||
\Activity::removeEntity($page);
|
||||
$page->delete();
|
||||
}
|
||||
foreach($book->chapters as $chapter) {
|
||||
foreach ($book->chapters as $chapter) {
|
||||
\Activity::removeEntity($chapter);
|
||||
$chapter->delete();
|
||||
}
|
||||
|
@ -83,7 +93,7 @@ class BookRepo
|
|||
public function doesSlugExist($slug, $currentId = false)
|
||||
{
|
||||
$query = $this->book->where('slug', '=', $slug);
|
||||
if($currentId) {
|
||||
if ($currentId) {
|
||||
$query = $query->where('id', '!=', $currentId);
|
||||
}
|
||||
return $query->count() > 0;
|
||||
|
@ -94,7 +104,7 @@ class BookRepo
|
|||
$originalSlug = Str::slug($name);
|
||||
$slug = $originalSlug;
|
||||
$count = 2;
|
||||
while($this->doesSlugExist($slug, $currentId)) {
|
||||
while ($this->doesSlugExist($slug, $currentId)) {
|
||||
$slug = $originalSlug . '-' . $count;
|
||||
$count++;
|
||||
}
|
||||
|
|
|
@ -214,4 +214,42 @@
|
|||
.left + .right {
|
||||
margin-left: 30px + $-s;
|
||||
}
|
||||
}
|
||||
|
||||
ul.pagination {
|
||||
display: inline-block;
|
||||
list-style: none;
|
||||
margin: $-m 0;
|
||||
li {
|
||||
float: left;
|
||||
}
|
||||
li:first-child {
|
||||
a, span {
|
||||
border-radius: 3px 0 0 3px;
|
||||
}
|
||||
}
|
||||
li:last-child {
|
||||
a, span {
|
||||
border-radius: 0 3px 3px 0;
|
||||
}
|
||||
}
|
||||
a, span {
|
||||
display: block;
|
||||
padding: $-xxs $-s;
|
||||
border: 1px solid #CCC;
|
||||
margin-left: -1px;
|
||||
color: #888;
|
||||
user-select: none;
|
||||
&.disabled {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
li.active span {
|
||||
background-color: rgba($primary, 0.8);
|
||||
color: #EEE;
|
||||
border-color: rgba($primary, 0.8);
|
||||
}
|
||||
a {
|
||||
color: $primary;
|
||||
}
|
||||
}
|
|
@ -27,6 +27,7 @@
|
|||
@include('books/list-item', ['book' => $book])
|
||||
<hr>
|
||||
@endforeach
|
||||
{!! $books->render() !!}
|
||||
@else
|
||||
<p class="text-muted">No books have been created.</p>
|
||||
<a href="/books/create" class="text-pos"><i class="zmdi zmdi-edit"></i>Create one now</a>
|
||||
|
|
Loading…
Reference in New Issue
Block a user