pagy 7.0.11 → 8.0.2
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 +2196 -0
- data/apps/demo.ru +452 -0
- data/apps/rails.ru +205 -0
- data/apps/repro.ru +168 -0
- data/bin/pagy +83 -0
- data/{lib/config → config}/pagy.rb +6 -17
- data/javascripts/pagy-dev.js +114 -0
- data/{lib/javascripts → javascripts}/pagy-module.js +12 -10
- data/javascripts/pagy.js +1 -0
- data/lib/optimist.rb +1022 -0
- data/lib/pagy/calendar.rb +1 -1
- data/lib/pagy/console.rb +2 -2
- data/lib/pagy/countless.rb +1 -1
- data/lib/pagy/extras/bootstrap.rb +52 -63
- data/lib/pagy/extras/bulma.rb +49 -64
- data/lib/pagy/extras/calendar.rb +2 -2
- data/lib/pagy/extras/countless.rb +1 -1
- data/lib/pagy/extras/foundation.rb +49 -61
- data/lib/pagy/extras/headers.rb +1 -1
- data/lib/pagy/extras/items.rb +21 -18
- data/lib/pagy/extras/{frontend_helpers.rb → js_tools.rb} +4 -1
- data/lib/pagy/extras/jsonapi.rb +1 -1
- data/lib/pagy/extras/materialize.rb +53 -51
- data/lib/pagy/extras/metadata.rb +1 -1
- data/lib/pagy/extras/pagy.rb +82 -0
- data/lib/pagy/extras/semantic.rb +47 -50
- data/lib/pagy/extras/trim.rb +12 -12
- data/lib/pagy/extras/uikit.rb +48 -49
- data/lib/pagy/frontend.rb +33 -50
- data/lib/pagy/url_helpers.rb +1 -2
- data/lib/pagy.rb +15 -14
- data/{lib/locales → locales}/ar.yml +2 -2
- data/{lib/locales → locales}/be.yml +4 -4
- data/{lib/locales → locales}/bg.yml +4 -4
- data/{lib/locales → locales}/bs.yml +4 -4
- data/{lib/locales → locales}/ca.yml +4 -4
- data/locales/ckb.yml +18 -0
- data/{lib/locales → locales}/cs.yml +4 -4
- data/{lib/locales → locales}/da.yml +4 -4
- data/{lib/locales → locales}/de.yml +4 -4
- data/{lib/locales → locales}/en.yml +4 -4
- data/{lib/locales → locales}/es.yml +2 -2
- data/{lib/locales → locales}/fr.yml +4 -4
- data/{lib/locales → locales}/hr.yml +4 -4
- data/{lib/locales → locales}/id.yml +4 -4
- data/{lib/locales → locales}/it.yml +4 -4
- data/{lib/locales → locales}/ja.yml +4 -4
- data/{lib/locales → locales}/km.yml +4 -4
- data/{lib/locales → locales}/ko.yml +4 -4
- data/{lib/locales → locales}/nb.yml +4 -4
- data/{lib/locales → locales}/nl.yml +4 -4
- data/{lib/locales → locales}/nn.yml +4 -4
- data/{lib/locales → locales}/pl.yml +4 -4
- data/{lib/locales → locales}/pt-BR.yml +2 -2
- data/{lib/locales → locales}/pt.yml +2 -2
- data/locales/ru.yml +25 -0
- data/{lib/locales → locales}/sr.yml +4 -4
- data/{lib/locales → locales}/sv-SE.yml +4 -4
- data/{lib/locales → locales}/sv.yml +4 -4
- data/{lib/locales → locales}/sw.yml +4 -4
- data/{lib/locales → locales}/ta.yml +4 -4
- data/{lib/locales → locales}/tr.yml +4 -4
- data/{lib/locales → locales}/uk.yml +4 -4
- data/{lib/locales → locales}/vi.yml +4 -4
- data/{lib/locales → locales}/zh-CN.yml +4 -4
- data/{lib/locales → locales}/zh-HK.yml +4 -4
- data/{lib/locales → locales}/zh-TW.yml +4 -4
- data/pkg/pagy-8.0.1.gem +0 -0
- data/{lib/stylesheets → stylesheets}/pagy.css +19 -34
- data/{lib/stylesheets → stylesheets}/pagy.scss +17 -19
- data/stylesheets/pagy.tailwind.css +21 -0
- metadata +65 -51
- data/lib/javascripts/pagy-dev.js +0 -112
- data/lib/javascripts/pagy.js +0 -1
- data/lib/locales/ckb.yml +0 -18
- data/lib/locales/ru.yml +0 -27
- data/lib/pagy/extras/navs.rb +0 -51
- data/lib/pagy/extras/support.rb +0 -40
- data/lib/stylesheets/pagy.tailwind.scss +0 -24
- /data/{lib/javascripts → javascripts}/pagy-module.d.ts +0 -0
data/lib/pagy/extras/navs.rb
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
# See the Pagy documentation: https://ddnexus.github.io/pagy/docs/extras/navs
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require 'pagy/extras/frontend_helpers'
|
5
|
-
|
6
|
-
class Pagy # :nodoc:
|
7
|
-
# Frontend modules are specially optimized for performance.
|
8
|
-
# The resulting code may not look very elegant, but produces the best benchmarks
|
9
|
-
module NavsExtra
|
10
|
-
# Javascript pagination: it returns a nav and a JSON tag used by the pagy.js file
|
11
|
-
def pagy_nav_js(pagy, pagy_id: nil, link_extra: '',
|
12
|
-
nav_aria_label: nil, nav_i18n_key: nil, **vars)
|
13
|
-
sequels = pagy.sequels(**vars)
|
14
|
-
p_id = %( id="#{pagy_id}") if pagy_id
|
15
|
-
link = pagy_link_proc(pagy, link_extra:)
|
16
|
-
tags = { 'before' => prev_html(pagy, link),
|
17
|
-
'link' => %(<span class="page">#{link.call(PAGE_TOKEN, LABEL_TOKEN)}</span>),
|
18
|
-
'active' => %(<span class="page active">) +
|
19
|
-
%(<a role="link" aria-current="page" aria-disabled="true">#{LABEL_TOKEN}</a></span>),
|
20
|
-
'gap' => %(<span class="page gap">#{pagy_t 'pagy.gap'}</span>),
|
21
|
-
'after' => next_html(pagy, link) }
|
22
|
-
|
23
|
-
%(<nav#{p_id} class="#{'pagy-rjs ' if sequels.size > 1}pagy pagy-nav-js pagination" #{
|
24
|
-
nav_aria_label_attr(pagy, nav_aria_label, nav_i18n_key)} #{
|
25
|
-
pagy_data(pagy, :nav, tags, sequels, pagy.label_sequels(sequels))
|
26
|
-
}></nav>)
|
27
|
-
end
|
28
|
-
|
29
|
-
# Javascript combo pagination: it returns a nav and a JSON tag used by the pagy.js file
|
30
|
-
def pagy_combo_nav_js(pagy, pagy_id: nil, link_extra: '',
|
31
|
-
nav_aria_label: nil, nav_i18n_key: nil)
|
32
|
-
p_id = %( id="#{pagy_id}") if pagy_id
|
33
|
-
link = pagy_link_proc(pagy, link_extra:)
|
34
|
-
p_page = pagy.page
|
35
|
-
p_pages = pagy.pages
|
36
|
-
input = %(<input name="page" type="number" min="1" max="#{p_pages}" value="#{p_page}" ) +
|
37
|
-
%(style="padding: 0; text-align: center; width: #{p_pages.to_s.length + 1}rem;" aria-current="page">)
|
38
|
-
|
39
|
-
%(<nav#{p_id} class="pagy pagy-combo-nav-js pagination" #{
|
40
|
-
nav_aria_label_attr(pagy, nav_aria_label, nav_i18n_key)} #{
|
41
|
-
pagy_data(pagy, :combo, pagy_url_for(pagy, PAGE_TOKEN))}>#{
|
42
|
-
prev_html(pagy, link)
|
43
|
-
}<span class="pagy-combo-input">#{
|
44
|
-
pagy_t('pagy.combo_nav_js', page_input: input, count: p_page, pages: p_pages)
|
45
|
-
}</span>#{
|
46
|
-
next_html(pagy, link)
|
47
|
-
}</nav>)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
Frontend.prepend NavsExtra
|
51
|
-
end
|
data/lib/pagy/extras/support.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
# See the Pagy documentation: https://ddnexus.github.io/pagy/docs/extras/support
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
class Pagy # :nodoc:
|
5
|
-
# Extra support for features like: incremental, auto-incremental and infinite pagination
|
6
|
-
module SupportExtra
|
7
|
-
# Return the previous page URL string or nil
|
8
|
-
def pagy_prev_url(pagy, absolute: false)
|
9
|
-
pagy_url_for(pagy, pagy.prev, absolute:) if pagy.prev
|
10
|
-
end
|
11
|
-
|
12
|
-
# Return the next page URL string or nil
|
13
|
-
def pagy_next_url(pagy, absolute: false)
|
14
|
-
pagy_url_for(pagy, pagy.next, absolute:) if pagy.next
|
15
|
-
end
|
16
|
-
|
17
|
-
# Return the HTML string for the enabled/disabled previous page link
|
18
|
-
def pagy_prev_html(pagy, text: pagy_t('pagy.prev'), link_extra: '')
|
19
|
-
link = pagy_link_proc(pagy, link_extra:)
|
20
|
-
prev_html(pagy, link, text:)
|
21
|
-
end
|
22
|
-
|
23
|
-
# Return the HTML string for the enabled/disabled next page link
|
24
|
-
def pagy_next_html(pagy, text: pagy_t('pagy.next'), link_extra: '')
|
25
|
-
link = pagy_link_proc(pagy, link_extra:)
|
26
|
-
next_html(pagy, link, text:)
|
27
|
-
end
|
28
|
-
|
29
|
-
# Conditionally return the HTML link tag string for the previous page
|
30
|
-
def pagy_prev_link_tag(pagy, absolute: false)
|
31
|
-
%(<link href="#{pagy_url_for(pagy, pagy.prev, absolute:)}" rel="prev"/>) if pagy.prev
|
32
|
-
end
|
33
|
-
|
34
|
-
# Conditionally return the HTML link tag string for the next page
|
35
|
-
def pagy_next_link_tag(pagy, absolute: false)
|
36
|
-
%(<link href="#{pagy_url_for(pagy, pagy.next, absolute:)}" rel="next"/>) if pagy.next
|
37
|
-
end
|
38
|
-
end
|
39
|
-
Frontend.prepend SupportExtra
|
40
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
.pagy {
|
2
|
-
@apply flex space-x-1 font-semibold text-sm text-gray-500;
|
3
|
-
.page {
|
4
|
-
a {
|
5
|
-
@apply block rounded-lg px-3 py-1 bg-gray-200;
|
6
|
-
&:hover {
|
7
|
-
@apply bg-gray-300;
|
8
|
-
}
|
9
|
-
}
|
10
|
-
&.active a {
|
11
|
-
@apply text-white bg-gray-400 cursor-default;
|
12
|
-
}
|
13
|
-
&.disabled a {
|
14
|
-
@apply text-gray-300 bg-gray-100 cursor-default;
|
15
|
-
}
|
16
|
-
&.gap { } /* if you need to customize it */
|
17
|
-
}
|
18
|
-
.pagy-combo-input, &.pagy-items-selector-js {
|
19
|
-
@apply inline-block whitespace-nowrap bg-gray-200 rounded-lg px-3 py-0.5;
|
20
|
-
input {
|
21
|
-
@apply bg-gray-100 border-none rounded-md;
|
22
|
-
}
|
23
|
-
}
|
24
|
-
}
|
File without changes
|