Skip to content
This repository was archived by the owner on Jun 9, 2024. It is now read-only.

Commit 4607dc1

Browse files
committed
Merge pull request #1 from arandilopez/master
Pagination for MaterializeCSS
2 parents be7022b + f4b9b6d commit 4607dc1

7 files changed

+126
-0
lines changed

src/Materialize.php

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php namespace Landish\Pagination;
2+
3+
4+
class Materialize extends Pagination {
5+
6+
/**
7+
* Available page wrapper HTML.
8+
*
9+
* @var string
10+
*/
11+
protected $availablePageWrapper = '<li class="waves-effect"><a href="%s">%s</a></li>';
12+
13+
/**
14+
* Get active page wrapper HTML.
15+
*
16+
* @var string
17+
*/
18+
protected $activePageWrapper = '<li class="active"><a href="#!">%s</a></li>';
19+
20+
/**
21+
* Get disabled page wrapper HTML.
22+
*
23+
* @var string
24+
*/
25+
protected $disabledPageWrapper = '<li class="disabled"><a href="#!">%s</a></li>';
26+
27+
/**
28+
* Previous button text.
29+
*
30+
* @var string
31+
*/
32+
protected $previousButtonText = '<i class="mdi-navigation-chevron-left"></i>';
33+
34+
/**
35+
* Next button text.
36+
*
37+
* @var string
38+
*/
39+
protected $nextButtonText = '<i class="mdi-navigation-chevron-right"></i>';
40+
41+
}

tests/MaterializePaginationTest.php

