pagy 5.10.1 → 6.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/lib/config/pagy.rb +36 -31
- data/lib/javascripts/pagy-dev.js +2 -2
- data/lib/javascripts/pagy-module.js +1 -1
- data/lib/javascripts/pagy.js +1 -1
- data/lib/locales/da.yml +2 -2
- data/lib/locales/de.yml +1 -1
- data/lib/locales/ko.yml +1 -1
- data/lib/locales/nn.yml +22 -0
- data/lib/pagy/backend.rb +1 -1
- data/lib/pagy/calendar/day.rb +13 -3
- data/lib/pagy/calendar/helper.rb +61 -0
- data/lib/pagy/calendar/month.rb +6 -2
- data/lib/pagy/calendar/quarter.rb +6 -2
- data/lib/pagy/calendar/week.rb +13 -8
- data/lib/pagy/calendar/year.rb +6 -2
- data/lib/pagy/calendar.rb +18 -8
- data/lib/pagy/console.rb +1 -1
- data/lib/pagy/countless.rb +2 -2
- data/lib/pagy/extras/arel.rb +1 -1
- data/lib/pagy/extras/array.rb +1 -1
- data/lib/pagy/extras/bootstrap.rb +6 -6
- data/lib/pagy/extras/bulma.rb +1 -1
- data/lib/pagy/extras/calendar.rb +12 -29
- data/lib/pagy/extras/countless.rb +1 -1
- data/lib/pagy/extras/elasticsearch_rails.rb +2 -11
- data/lib/pagy/extras/foundation.rb +4 -2
- data/lib/pagy/extras/gearbox.rb +1 -1
- data/lib/pagy/extras/headers.rb +1 -1
- data/lib/pagy/extras/i18n.rb +1 -1
- data/lib/pagy/extras/items.rb +1 -1
- data/lib/pagy/extras/materialize.rb +4 -4
- data/lib/pagy/extras/meilisearch.rb +15 -20
- data/lib/pagy/extras/metadata.rb +1 -1
- data/lib/pagy/extras/navs.rb +3 -3
- data/lib/pagy/extras/overflow.rb +2 -2
- data/lib/pagy/extras/searchkick.rb +3 -11
- data/lib/pagy/extras/semantic.rb +1 -1
- data/lib/pagy/extras/standalone.rb +5 -4
- data/lib/pagy/extras/support.rb +1 -1
- data/lib/pagy/extras/trim.rb +2 -2
- data/lib/pagy/extras/uikit.rb +1 -1
- data/lib/pagy/frontend.rb +2 -2
- data/lib/pagy/i18n.rb +1 -1
- data/lib/pagy/url_helpers.rb +4 -19
- data/lib/pagy.rb +17 -5
- data/lib/templates/bootstrap_nav.html.erb +1 -1
- data/lib/templates/bootstrap_nav.html.haml +1 -1
- data/lib/templates/bootstrap_nav.html.slim +1 -1
- data/lib/templates/nav.html.erb +1 -1
- data/lib/templates/nav.html.haml +1 -1
- data/lib/templates/nav.html.slim +1 -1
- metadata +7 -19
data/lib/pagy.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
# See Pagy API documentation: https://ddnexus.github.io/pagy/api/pagy
|
1
|
+
# See Pagy API documentation: https://ddnexus.github.io/pagy/docs/api/pagy
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require 'pathname'
|
5
5
|
|
6
6
|
# Core class
|
7
7
|
class Pagy
|
8
|
-
VERSION = '
|
8
|
+
VERSION = '6.0.4'
|
9
9
|
|
10
10
|
# Root pathname to get the path of Pagy files like templates or dictionaries
|
11
11
|
def self.root
|
@@ -22,9 +22,10 @@ class Pagy
|
|
22
22
|
fragment: '',
|
23
23
|
link_extra: '',
|
24
24
|
i18n_key: 'pagy.item_name',
|
25
|
-
cycle: false
|
25
|
+
cycle: false,
|
26
|
+
request_path: '' }
|
26
27
|
|
27
|
-
attr_reader :count, :page, :items, :vars, :pages, :last, :offset, :in, :from, :to, :prev, :next, :params
|
28
|
+
attr_reader :count, :page, :items, :vars, :pages, :last, :offset, :in, :from, :to, :prev, :next, :params, :request_path
|
28
29
|
|
29
30
|
# Merge and validate the options, do some simple arithmetic and set the instance variables
|
30
31
|
def initialize(vars)
|
@@ -34,6 +35,7 @@ class Pagy
|
|
34
35
|
setup_pages_var
|
35
36
|
setup_offset_var
|
36
37
|
setup_params_var
|
38
|
+
setup_request_path_var
|
37
39
|
raise OverflowError.new(self, :page, "in 1..#{@last}", @page) if @page > @last
|
38
40
|
|
39
41
|
@from = [@offset - @outset + 1, @count].min
|
@@ -92,7 +94,7 @@ class Pagy
|
|
92
94
|
def setup_vars(name_min)
|
93
95
|
name_min.each do |name, min|
|
94
96
|
raise VariableError.new(self, name, ">= #{min}", @vars[name]) \
|
95
|
-
unless @vars[name] && instance_variable_set(:"@#{name}", @vars[name].to_i) >= min
|
97
|
+
unless @vars[name]&.respond_to?(:to_i) && instance_variable_set(:"@#{name}", @vars[name].to_i) >= min
|
96
98
|
end
|
97
99
|
end
|
98
100
|
|
@@ -116,6 +118,16 @@ class Pagy
|
|
116
118
|
raise VariableError.new(self, :params, 'must be a Hash or a Proc', @params) \
|
117
119
|
unless (@params = @vars[:params]).is_a?(Hash) || @params.is_a?(Proc)
|
118
120
|
end
|
121
|
+
|
122
|
+
def setup_request_path_var
|
123
|
+
request_path = @vars[:request_path]
|
124
|
+
return if request_path.to_s.empty?
|
125
|
+
|
126
|
+
raise VariableError.new(self, :request_path, 'must be a bare path like "/foo"', request_path) \
|
127
|
+
if !request_path.start_with?('/') || request_path.include?('?')
|
128
|
+
|
129
|
+
@request_path = request_path
|
130
|
+
end
|
119
131
|
end
|
120
132
|
|
121
133
|
require 'pagy/backend'
|
@@ -6,7 +6,7 @@
|
|
6
6
|
Usage: link.call( page_number [, text [, extra_attributes_string ]])
|
7
7
|
-%>
|
8
8
|
<% link = pagy_link_proc(pagy, link_extra: 'class="page-link"') -%>
|
9
|
-
<%# -%><nav
|
9
|
+
<%# -%><nav class="pagy-bootstrap-nav" role="navigation">
|
10
10
|
<%# -%> <ul class="pagination">
|
11
11
|
<% if pagy.prev -%> <li class="page-item prev"><%== link.call(pagy.prev, pagy_t('pagy.nav.prev'), 'aria-label="previous"') %></li>
|
12
12
|
<% else -%> <li class="page-item prev disabled"><a href="#" class="page-link"><%== pagy_t('pagy.nav.prev') %></a></li>
|
data/lib/templates/nav.html.erb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
Usage: link.call( page_number [, text [, extra_attributes_string ]])
|
7
7
|
-%>
|
8
8
|
<% link = pagy_link_proc(pagy) -%>
|
9
|
-
<%# -%><nav
|
9
|
+
<%# -%><nav class="pagy_nav pagination" role="navigation">
|
10
10
|
<% if pagy.prev -%> <span class="page prev"><%== link.call(pagy.prev, pagy_t('pagy.nav.prev'), 'aria-label="previous"') %></span>
|
11
11
|
<% else -%> <span class="page prev disabled"><%== pagy_t('pagy.nav.prev') %></span>
|
12
12
|
<% end -%>
|
data/lib/templates/nav.html.haml
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
- link = pagy_link_proc(pagy)
|
8
8
|
|
9
|
-
%nav.pagy_nav.pagination{
|
9
|
+
%nav.pagy_nav.pagination{:role => "navigation"}
|
10
10
|
|
11
11
|
- if pagy.prev
|
12
12
|
%span.page.prev!= link.call(pagy.prev, pagy_t('pagy.nav.prev'), 'aria-label="previous"')
|
data/lib/templates/nav.html.slim
CHANGED
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pagy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Domizio Demichelis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: activesupport
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
11
|
+
date: 2023-05-04 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
27
13
|
description: Agnostic pagination in plain ruby. It does it all. Better.
|
28
14
|
email:
|
29
15
|
- dd.nexus@gmail.com
|
@@ -55,6 +41,7 @@ files:
|
|
55
41
|
- lib/locales/ko.yml
|
56
42
|
- lib/locales/nb.yml
|
57
43
|
- lib/locales/nl.yml
|
44
|
+
- lib/locales/nn.yml
|
58
45
|
- lib/locales/pl.yml
|
59
46
|
- lib/locales/pt-BR.yml
|
60
47
|
- lib/locales/pt.yml
|
@@ -73,6 +60,7 @@ files:
|
|
73
60
|
- lib/pagy/backend.rb
|
74
61
|
- lib/pagy/calendar.rb
|
75
62
|
- lib/pagy/calendar/day.rb
|
63
|
+
- lib/pagy/calendar/helper.rb
|
76
64
|
- lib/pagy/calendar/month.rb
|
77
65
|
- lib/pagy/calendar/quarter.rb
|
78
66
|
- lib/pagy/calendar/week.rb
|
@@ -131,7 +119,7 @@ metadata:
|
|
131
119
|
documentation_uri: https://ddnexus.github.io/pagy
|
132
120
|
bug_tracker_uri: https://github.com/ddnexus/pagy/issues
|
133
121
|
changelog_uri: https://github.com/ddnexus/pagy/blob/master/CHANGELOG.md
|
134
|
-
|
122
|
+
support: https://github.com/ddnexus/pagy/discussions/categories/q-a
|
135
123
|
post_install_message:
|
136
124
|
rdoc_options: []
|
137
125
|
require_paths:
|
@@ -147,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
135
|
- !ruby/object:Gem::Version
|
148
136
|
version: '0'
|
149
137
|
requirements: []
|
150
|
-
rubygems_version: 3.2.
|
138
|
+
rubygems_version: 3.2.33
|
151
139
|
signing_key:
|
152
140
|
specification_version: 4
|
153
141
|
summary: The kick-ass pagination ruby gem
|