pagy 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/pagy.rb +1 -1
- data/lib/pagy/backend.rb +1 -1
- data/lib/pagy/frontend.rb +13 -13
- data/lib/templates/bootstrap.html.erb +40 -0
- data/lib/templates/bootstrap.html.haml +35 -0
- data/lib/templates/bootstrap.html.slim +36 -0
- data/lib/templates/default.html.erb +39 -0
- data/lib/templates/default.html.haml +32 -0
- data/lib/templates/default.html.slim +30 -0
- metadata +8 -10
- data/lib/templates/bootstrap-no-dep.html.haml +0 -28
- data/lib/templates/bootstrap-no-dep.html.slim +0 -37
- data/lib/templates/bootstrap-rails-dep.html.erb +0 -46
- data/lib/templates/default-no-dep.html.haml +0 -31
- data/lib/templates/default-no-dep.html.slim +0 -30
- data/lib/templates/default-rails-dep.html.erb +0 -32
- data/lib/templates/default-rails-dep.html.haml +0 -24
- data/lib/templates/default-rails-dep.html.slim +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0479a6de6806589108454c59ca39a6446ee0d339c5b111c19eddb69fcd9a4285'
|
4
|
+
data.tar.gz: 26bf5f952a06f4f874ec489adb337207b1b7664a3be70f95440656b55dcbb189
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7cee6202f84b11adff3f04edffb9a367bb881f391a9f7635e191ebef9231d10d94628f98ef11cdda279a79808003e90689d47881158ea26443319745dac470e
|
7
|
+
data.tar.gz: 410ce77476e24ec9f8069b4723824f69ec1f8966ddcc0e2989a79acfc56def0a53ef7b20383c393fbdaad32d93c503d7136b819d8503587a242c387fd062d73a
|
data/lib/pagy.rb
CHANGED
@@ -7,7 +7,7 @@ require 'ostruct'
|
|
7
7
|
# Notice that it doesn't actually do any pagination, nor navigation... that is
|
8
8
|
# done with a few helpers in the Pagy::Backend and Pagy::Frontend modules.
|
9
9
|
|
10
|
-
class Pagy ; VERSION = '0.
|
10
|
+
class Pagy ; VERSION = '0.4.0'
|
11
11
|
|
12
12
|
autoload :Backend, 'pagy/backend'
|
13
13
|
autoload :Frontend, 'pagy/frontend'
|
data/lib/pagy/backend.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
class Pagy
|
2
2
|
# Including this module (usually in your controller) is handy but totally optional.
|
3
|
-
# It basically just encapsulates a couple of verbose
|
3
|
+
# It basically just encapsulates a couple of verbose statements in one single slick
|
4
4
|
# #pagy method, but it does not add any functionality on its own.
|
5
5
|
#
|
6
6
|
# Using the module allows you to have a predefined method and a few sub-methods
|
data/lib/pagy/frontend.rb
CHANGED
@@ -6,7 +6,7 @@ class Pagy
|
|
6
6
|
# allowing fancy routes, etc.)
|
7
7
|
#
|
8
8
|
# All the code has been optimized for speed and low memory usage.
|
9
|
-
# In particular there are a couple of very specialized methods (pagy_t and
|
9
|
+
# In particular there are a couple of very specialized methods (pagy_t and pagy_link_proc)
|
10
10
|
# that can be used in place of the equivalent (but general-purpose) framework helpers,
|
11
11
|
# in order to dramatically boost speed and reduce memory usage.
|
12
12
|
#
|
@@ -15,7 +15,7 @@ class Pagy
|
|
15
15
|
# just to get you (almost) the same string repeated with just the page number replaced.
|
16
16
|
# Since pagination is a very specialized process, it is possible to do the same by using
|
17
17
|
# a one-line proc that uses just one single string interpolation. Compared to the general-purpose
|
18
|
-
# link_to method, the
|
18
|
+
# link_to method, the pagy_link_proc benchmark gives a 20 times faster score and 12 times less memory.
|
19
19
|
#
|
20
20
|
# Notice: The code in this module may not look very pretty (as most code dealing with many long strings),
|
21
21
|
# but its performance makes it very sexy! ;)
|
@@ -29,7 +29,7 @@ class Pagy
|
|
29
29
|
# using the '%' method like in the following example:
|
30
30
|
#
|
31
31
|
# case item
|
32
|
-
# when Integer; '<span class="page">%s</span>' %
|
32
|
+
# when Integer; '<span class="page">%s</span>' % link.call(item)
|
33
33
|
# when String ; '<span class="page active">%s</span>' % item
|
34
34
|
# when :gap ; '<span class="page gap">%s</span>' % pagy_t('pagy.nav.gap')
|
35
35
|
# end
|
@@ -44,18 +44,18 @@ class Pagy
|
|
44
44
|
|
45
45
|
# Generic pagination: it returns the html with the series of links to the pages
|
46
46
|
def pagy_nav(pagy, opts=nil)
|
47
|
-
pagy.opts.merge!(opts) if opts ;
|
47
|
+
pagy.opts.merge!(opts) if opts ; link = pagy_link_proc(pagy) ; tags = [] # init all vars
|
48
48
|
|
49
|
-
tags << (pagy.prev ? %(<span class="page prev">#{
|
49
|
+
tags << (pagy.prev ? %(<span class="page prev">#{link.call pagy.prev, pagy_t('pagy.nav.prev'.freeze), 'aria-label="previous"'.freeze}</span>)
|
50
50
|
: %(<span class="page prev disabled">#{pagy_t('pagy.nav.prev'.freeze)}</span>))
|
51
51
|
pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
52
52
|
tags << case item
|
53
|
-
when Integer; %(<span class="page">#{
|
53
|
+
when Integer; %(<span class="page">#{link.call item}</span>) # page link
|
54
54
|
when String ; %(<span class="page active">#{item}</span>) # current page
|
55
55
|
when :gap ; %(<span class="page gap">#{pagy_t('pagy.nav.gap'.freeze)}</span>) # page gap
|
56
56
|
end
|
57
57
|
end
|
58
|
-
tags << (pagy.next ? %(<span class="page next">#{
|
58
|
+
tags << (pagy.next ? %(<span class="page next">#{link.call pagy.next, pagy_t('pagy.nav.next'.freeze), 'aria-label="next"'.freeze}</span>)
|
59
59
|
: %(<span class="page next disabled">#{pagy_t('pagy.nav.next'.freeze)}</span>))
|
60
60
|
%(<nav class="#{pagy.opts[:class]||'pagination'.freeze}" role="navigation" aria-label="pager">#{tags.join(pagy.opts[:separator]||' '.freeze)}</nav>)
|
61
61
|
end
|
@@ -63,18 +63,18 @@ class Pagy
|
|
63
63
|
|
64
64
|
# Pagination for bootstrap: it returns the html with the series of links to the pages
|
65
65
|
def pagy_nav_bootstrap(pagy, opts=nil)
|
66
|
-
pagy.opts.merge!(opts) if opts ;
|
66
|
+
pagy.opts.merge!(opts) if opts ; link = pagy_link_proc(pagy) ; tags = [] # init all vars
|
67
67
|
|
68
|
-
tags << (pagy.prev ? %(<li class="page-item prev">#{
|
68
|
+
tags << (pagy.prev ? %(<li class="page-item prev">#{link.call pagy.prev, pagy_t('pagy.nav.prev'.freeze), 'class="page-link" aria-label="previous"'.freeze}</li>)
|
69
69
|
: %(<li class="page-item prev disabled"><a href="#" class="page-link">#{pagy_t('pagy.nav.prev'.freeze)}</a></li>))
|
70
70
|
pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
71
71
|
tags << case item
|
72
|
-
when Integer; %(<li class="page-item">#{
|
73
|
-
when String ; %(<li class="page-item active">#{
|
72
|
+
when Integer; %(<li class="page-item">#{link.call item, item, 'class="page-link"'.freeze}</li>) # page link
|
73
|
+
when String ; %(<li class="page-item active">#{link.call item, item, 'class="page-link"'.freeze}</li>) # active page
|
74
74
|
when :gap ; %(<li class="page-item gap disabled"><a href="#" class="page-link">#{pagy_t('pagy.nav.gap'.freeze)}</a></li>) # page gap
|
75
75
|
end
|
76
76
|
end
|
77
|
-
tags << (pagy.next ? %(<li class="page-item next">#{
|
77
|
+
tags << (pagy.next ? %(<li class="page-item next">#{link.call pagy.next, pagy_t('pagy.nav.next'.freeze), 'class="page-link" aria-label="next"'.freeze}</li>)
|
78
78
|
: %(<li class="page-item next disabled"><a href="#" class="page-link">#{pagy_t('pagy.nav.next'.freeze)}</a></li>))
|
79
79
|
%(<nav class="#{pagy.opts[:class]||'pagination'.freeze}" role="navigation" aria-label="pager"><ul class="pagination">#{tags.join}</ul></nav>)
|
80
80
|
end
|
@@ -145,7 +145,7 @@ class Pagy
|
|
145
145
|
|
146
146
|
MARKER = "-pagy-#{'pagy'.hash}-".freeze
|
147
147
|
|
148
|
-
def
|
148
|
+
def pagy_link_proc(pagy)
|
149
149
|
rel = { pagy.prev=>' rel="prev"'.freeze, pagy.next=>' rel="next"'.freeze }
|
150
150
|
a, b = %(<a href="#{pagy_url_for(MARKER)}" #{pagy.opts[:link_extra]}).split(MARKER)
|
151
151
|
-> (n, name=n.to_s, extra=''.freeze) { "#{a}#{n}#{b}#{rel[n]||''.freeze} #{extra}>#{name}</a>"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<%#
|
2
|
+
This template is i18n-ready: if you don't use i18n, then you can replace the pagy_t
|
3
|
+
calls with the actual strings ("‹ Prev", "Next ›", "…").
|
4
|
+
|
5
|
+
This template uses the pagy_link_proc helper for high speed (+20x) and low memory (-12x).
|
6
|
+
Usage: link.call(page_number[, label[,extra_attributes_string]])
|
7
|
+
-%>
|
8
|
+
<% link = pagy_link_proc(pagy) %>
|
9
|
+
|
10
|
+
<nav aria-label="pager" class="pagination" role="navigation">
|
11
|
+
<ul class="pagination">
|
12
|
+
|
13
|
+
<% if pagy.prev -%>
|
14
|
+
<li class="page-item prev"><%== link.call(pagy.prev, pagy_t('pagy.nav.prev'), 'class="page-link" aria-label="previous"') %></li>
|
15
|
+
<% else -%>
|
16
|
+
<li class="page-item prev disabled"><a href="#" class="page-link"><%== pagy_t('pagy.nav.prev') %></a></li>
|
17
|
+
<% end -%>
|
18
|
+
|
19
|
+
<% pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36] -%>
|
20
|
+
<% case item
|
21
|
+
when Integer # page link -%>
|
22
|
+
<li class="page-item"><%== link.call(item, item, 'class="page-link"') %></li>
|
23
|
+
|
24
|
+
<% when String # current page -%>
|
25
|
+
<li class="page-item active"><%== link.call(item, item, 'class="page-link"') %></li>
|
26
|
+
|
27
|
+
<% when :gap # page gap -%>
|
28
|
+
<li class="page-item disabled gap"><a href="#" class="page-link"><%== pagy_t('pagy.nav.gap') %></a></li>
|
29
|
+
|
30
|
+
<% end -%>
|
31
|
+
<% end -%>
|
32
|
+
|
33
|
+
<% if pagy.next -%>
|
34
|
+
<li class="page-item next"><%== link.call(pagy.next, pagy_t('pagy.nav.next'), 'class="page-link" aria-label="next"') %></li>
|
35
|
+
<% else -%>
|
36
|
+
<li class="page-item next disabled"><a href="#" class="page-link"><%== pagy_t('pagy.nav.next') %></a></li>
|
37
|
+
<% end -%>
|
38
|
+
|
39
|
+
</ul>
|
40
|
+
</nav>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
-# This template is i18n-ready: if you don't use i18n, then you can replace the pagy_t
|
2
|
+
-# calls with the actual strings ("‹ Prev", "Next ›", "…").
|
3
|
+
|
4
|
+
-# This template uses the pagy_link_proc helper for high speed (+20x) and low memory (-12x).
|
5
|
+
-# Usage: link.call(page_number[, label[,extra_attributes_string]])
|
6
|
+
|
7
|
+
- link = pagy_link_proc(pagy)
|
8
|
+
|
9
|
+
%nav.pagination{"aria-label" => "pager", :role => "navigation"}
|
10
|
+
|
11
|
+
%ul.pagination
|
12
|
+
|
13
|
+
- if pagy.prev
|
14
|
+
%li.page-item.prev!= link.call(pagy.prev, pagy_t('pagy.nav.prev'), 'class="page-link" aria-label="previous"')
|
15
|
+
- else
|
16
|
+
%li.page-item.prev.disabled
|
17
|
+
%a.page-link{:href => '#'}!= pagy_t('pagy.nav.prev')
|
18
|
+
|
19
|
+
- pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
20
|
+
- case item
|
21
|
+
- when Integer # page link
|
22
|
+
%li.page-item!= link.call(item, item, 'class="page-link"')
|
23
|
+
|
24
|
+
- when String # current page
|
25
|
+
%li.page-item.active!= link.call(item, item, 'class="page-link"')
|
26
|
+
|
27
|
+
- when :gap # page gap
|
28
|
+
%li.page-item.disabled.gap
|
29
|
+
%a.page-link{:href => "#"}!= pagy_t('pagy.nav.gap')
|
30
|
+
|
31
|
+
- if pagy.next
|
32
|
+
%li.page-item.next!= link.call(pagy.next, pagy_t('pagy.nav.next'), 'class="page-link" aria-label="next"')
|
33
|
+
- else
|
34
|
+
%li.page-item.next.disabled
|
35
|
+
%a.page-link{:href => '#'}!= pagy_t('pagy.nav.next')
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/ This template is i18n-ready: if you don't use i18n, then you can replace the pagy_t
|
2
|
+
/ calls with the actual strings ("‹ Prev", "Next ›", "…").
|
3
|
+
|
4
|
+
/ This template uses the pagy_link_proc helper for high speed (+20x) and low memory (-12x).
|
5
|
+
/ Usage: link.call(page_number[, label[,extra_attributes_string]])
|
6
|
+
|
7
|
+
- link = pagy_link_proc(pagy)
|
8
|
+
|
9
|
+
nav.pagination role="navigation" aria-label="pager"
|
10
|
+
|
11
|
+
ul.pagination
|
12
|
+
|
13
|
+
- if pagy.prev
|
14
|
+
li.page-item.prev == link.call(pagy.prev, pagy_t('pagy.nav.prev'), 'class="page-link" aria-label="previous"')
|
15
|
+
- else
|
16
|
+
li.page-item.prev.disabled
|
17
|
+
a.page-link href="#" == pagy_t('pagy.nav.prev')
|
18
|
+
|
19
|
+
- pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
20
|
+
- case item
|
21
|
+
|
22
|
+
- when Integer # page link
|
23
|
+
li.page-item == link.call(item, item, 'class="page-link"')
|
24
|
+
|
25
|
+
- when String # current page
|
26
|
+
li.page-item.active == link.call(item, item, 'class="page-link"')
|
27
|
+
|
28
|
+
- when :gap # page gap
|
29
|
+
li.page-item.disabled.gap
|
30
|
+
a.page-link href="#" == pagy_t('pagy.nav.gap')
|
31
|
+
|
32
|
+
- if pagy.next
|
33
|
+
li.page-item.next == link.call(pagy.next, pagy_t('pagy.nav.next'), 'class="page-link" aria-label="next"')
|
34
|
+
- else
|
35
|
+
li.page-item.next.disabled
|
36
|
+
a.page-link href="#" == pagy_t('pagy.nav.next')
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<%#
|
2
|
+
This template is i18n-ready: if you don't use i18n, then you can replace the pagy_t
|
3
|
+
calls with the actual strings ("‹ Prev", "Next ›", "…").
|
4
|
+
|
5
|
+
This template uses the pagy_link_proc helper for high speed (+20x) and low memory (-12x).
|
6
|
+
Usage: link.call(page_number[, label[,extra_attributes_string]])
|
7
|
+
-%>
|
8
|
+
<% link = pagy_link_proc(pagy) -%>
|
9
|
+
|
10
|
+
<nav aria-label="pager" class="pagination" role="navigation">
|
11
|
+
|
12
|
+
<% if pagy.prev -%>
|
13
|
+
<span class="page prev"><%== link.call(pagy.prev, pagy_t('pagy.nav.prev'), 'aria-label="previous"') %></span>
|
14
|
+
<% else -%>
|
15
|
+
<span class="page prev disabled"><%== pagy_t('pagy.nav.prev') %></span>
|
16
|
+
<% end -%>
|
17
|
+
|
18
|
+
<% pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36] -%>
|
19
|
+
<% case item
|
20
|
+
|
21
|
+
when Integer # page link -%>
|
22
|
+
<span class="page"><%== link.call(item) %></span>
|
23
|
+
|
24
|
+
<% when String # current page -%>
|
25
|
+
<span class="page current"><%= item %></span>
|
26
|
+
|
27
|
+
<% when :gap # page gap -%>
|
28
|
+
<span class="page gap"><%== pagy_t('pagy.nav.gap') %></span>
|
29
|
+
|
30
|
+
<% end -%>
|
31
|
+
<% end -%>
|
32
|
+
|
33
|
+
<% if pagy.next -%>
|
34
|
+
<span class="page next"><%== link.call(pagy.next, pagy_t('pagy.nav.next'), 'aria-label="next"') %></span>
|
35
|
+
<% else -%>
|
36
|
+
<span class="page next disabled"><%== pagy_t('pagy.nav.next') %></span>
|
37
|
+
<% end -%>
|
38
|
+
|
39
|
+
</nav>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
-# This template is i18n-ready: if you don't use i18n, then you can replace the pagy_t
|
2
|
+
-# calls with the actual strings ("‹ Prev", "Next ›", "…").
|
3
|
+
|
4
|
+
-# This template uses the pagy_link_proc helper for high speed (+20x) and low memory (-12x).
|
5
|
+
-# Usage: link.call(page_number[, label[,extra_attributes_string]])
|
6
|
+
|
7
|
+
- link = pagy_link_proc(pagy)
|
8
|
+
|
9
|
+
%nav.pagination{"aria-label" => "pager", :role => "navigation"}
|
10
|
+
|
11
|
+
- if pagy.prev
|
12
|
+
%span.page.prev!= link.call(pagy.prev, pagy_t('pagy.nav.prev'), 'aria-label="previous"')
|
13
|
+
- else
|
14
|
+
%span.page.prev.disabled!= pagy_t('pagy.nav.prev')
|
15
|
+
|
16
|
+
- pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
17
|
+
- case item
|
18
|
+
|
19
|
+
- when Integer # page link
|
20
|
+
%span.page
|
21
|
+
!= link.call(item)
|
22
|
+
|
23
|
+
- when String # current page
|
24
|
+
%span.page.current= item
|
25
|
+
|
26
|
+
- when :gap # page gap
|
27
|
+
%span.page.gap!= pagy_t('pagy.nav.gap')
|
28
|
+
|
29
|
+
- if pagy.next
|
30
|
+
%span.page.next!= link.call(pagy.next, pagy_t('pagy.nav.next'), 'aria-label="next"')
|
31
|
+
- else
|
32
|
+
%span.page.next.disabled!= pagy_t('pagy.nav.next')
|
@@ -0,0 +1,30 @@
|
|
1
|
+
/ This template is i18n-ready: if you don't use i18n, then you can replace the pagy_t
|
2
|
+
/ calls with the actual strings ("‹ Prev", "Next ›", "…").
|
3
|
+
|
4
|
+
/ This template uses the pagy_link_proc helper for high speed (+20x) and low memory (-12x).
|
5
|
+
/ Usage: link.call(page_number[, label[,extra_attributes_string]])
|
6
|
+
|
7
|
+
- link = pagy_link_proc(pagy)
|
8
|
+
|
9
|
+
nav.pagination role="navigation" aria-label="pager"
|
10
|
+
|
11
|
+
- if pagy.prev
|
12
|
+
span.page.prev ==> link.call(pagy.prev, pagy_t('pagy.nav.prev'), 'aria-label="previous"')
|
13
|
+
- else
|
14
|
+
span.page.prev.disabled ==> pagy_t('pagy.nav.prev')
|
15
|
+
|
16
|
+
- pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
17
|
+
- case item
|
18
|
+
- when Integer # page link
|
19
|
+
span.page ==> link.call(item)
|
20
|
+
|
21
|
+
- when String # current page
|
22
|
+
span.page.current ==> item
|
23
|
+
|
24
|
+
- when :gap # page gap
|
25
|
+
span.page.gap ==> pagy_t('pagy.nav.gap')
|
26
|
+
|
27
|
+
- if pagy.next
|
28
|
+
span.page.next == link.call(pagy.next, pagy_t('pagy.nav.next'), 'aria-label="next"')
|
29
|
+
- else
|
30
|
+
span.page.next.disabled == pagy_t('pagy.nav.next')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pagy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Domizio Demichelis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-02-
|
11
|
+
date: 2018-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -137,14 +137,12 @@ files:
|
|
137
137
|
- lib/pagy.rb
|
138
138
|
- lib/pagy/backend.rb
|
139
139
|
- lib/pagy/frontend.rb
|
140
|
-
- lib/templates/bootstrap
|
141
|
-
- lib/templates/bootstrap
|
142
|
-
- lib/templates/bootstrap
|
143
|
-
- lib/templates/default
|
144
|
-
- lib/templates/default
|
145
|
-
- lib/templates/default
|
146
|
-
- lib/templates/default-rails-dep.html.haml
|
147
|
-
- lib/templates/default-rails-dep.html.slim
|
140
|
+
- lib/templates/bootstrap.html.erb
|
141
|
+
- lib/templates/bootstrap.html.haml
|
142
|
+
- lib/templates/bootstrap.html.slim
|
143
|
+
- lib/templates/default.html.erb
|
144
|
+
- lib/templates/default.html.haml
|
145
|
+
- lib/templates/default.html.slim
|
148
146
|
- pagy.gemspec
|
149
147
|
homepage: https://github.com/ddnexus/pagy
|
150
148
|
licenses:
|
@@ -1,28 +0,0 @@
|
|
1
|
-
-# This template uses only the pagy_url_for helper, no dependency on any framework
|
2
|
-
-# No special optimization for speed and memory. Use the pagy helpers if speed and memory are important.
|
3
|
-
|
4
|
-
- rel = { pagy.prev => 'prev', pagy.next => 'next' }
|
5
|
-
|
6
|
-
%nav.pagination{"aria-label" => "pager", :role => "navigation"}
|
7
|
-
|
8
|
-
%ul.pagination
|
9
|
-
|
10
|
-
%li.page-item.prev{:class => ('disabled' unless pagy.prev)}
|
11
|
-
%a.page-link{:href => (pagy.prev ? pagy_url_for(pagy.prev) : '#'), :rel => "prev", "aria-label"=>"previous"}!= pagy_t('pagy.nav.prev')
|
12
|
-
|
13
|
-
- pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
14
|
-
- case item
|
15
|
-
- when Integer # page link
|
16
|
-
%li.page-item
|
17
|
-
%a.page-link{:href => pagy_url_for(item), :rel => rel[item]}= item
|
18
|
-
|
19
|
-
- when String # current page
|
20
|
-
%li.page-item.active
|
21
|
-
%a.page-link{:href => pagy_url_for(item)}= item
|
22
|
-
|
23
|
-
- when :gap # page gap
|
24
|
-
%li.page-item.disabled.gap
|
25
|
-
%a.page-link{:href => "#"}!= pagy_t('pagy.nav.gap')
|
26
|
-
|
27
|
-
%li.page-item.next{:class => ('disabled' unless pagy.next)}
|
28
|
-
%a.page-link{:href => (pagy.next ? pagy_url_for(pagy.next) : '#'), :rel => "next", "aria-label"=>"next"}!= pagy_t('pagy.nav.next')
|
@@ -1,37 +0,0 @@
|
|
1
|
-
/ This template uses only the pagy_url_for helper, no dependency on any framework
|
2
|
-
/ No special optimization for speed and memory. Use the pagy helpers if speed and memory are important.
|
3
|
-
|
4
|
-
- rel = { pagy.prev => 'prev', pagy.next => 'next' }
|
5
|
-
|
6
|
-
nav.pagination role="navigation" aria-label="pager"
|
7
|
-
|
8
|
-
ul.pagination
|
9
|
-
|
10
|
-
- if pagy.prev
|
11
|
-
li.page-item.prev
|
12
|
-
a.page-link href=pagy_url_for(pagy.prev) rel="prev" aria-label="previous" == pagy_t('pagy.nav.prev')
|
13
|
-
- else
|
14
|
-
li.page-item.prev.disabled
|
15
|
-
a.page-link href="#" == pagy_t('pagy.nav.prev')
|
16
|
-
|
17
|
-
- pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
18
|
-
- case item
|
19
|
-
|
20
|
-
- when Integer # page link
|
21
|
-
li.page-item
|
22
|
-
a.page-link href=(pagy_url_for(item)) rel=(rel[item]) == item
|
23
|
-
|
24
|
-
- when String # current page
|
25
|
-
li.page-item.active
|
26
|
-
a.page-link href=(pagy_url_for(item)) == item
|
27
|
-
|
28
|
-
- when :gap # page gap
|
29
|
-
li.page-item.disabled.gap
|
30
|
-
a.page-link href="#" == pagy_t('pagy.nav.gap')
|
31
|
-
|
32
|
-
- if pagy.next
|
33
|
-
li.page-item.next
|
34
|
-
a.page-link href=pagy_url_for(pagy.next) rel="next" aria-label="next" == pagy_t('pagy.nav.next')
|
35
|
-
- else
|
36
|
-
li.page-item.next.disabled
|
37
|
-
a.page-link href="#" == pagy_t('pagy.nav.next')
|
@@ -1,46 +0,0 @@
|
|
1
|
-
<%#
|
2
|
-
This template uses only the pagy_url_for helper from pagy and link_to from rails
|
3
|
-
No special optimization for speed and memory. Use the pagy helpers if speed and memory are important.
|
4
|
-
-%>
|
5
|
-
<% rel = { pagy.prev => 'prev', pagy.next => 'next' } %>
|
6
|
-
|
7
|
-
<nav aria-label="pager" class="pagination" role="navigation">
|
8
|
-
<ul class="pagination">
|
9
|
-
|
10
|
-
<% if pagy.prev -%>
|
11
|
-
<li class="page-item prev">
|
12
|
-
<%= link_to pagy_t('pagy.nav.prev').html_safe, pagy_url_for(pagy.prev), rel: 'prev', class: 'page-link', 'aria-label': "previous" %>
|
13
|
-
</li>
|
14
|
-
<% else -%>
|
15
|
-
<li class="page-item prev disabled">
|
16
|
-
<%= link_to pagy_t('pagy.nav.prev').html_safe, pagy_url_for('#'), class: 'page-link'%>
|
17
|
-
</li>
|
18
|
-
<% end -%>
|
19
|
-
|
20
|
-
|
21
|
-
<% pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36] -%>
|
22
|
-
<% case item
|
23
|
-
when Integer -%>
|
24
|
-
<li class="page-item"><%== link_to item, pagy_url_for(item), rel: rel[item], class: 'page-link' %></li>
|
25
|
-
|
26
|
-
<% when String -%>
|
27
|
-
<li class="page-item active"><%== link_to item, pagy_url_for(item), class: 'page-link'%></li>
|
28
|
-
|
29
|
-
<% when :gap -%>
|
30
|
-
<li class="page-item disabled gap"><%== link_to pagy_t('pagy.nav.gap').html_safe, '#', class: 'page-link'%></li>
|
31
|
-
|
32
|
-
<% end -%>
|
33
|
-
<% end -%>
|
34
|
-
|
35
|
-
<% if pagy.next -%>
|
36
|
-
<li class="page-item next">
|
37
|
-
<%= link_to pagy_t('pagy.nav.next').html_safe, pagy_url_for(pagy.next), rel: 'next', class: 'page-link', 'aria-label': "next" %>
|
38
|
-
</li>
|
39
|
-
<% else -%>
|
40
|
-
<li class="page-item next disabled">
|
41
|
-
<%= link_to pagy_t('pagy.nav.next').html_safe, pagy_url_for('#'), class: 'page-link'%>
|
42
|
-
</li>
|
43
|
-
<% end -%>
|
44
|
-
|
45
|
-
</ul>
|
46
|
-
</nav>
|
@@ -1,31 +0,0 @@
|
|
1
|
-
-# This template uses only the pagy_url_for helper, no dependency on any framework
|
2
|
-
-# No special optimization for speed and memory. Use the pagy helpers if speed and memory are important.
|
3
|
-
|
4
|
-
- rel = { pagy.prev => 'prev', pagy.next => 'next' }
|
5
|
-
|
6
|
-
%nav.pagination{"aria-label" => "pager", :role => "navigation"}
|
7
|
-
|
8
|
-
%span{:class => "page prev #{'disabled' unless pagy.prev}"}
|
9
|
-
- if pagy.prev
|
10
|
-
%a{:href => pagy_url_for(pagy.prev), :rel => "prev", "aria-label"=>"previous"}!= pagy_t('pagy.nav.prev')
|
11
|
-
- else
|
12
|
-
!= pagy_t('pagy.nav.prev')
|
13
|
-
|
14
|
-
- pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
15
|
-
- case item
|
16
|
-
|
17
|
-
- when Integer # page link
|
18
|
-
%span.page
|
19
|
-
%a{:href => pagy_url_for(item), :rel => rel[item]}= item
|
20
|
-
|
21
|
-
- when String # current page
|
22
|
-
%span.page.current= item
|
23
|
-
|
24
|
-
- when :gap # page gap
|
25
|
-
%span.page.gap!= pagy_t('pagy.nav.gap')
|
26
|
-
|
27
|
-
%span{:class => "page next #{'disabled' unless pagy.next}"}
|
28
|
-
- if pagy.next
|
29
|
-
%a{:href => pagy_url_for(pagy.next), :rel => "next", "aria-label"=>"next"}!= pagy_t('pagy.nav.next')
|
30
|
-
- else
|
31
|
-
!= pagy_t('pagy.nav.next')
|
@@ -1,30 +0,0 @@
|
|
1
|
-
/ This template uses only the pagy_url_for helper, no dependency on any framework
|
2
|
-
/ No special optimization for speed and memory. Use the pagy helpers if speed and memory are important.
|
3
|
-
|
4
|
-
- rel = { pagy.prev => 'prev', pagy.next => 'next' }
|
5
|
-
|
6
|
-
nav.pagination role="navigation" aria-label="pager"
|
7
|
-
|
8
|
-
span.page.prev> class=('disabled' unless pagy.prev)
|
9
|
-
- if pagy.prev
|
10
|
-
a href=(pagy_url_for(pagy.prev)) rel="prev" aria-label="previous" == pagy_t('pagy.nav.prev')
|
11
|
-
- else
|
12
|
-
== pagy_t('pagy.nav.prev')
|
13
|
-
|
14
|
-
- pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
15
|
-
- case item
|
16
|
-
- when Integer # page link
|
17
|
-
span.page>
|
18
|
-
a href=(pagy_url_for(item)) rel=(rel[item]) == item
|
19
|
-
|
20
|
-
- when String # current page
|
21
|
-
span.page.current ==> item
|
22
|
-
|
23
|
-
- when :gap # page gap
|
24
|
-
span.page.gap ==> pagy_t('pagy.nav.gap')
|
25
|
-
|
26
|
-
span.page.next class=('disabled' unless pagy.next)
|
27
|
-
- if pagy.next
|
28
|
-
a href=(pagy_url_for(pagy.next)) rel="next" aria-label="next" == pagy_t('pagy.nav.next')
|
29
|
-
- else
|
30
|
-
== pagy_t('pagy.nav.next')
|
@@ -1,32 +0,0 @@
|
|
1
|
-
<%#
|
2
|
-
This template uses only the pagy_url_for helper from pagy and link_to/link_to_if from rails
|
3
|
-
No special optimization for speed and memory. Use the pagy helpers if speed and memory are important.
|
4
|
-
-%>
|
5
|
-
<% rel = { pagy.prev => 'prev', pagy.next => 'next' } %>
|
6
|
-
|
7
|
-
<nav aria-label="pager" class="pagination" role="navigation">
|
8
|
-
|
9
|
-
<span class="page prev <%= 'disabled' unless pagy.prev %>">
|
10
|
-
<%= link_to_if pagy.prev, pagy_t('pagy.nav.prev').html_safe, pagy_url_for(pagy.prev), rel: 'prev', 'aria-label': "previous" %>
|
11
|
-
</span>
|
12
|
-
|
13
|
-
<% pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36] -%>
|
14
|
-
<% case item
|
15
|
-
|
16
|
-
when Integer -%>
|
17
|
-
<span class="page"><%= link_to item, pagy_url_for(item), rel: rel[item] %></span>
|
18
|
-
|
19
|
-
<% when String -%>
|
20
|
-
<span class="page current"><%= item %></span>
|
21
|
-
|
22
|
-
<% when :gap -%>
|
23
|
-
<span class="page gap"><%== pagy_t('pagy.nav.gap') %></span>
|
24
|
-
|
25
|
-
<% end -%>
|
26
|
-
<% end -%>
|
27
|
-
|
28
|
-
<span class="page next <%= 'disabled' unless pagy.next %>">
|
29
|
-
<%= link_to_if pagy.next, pagy_t('pagy.nav.next').html_safe, pagy_url_for(pagy.next), rel: 'next', 'aria-label': "next" %>
|
30
|
-
</span>
|
31
|
-
|
32
|
-
</nav>
|
@@ -1,24 +0,0 @@
|
|
1
|
-
-# This template uses only the pagy_url_for helper from pagy and link_to/link_to_if from rails
|
2
|
-
-# No special optimization for speed and memory. Use the pagy helpers if speed and memory are important.
|
3
|
-
|
4
|
-
- rel = { pagy.prev => 'prev', pagy.next => 'next' }
|
5
|
-
|
6
|
-
%nav.pagination{"aria-label" => "pager", :role => "navigation"}
|
7
|
-
|
8
|
-
%span{:class => "page prev #{'disabled' unless pagy.prev}"}
|
9
|
-
= link_to_if pagy.prev, pagy_t('pagy.nav.prev').html_safe, pagy_url_for(pagy.prev), rel: 'prev', 'aria-label': "previous"
|
10
|
-
|
11
|
-
- pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
12
|
-
- case item
|
13
|
-
|
14
|
-
- when Integer # page link
|
15
|
-
%span.page= link_to item, pagy_url_for(item), rel: rel[item]
|
16
|
-
|
17
|
-
- when String # current page
|
18
|
-
%span.page.current= item
|
19
|
-
|
20
|
-
- when :gap # page gap
|
21
|
-
%span.page.gap!= pagy_t('pagy.nav.gap')
|
22
|
-
|
23
|
-
%span{:class => "page next #{'disabled' unless pagy.next}"}
|
24
|
-
= link_to_if pagy.next, pagy_t('pagy.nav.next').html_safe, pagy_url_for(pagy.next), rel: 'next', 'aria-label': "next"
|
@@ -1,23 +0,0 @@
|
|
1
|
-
/ This template uses only the pagy_url_for helper from pagy and link_to/link_to_if from rails
|
2
|
-
/ No special optimization for speed and memory. Use the pagy helpers if speed and memory are important.
|
3
|
-
|
4
|
-
- rel = { pagy.prev => 'prev', pagy.next => 'next' }
|
5
|
-
|
6
|
-
nav.pagination role="navigation" aria-label="pager"
|
7
|
-
|
8
|
-
span.page.prev> class=('disabled' unless pagy.prev)
|
9
|
-
== link_to_if pagy.prev, pagy_t('pagy.nav.prev').html_safe, pagy_url_for(pagy.prev), rel: 'prev', 'aria-label': "previous"
|
10
|
-
|
11
|
-
- pagy.series.each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36]
|
12
|
-
- case item
|
13
|
-
- when Integer # page link
|
14
|
-
span.page ==> link_to item, pagy_url_for(item), rel: rel[item]
|
15
|
-
|
16
|
-
- when String # current page
|
17
|
-
span.page.current ==> item
|
18
|
-
|
19
|
-
- when :gap # page gap
|
20
|
-
span.page.gap ==> pagy_t('pagy.nav.gap')
|
21
|
-
|
22
|
-
span.page.next class=('disabled' unless pagy.next)
|
23
|
-
== link_to_if pagy.next, pagy_t('pagy.nav.next').html_safe, pagy_url_for(pagy.next), rel: 'next', 'aria-label': "next"
|