pagy 43.2.3 → 43.2.5
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/apps/calendar.ru +5 -6
- data/apps/demo.ru +1 -1
- data/apps/enable_rails_page_segment.rb +6 -2
- data/apps/keynav+root_key.ru +4 -5
- data/apps/keynav.ru +6 -7
- data/apps/keyset.ru +3 -5
- data/apps/keyset_sequel.ru +3 -5
- data/apps/rails.ru +3 -4
- data/apps/repro.ru +5 -6
- data/config/pagy.rb +1 -1
- data/javascripts/pagy.js +2 -2
- data/javascripts/pagy.js.map +2 -2
- data/javascripts/pagy.min.js +1 -1
- data/javascripts/pagy.mjs +1 -1
- data/lib/pagy/classes/calendar/calendar.rb +31 -25
- data/lib/pagy/classes/calendar/unit.rb +7 -4
- data/lib/pagy/classes/exceptions.rb +1 -0
- data/lib/pagy/classes/keyset/adapters/active_record.rb +3 -1
- data/lib/pagy/classes/keyset/adapters/sequel.rb +3 -1
- data/lib/pagy/classes/keyset/keynav.rb +3 -0
- data/lib/pagy/classes/keyset/keyset.rb +13 -17
- data/lib/pagy/classes/offset/countless.rb +10 -3
- data/lib/pagy/classes/offset/offset.rb +6 -1
- data/lib/pagy/classes/request.rb +10 -7
- data/lib/pagy/modules/abilities/configurable.rb +1 -1
- data/lib/pagy/modules/abilities/countable.rb +1 -0
- data/lib/pagy/modules/abilities/linkable.rb +19 -12
- data/lib/pagy/modules/abilities/rangeable.rb +0 -1
- data/lib/pagy/modules/b64.rb +8 -2
- data/lib/pagy/modules/console.rb +15 -6
- data/lib/pagy/modules/i18n/i18n.rb +11 -4
- data/lib/pagy/modules/searcher.rb +8 -4
- data/lib/pagy/toolbox/helpers/data_hash.rb +1 -0
- data/lib/pagy/toolbox/helpers/headers_hash.rb +2 -1
- data/lib/pagy/toolbox/helpers/info_tag.rb +2 -0
- data/lib/pagy/toolbox/helpers/input_nav_js.rb +1 -0
- data/lib/pagy/toolbox/helpers/page_url.rb +1 -0
- data/lib/pagy/toolbox/helpers/series_nav.rb +1 -0
- data/lib/pagy/toolbox/helpers/series_nav_js.rb +1 -0
- data/lib/pagy/toolbox/helpers/support/a_lambda.rb +1 -1
- data/lib/pagy/toolbox/paginators/calendar.rb +9 -6
- data/lib/pagy/toolbox/paginators/countish.rb +6 -3
- data/lib/pagy/toolbox/paginators/countless.rb +5 -2
- data/lib/pagy/toolbox/paginators/elasticsearch_rails.rb +12 -6
- data/lib/pagy/toolbox/paginators/keynav_js.rb +5 -3
- data/lib/pagy/toolbox/paginators/keyset.rb +2 -1
- data/lib/pagy/toolbox/paginators/meilisearch.rb +10 -7
- data/lib/pagy/toolbox/paginators/method.rb +7 -5
- data/lib/pagy/toolbox/paginators/offset.rb +9 -2
- data/lib/pagy/toolbox/paginators/searchkick.rb +12 -9
- data/lib/pagy.rb +1 -1
- metadata +1 -1
|
@@ -11,8 +11,15 @@ class Pagy
|
|
|
11
11
|
options[:page] ||= options[:request].resolve_page
|
|
12
12
|
options[:limit] = options[:request].resolve_limit
|
|
13
13
|
options[:count] ||= Countable.get_count(collection, options)
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
|
|
15
|
+
pagy = Offset.new(**options)
|
|
16
|
+
records = if collection.instance_of?(Array)
|
|
17
|
+
collection[pagy.offset, pagy.limit]
|
|
18
|
+
else
|
|
19
|
+
pagy.records(collection)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
[pagy, records]
|
|
16
23
|
end
|
|
17
24
|
end
|
|
18
25
|
end
|
|
@@ -8,22 +8,25 @@ class Pagy
|
|
|
8
8
|
|
|
9
9
|
# Paginate from the search object
|
|
10
10
|
def paginate(search, options)
|
|
11
|
-
if search.is_a?(Search::Arguments)
|
|
12
|
-
|
|
11
|
+
if search.is_a?(Search::Arguments) # Active mode
|
|
12
|
+
|
|
13
13
|
Searcher.wrap(search, options) do
|
|
14
14
|
model, term, search_options, block = search
|
|
15
|
-
search_options[:per_page]
|
|
16
|
-
search_options[:page]
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
search_options[:per_page] = options[:limit]
|
|
16
|
+
search_options[:page] = options[:page]
|
|
17
|
+
|
|
18
|
+
method = options[:search_method] || Searchkick::DEFAULT[:search_method]
|
|
19
|
+
results = model.send(method, term || '*', **search_options, &block)
|
|
20
|
+
options[:count] = results.total_count
|
|
21
|
+
|
|
20
22
|
[Searchkick.new(**options), results]
|
|
21
23
|
end
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
|
|
25
|
+
else # Passive mode
|
|
24
26
|
options[:limit] = search.respond_to?(:options) ? search.options[:per_page] : search.per_page
|
|
25
27
|
options[:page] = search.respond_to?(:options) ? search.options[:page] : search.current_page
|
|
26
28
|
options[:count] = search.total_count
|
|
29
|
+
|
|
27
30
|
Searchkick.new(**options)
|
|
28
31
|
end
|
|
29
32
|
end
|
data/lib/pagy.rb
CHANGED
|
@@ -8,7 +8,7 @@ require_relative 'pagy/toolbox/helpers/loader'
|
|
|
8
8
|
|
|
9
9
|
# Top superclass: it defines only what's common to all the subclasses
|
|
10
10
|
class Pagy
|
|
11
|
-
VERSION = '43.2.
|
|
11
|
+
VERSION = '43.2.5'
|
|
12
12
|
ROOT = Pathname.new(__dir__).parent.freeze
|
|
13
13
|
DEFAULT = { limit: 20, limit_key: 'limit', page_key: 'page' }.freeze
|
|
14
14
|
PAGE_TOKEN = EscapedValue.new('P ')
|