pagy 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b23ad1b8bfd60d555fd55e0b5534c34b29055447c41116454f73892ffc7eef73
4
- data.tar.gz: 0a8d532508344459576ab5d3c89e772ef0ee626cd3671d56fa21b611815f8d11
3
+ metadata.gz: '0479a6de6806589108454c59ca39a6446ee0d339c5b111c19eddb69fcd9a4285'
4
+ data.tar.gz: 26bf5f952a06f4f874ec489adb337207b1b7664a3be70f95440656b55dcbb189
5
5
  SHA512:
6
- metadata.gz: d035e9a3319e63353dd743ef0da6c05b995f5f66c5effea233cdecb52bae17bee7f50730a18ed4ccda818b0e29b52ab79db48e37db9f7dfe9c719908c6ebd1b8
7
- data.tar.gz: d487d610feef6697c625677d4332b474a3f8876a434edfcefa321c371838ef6552ad7bc246cbcb0a5340dc55302d4d9f728032e823ce964c04cc09a577817a04
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.3.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 statement in one single slick
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 pagy_linker_proc)
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 pagy_linker_proc is tens of times faster and uses a very small fraction of the memory.
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>' % linker.call(item)
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 ; linker = pagy_linker_proc(pagy) ; tags = [] # init all vars
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">#{linker.call pagy.prev, pagy_t('pagy.nav.prev'.freeze), 'aria-label="previous"'.freeze}</span>)
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">#{linker.call item}</span>) # page link
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">#{linker.call pagy.next, pagy_t('pagy.nav.next'.freeze), 'aria-label="next"'.freeze}</span>)
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 ; linker = pagy_linker_proc(pagy) ; tags = [] # init all vars
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">#{linker.call pagy.prev, pagy_t('pagy.nav.prev'.freeze), 'class="page-link" aria-label="previous"'.freeze}</li>)
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">#{linker.call item, item, 'class="page-link"'.freeze}</li>) # page link
73
- when String ; %(<li class="page-item active">#{linker.call item, item, 'class="page-link"'.freeze}</li>) # active page
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">#{linker.call pagy.next, pagy_t('pagy.nav.next'.freeze), 'class="page-link" aria-label="next"'.freeze}</li>)
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 pagy_linker_proc(pagy)
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 ("&lsaquo; Prev", "Next &rsaquo;", "&hellip;").
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 ("&lsaquo; Prev", "Next &rsaquo;", "&hellip;").
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 ("&lsaquo; Prev", "Next &rsaquo;", "&hellip;").
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 ("&lsaquo; Prev", "Next &rsaquo;", "&hellip;").
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 ("&lsaquo; Prev", "Next &rsaquo;", "&hellip;").
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 ("&lsaquo; Prev", "Next &rsaquo;", "&hellip;").
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.3.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-12 00:00:00.000000000 Z
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-no-dep.html.haml
141
- - lib/templates/bootstrap-no-dep.html.slim
142
- - lib/templates/bootstrap-rails-dep.html.erb
143
- - lib/templates/default-no-dep.html.haml
144
- - lib/templates/default-no-dep.html.slim
145
- - lib/templates/default-rails-dep.html.erb
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"