+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
<?php
2+
3+
/**
4+
* Materialize Pagination Test
5+
*/
6+
use Illuminate\Pagination\LengthAwarePaginator;
7+
use Landish\Pagination\Materialize as MaterializePresenter;
8+
9+
class MaterializePaginationTest extends PHPUnit_Framework_TestCase
10+
{
11+
protected $array = [];
12+
protected $dir;
13+
protected $presenter;
14+
15+
public function __construct() {
16+
17+
parent::__construct();
18+
19+
for ($i = 1; $i <= 13; $i++) {
20+
$this->array[$i] = 'item'.$i;
21+
}
22+
23+
$this->dir = __DIR__.'/fixtures/materialize/';
24+
}
25+
26+
public function testMaterializePresenterCanGenerateLinksForSlider()
27+
{
28+
$p = new LengthAwarePaginator($this->array, count($this->array), 1, 7);
29+
$presenter = new MaterializePresenter($p);
30+
31+
$this->assertEquals(
32+
trim(file_get_contents($this->dir.'slider.html')),
33+
$presenter->render()
34+
);
35+
}
36+
37+
public function testMaterializePresenterCanGenerateLinksForTooCloseToBegining()
38+
{
39+
$p = new LengthAwarePaginator($this->array, count($this->array), 1, 2);
40+
$presenter = new MaterializePresenter($p);
41+
42+
$this->assertEquals(
43+
trim(file_get_contents($this->dir.'beginning.html')),
44+
$presenter->render()
45+
);
46+
}
47+
48+
public function testMaterializePresenterCanGenerateLinksForTooCloseToEnding()
49+
{
50+
$p = new LengthAwarePaginator($this->array, count($this->array), 1, 12);
51+
$presenter = new MaterializePresenter($p);
52+
53+
$this->assertEquals(
54+
trim(file_get_contents($this->dir.'ending.html')),
55+
$presenter->render()
56+
);
57+
}
58+
59+
public function testMaterializePresenterCanGenerateLinksForLastPage()
60+
{
61+
$p = new LengthAwarePaginator($this->array, count($this->array), 1, 13);
62+
$presenter = new MaterializePresenter($p);
63+
64+
$this->assertEquals(
65+
trim(file_get_contents($this->dir.'last_page.html')),
66+
$presenter->render()
67+
);
68+
}
69+
70+
public function testMaterializePresenterCanGenerateLinksForFirstPage()
71+
{
72+
$p = new LengthAwarePaginator($this->array, count($this->array), 1, 1);
73+
$presenter = new MaterializePresenter($p);
74+
75+
$this->assertEquals(
76+
trim(file_get_contents($this->dir.'first_page.html')),
77+
$presenter->render()
78+
);
79+
}
80+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<ul class="pagination"><li class="waves-effect"><a href="/?page=1"><i class="mdi-navigation-chevron-left"></i></a></li> <li class="waves-effect"><a href="/?page=1">1</a></li><li class="active"><a href="#!">2</a></li><li class="waves-effect"><a href="/?page=3">3</a></li><li class="waves-effect"><a href="/?page=4">4</a></li><li class="waves-effect"><a href="/?page=5">5</a></li><li class="waves-effect"><a href="/?page=6">6</a></li><li class="waves-effect"><a href="/?page=7">7</a></li><li class="waves-effect"><a href="/?page=8">8</a></li><li class="disabled"><a href="#!">...</a></li><li class="waves-effect"><a href="/?page=12">12</a></li><li class="waves-effect"><a href="/?page=13">13</a></li> <li class="waves-effect"><a href="/?page=3"><i class="mdi-navigation-chevron-right"></i></a></li></ul>
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<ul class="pagination"><li class="waves-effect"><a href="/?page=11"><i class="mdi-navigation-chevron-left"></i></a></li> <li class="waves-effect"><a href="/?page=1">1</a></li><li class="waves-effect"><a href="/?page=2">2</a></li><li class="disabled"><a href="#!">...</a></li><li class="waves-effect"><a href="/?page=5">5</a></li><li class="waves-effect"><a href="/?page=6">6</a></li><li class="waves-effect"><a href="/?page=7">7</a></li><li class="waves-effect"><a href="/?page=8">8</a></li><li class="waves-effect"><a href="/?page=9">9</a></li><li class="waves-effect"><a href="/?page=10">10</a></li><li class="waves-effect"><a href="/?page=11">11</a></li><li class="active"><a href="#!">12</a></li><li class="waves-effect"><a href="/?page=13">13</a></li> <li class="waves-effect"><a href="/?page=13"><i class="mdi-navigation-chevron-right"></i></a></li></ul>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<ul class="pagination"><li class="disabled"><a href="#!"><i class="mdi-navigation-chevron-left"></i></a></li> <li class="active"><a href="#!">1</a></li><li class="waves-effect"><a href="/?page=2">2</a></li><li class="waves-effect"><a href="/?page=3">3</a></li><li class="waves-effect"><a href="/?page=4">4</a></li><li class="waves-effect"><a href="/?page=5">5</a></li><li class="waves-effect"><a href="/?page=6">6</a></li><li class="waves-effect"><a href="/?page=7">7</a></li><li class="waves-effect"><a href="/?page=8">8</a></li><li class="disabled"><a href="#!">...</a></li><li class="waves-effect"><a href="/?page=12">12</a></li><li class="waves-effect"><a href="/?page=13">13</a></li> <li class="waves-effect"><a href="/?page=2"><i class="mdi-navigation-chevron-right"></i></a></li></ul>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<ul class="pagination"><li class="waves-effect"><a href="/?page=12"><i class="mdi-navigation-chevron-left"></i></a></li> <li class="waves-effect"><a href="/?page=1">1</a></li><li class="waves-effect"><a href="/?page=2">2</a></li><li class="disabled"><a href="#!">...</a></li><li class="waves-effect"><a href="/?page=5">5</a></li><li class="waves-effect"><a href="/?page=6">6</a></li><li class="waves-effect"><a href="/?page=7">7</a></li><li class="waves-effect"><a href="/?page=8">8</a></li><li class="waves-effect"><a href="/?page=9">9</a></li><li class="waves-effect"><a href="/?page=10">10</a></li><li class="waves-effect"><a href="/?page=11">11</a></li><li class="waves-effect"><a href="/?page=12">12</a></li><li class="active"><a href="#!">13</a></li> <li class="disabled"><a href="#!"><i class="mdi-navigation-chevron-right"></i></a></li></ul>
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<ul class="pagination"><li class="waves-effect"><a href="/?page=6"><i class="mdi-navigation-chevron-left"></i></a></li> <li class="waves-effect"><a href="/?page=1">1</a></li><li class="waves-effect"><a href="/?page=2">2</a></li><li class="disabled"><a href="#!">...</a></li><li class="waves-effect"><a href="/?page=4">4</a></li><li class="waves-effect"><a href="/?page=5">5</a></li><li class="waves-effect"><a href="/?page=6">6</a></li><li class="active"><a href="#!">7</a></li><li class="waves-effect"><a href="/?page=8">8</a></li><li class="waves-effect"><a href="/?page=9">9</a></li><li class="waves-effect"><a href="/?page=10">10</a></li><li class="disabled"><a href="#!">...</a></li><li class="waves-effect"><a href="/?page=12">12</a></li><li class="waves-effect"><a href="/?page=13">13</a></li> <li class="waves-effect"><a href="/?page=8"><i class="mdi-navigation-chevron-right"></i></a></li></ul>

0 commit comments

Comments
 (0)