pagy 6.0.0 → 7.0.0
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 +56 -44
- data/lib/javascripts/pagy-dev.js +3 -3
- data/lib/javascripts/pagy-module.js +2 -2
- data/lib/javascripts/pagy.js +1 -1
- data/lib/locales/ar.yml +15 -11
- data/lib/locales/be.yml +25 -0
- data/lib/locales/bg.yml +10 -11
- data/lib/locales/bs.yml +12 -11
- data/lib/locales/ca.yml +12 -11
- data/lib/locales/cs.yml +13 -10
- data/lib/locales/da.yml +14 -13
- data/lib/locales/de.yml +10 -11
- data/lib/locales/en.yml +10 -11
- data/lib/locales/es.yml +10 -11
- data/lib/locales/fr.yml +10 -11
- data/lib/locales/hr.yml +12 -11
- data/lib/locales/id.yml +10 -11
- data/lib/locales/it.yml +10 -11
- data/lib/locales/ja.yml +10 -11
- data/lib/locales/km.yml +10 -10
- data/lib/locales/ko.yml +10 -11
- data/lib/locales/nb.yml +10 -11
- data/lib/locales/nl.yml +10 -11
- data/lib/locales/nn.yml +10 -11
- data/lib/locales/pl.yml +12 -11
- data/lib/locales/pt-BR.yml +10 -11
- data/lib/locales/pt.yml +10 -11
- data/lib/locales/ru.yml +14 -11
- data/lib/locales/sr.yml +12 -10
- data/lib/locales/sv-SE.yml +10 -12
- data/lib/locales/sv.yml +10 -12
- data/lib/locales/sw.yml +12 -11
- data/lib/locales/ta.yml +12 -11
- data/lib/locales/tr.yml +10 -11
- data/lib/locales/uk.yml +12 -11
- data/lib/locales/vi.yml +17 -0
- data/lib/locales/zh-CN.yml +10 -11
- data/lib/locales/zh-HK.yml +10 -11
- data/lib/locales/zh-TW.yml +10 -11
- data/lib/pagy/backend.rb +10 -4
- data/lib/pagy/calendar/day.rb +4 -3
- data/lib/pagy/calendar/helper.rb +15 -11
- data/lib/pagy/calendar/month.rb +4 -3
- data/lib/pagy/calendar/quarter.rb +4 -3
- data/lib/pagy/calendar/week.rb +1 -1
- data/lib/pagy/calendar/year.rb +3 -2
- data/lib/pagy/calendar.rb +33 -7
- data/lib/pagy/console.rb +1 -1
- data/lib/pagy/countless.rb +1 -1
- data/lib/pagy/exceptions.rb +1 -1
- data/lib/pagy/extras/arel.rb +1 -1
- data/lib/pagy/extras/array.rb +1 -1
- data/lib/pagy/extras/bootstrap.rb +45 -32
- data/lib/pagy/extras/bulma.rb +41 -32
- data/lib/pagy/extras/calendar.rb +17 -13
- data/lib/pagy/extras/countless.rb +1 -1
- data/lib/pagy/extras/elasticsearch_rails.rb +8 -8
- data/lib/pagy/extras/foundation.rb +48 -33
- data/lib/pagy/extras/frontend_helpers.rb +11 -11
- data/lib/pagy/extras/gearbox.rb +1 -1
- data/lib/pagy/extras/headers.rb +8 -8
- data/lib/pagy/extras/i18n.rb +5 -5
- data/lib/pagy/extras/items.rb +19 -12
- data/lib/pagy/extras/jsonapi.rb +79 -0
- data/lib/pagy/extras/materialize.rb +42 -30
- data/lib/pagy/extras/meilisearch.rb +12 -11
- data/lib/pagy/extras/metadata.rb +2 -2
- data/lib/pagy/extras/navs.rb +22 -34
- data/lib/pagy/extras/overflow.rb +9 -7
- data/lib/pagy/extras/searchkick.rb +8 -8
- data/lib/pagy/extras/semantic.rb +41 -28
- data/lib/pagy/extras/standalone.rb +10 -16
- data/lib/pagy/extras/support.rb +19 -33
- data/lib/pagy/extras/trim.rb +4 -4
- data/lib/pagy/extras/uikit.rb +44 -31
- data/lib/pagy/frontend.rb +57 -26
- data/lib/pagy/i18n.rb +3 -3
- data/lib/pagy/url_helpers.rb +15 -12
- data/lib/pagy.rb +57 -41
- metadata +7 -19
- data/lib/templates/bootstrap_nav.html.erb +0 -24
- data/lib/templates/bootstrap_nav.html.haml +0 -34
- data/lib/templates/bootstrap_nav.html.slim +0 -34
- data/lib/templates/bulma_nav.html.erb +0 -24
- data/lib/templates/bulma_nav.html.haml +0 -32
- data/lib/templates/bulma_nav.html.slim +0 -32
- data/lib/templates/foundation_nav.html.erb +0 -24
- data/lib/templates/foundation_nav.html.haml +0 -34
- data/lib/templates/foundation_nav.html.slim +0 -34
- data/lib/templates/nav.html.erb +0 -22
- data/lib/templates/nav.html.haml +0 -30
- data/lib/templates/nav.html.slim +0 -29
- data/lib/templates/uikit_nav.html.erb +0 -15
- data/lib/templates/uikit_nav.html.haml +0 -28
- data/lib/templates/uikit_nav.html.slim +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d83ccf4e16f2ba7ba7c6707db38ea793acf12412182e77fe761c99a2bd9df2d6
|
4
|
+
data.tar.gz: e9578563af3c3787e9ca878d33da60b4da707a65fe69f60d38862d796f436391
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02dceb42822a299c6de097581ca9f92c3d1d64c3b5c09a7185c0af03284a8d0c82b54a78cb4da4e58a5bd6ba557acebb1425b9178e0c7182a4f69df5a7c78859
|
7
|
+
data.tar.gz: 0f8cb9cbdf1db057e7d6d52fd1b388c8e6a97d009e7da640e0a31ea9cc899cebe0e6a050a61261ed549bbfa1fc77deb15effc3dd40228772be017a087f77c961
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2017-
|
3
|
+
Copyright (c) 2017-2024 Domizio Demichelis
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/lib/config/pagy.rb
CHANGED
@@ -1,48 +1,53 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Pagy initializer file (
|
3
|
+
# Pagy initializer file (7.0.0)
|
4
4
|
# Customize only what you really need and notice that the core Pagy works also without any of the following lines.
|
5
5
|
# Should you just cherry pick part of this file, please maintain the require-order of the extras
|
6
6
|
|
7
7
|
|
8
8
|
# Pagy DEFAULT Variables
|
9
|
-
# See https://ddnexus.github.io/pagy/api/pagy#variables
|
9
|
+
# See https://ddnexus.github.io/pagy/docs/api/pagy#variables
|
10
10
|
# All the Pagy::DEFAULT are set for all the Pagy instances but can be overridden per instance by just passing them to
|
11
11
|
# Pagy.new|Pagy::Countless.new|Pagy::Calendar::*.new or any of the #pagy* controller methods
|
12
12
|
|
13
|
-
|
14
13
|
# Instance variables
|
15
|
-
# See https://ddnexus.github.io/pagy/api/pagy#instance-variables
|
16
|
-
# Pagy::DEFAULT[:page] = 1
|
17
|
-
# Pagy::DEFAULT[:items] = 20
|
18
|
-
# Pagy::DEFAULT[:outset] = 0
|
19
|
-
|
14
|
+
# See https://ddnexus.github.io/pagy/docs/api/pagy#instance-variables
|
15
|
+
# Pagy::DEFAULT[:page] = 1 # default
|
16
|
+
# Pagy::DEFAULT[:items] = 20 # default
|
17
|
+
# Pagy::DEFAULT[:outset] = 0 # default
|
20
18
|
|
21
19
|
# Other Variables
|
22
|
-
# See https://ddnexus.github.io/pagy/api/pagy#other-variables
|
23
|
-
# Pagy::DEFAULT[:size]
|
24
|
-
# Pagy::DEFAULT[:page_param]
|
25
|
-
#
|
26
|
-
# Pagy::DEFAULT[:
|
27
|
-
# Pagy::DEFAULT[:
|
28
|
-
# Pagy::DEFAULT[:
|
29
|
-
# Pagy::DEFAULT[:
|
30
|
-
# Pagy::DEFAULT[:
|
31
|
-
# Pagy::DEFAULT[:
|
20
|
+
# See https://ddnexus.github.io/pagy/docs/api/pagy#other-variables
|
21
|
+
# Pagy::DEFAULT[:size] = [1,4,4,1] # default in pagy < 7.0
|
22
|
+
# Pagy::DEFAULT[:page_param] = :page # default
|
23
|
+
# Pagy::DEFAULT[:fragment] = '#fragment' # example
|
24
|
+
# Pagy::DEFAULT[:link_extra] = 'data-remote="true"' # example
|
25
|
+
# Pagy::DEFAULT[:item_i18n_key = 'pagy.item_name' # default
|
26
|
+
# Pagy::DEFAULT[:nav_i18n_key] = 'pagy.aria_label.nav' # default
|
27
|
+
# Pagy::DEFAULT[:cycle] = true # example
|
28
|
+
# Pagy::DEFAULT[:request_path] = '/foo' # example
|
29
|
+
# Pagy::DEFAULT[:count_args] = [] # example for non AR ORMs
|
30
|
+
# Pagy::DEFAULT[:params] = {} # default
|
31
|
+
# NOTICE: The :params can be also set as a lambda e.g:
|
32
|
+
# ->(params){ params.exclude('useless').merge!('custom' => 'useful') }
|
32
33
|
|
33
34
|
|
34
35
|
# Extras
|
35
|
-
# See https://ddnexus.github.io/pagy/
|
36
|
+
# See https://ddnexus.github.io/pagy/categories/extra
|
36
37
|
|
37
38
|
|
38
39
|
# Backend Extras
|
39
40
|
|
41
|
+
# Arel extra: For better performance utilizing grouped ActiveRecord collections:
|
42
|
+
# See: https://ddnexus.github.io/pagy/docs/extras/arel
|
43
|
+
# require 'pagy/extras/arel'
|
44
|
+
|
40
45
|
# Array extra: Paginate arrays efficiently, avoiding expensive array-wrapping and without overriding
|
41
|
-
# See https://ddnexus.github.io/pagy/extras/array
|
46
|
+
# See https://ddnexus.github.io/pagy/docs/extras/array
|
42
47
|
# require 'pagy/extras/array'
|
43
48
|
|
44
49
|
# Calendar extra: Add pagination filtering by calendar time unit (year, quarter, month, week, day)
|
45
|
-
# See https://ddnexus.github.io/pagy/extras/calendar
|
50
|
+
# See https://ddnexus.github.io/pagy/docs/extras/calendar
|
46
51
|
# require 'pagy/extras/calendar'
|
47
52
|
# Default for each unit
|
48
53
|
# Pagy::Calendar::Year::DEFAULT[:order] = :asc # Time direction of pagination
|
@@ -69,12 +74,12 @@
|
|
69
74
|
# Pagy::Calendar.prepend LocalizePagyCalendar
|
70
75
|
|
71
76
|
# Countless extra: Paginate without any count, saving one query per rendering
|
72
|
-
# See https://ddnexus.github.io/pagy/extras/countless
|
77
|
+
# See https://ddnexus.github.io/pagy/docs/extras/countless
|
73
78
|
# require 'pagy/extras/countless'
|
74
79
|
# Pagy::DEFAULT[:countless_minimal] = false # default (eager loading)
|
75
80
|
|
76
81
|
# Elasticsearch Rails extra: Paginate `ElasticsearchRails::Results` objects
|
77
|
-
# See https://ddnexus.github.io/pagy/extras/elasticsearch_rails
|
82
|
+
# See https://ddnexus.github.io/pagy/docs/extras/elasticsearch_rails
|
78
83
|
# Default :pagy_search method: change only if you use also
|
79
84
|
# the searchkick or meilisearch extra that defines the same
|
80
85
|
# Pagy::DEFAULT[:elasticsearch_rails_pagy_search] = :pagy_search
|
@@ -91,7 +96,7 @@
|
|
91
96
|
# pages: 'Total-Pages' } # default
|
92
97
|
|
93
98
|
# Meilisearch extra: Paginate `Meilisearch` result objects
|
94
|
-
# See https://ddnexus.github.io/pagy/extras/meilisearch
|
99
|
+
# See https://ddnexus.github.io/pagy/docs/extras/meilisearch
|
95
100
|
# Default :pagy_search method: change only if you use also
|
96
101
|
# the elasticsearch_rails or searchkick extra that define the same method
|
97
102
|
# Pagy::DEFAULT[:meilisearch_pagy_search] = :pagy_search
|
@@ -100,7 +105,7 @@
|
|
100
105
|
# require 'pagy/extras/meilisearch'
|
101
106
|
|
102
107
|
# Metadata extra: Provides the pagination metadata to Javascript frameworks like Vue.js, react.js, etc.
|
103
|
-
# See https://ddnexus.github.io/pagy/extras/metadata
|
108
|
+
# See https://ddnexus.github.io/pagy/docs/extras/metadata
|
104
109
|
# you must require the frontend helpers internal extra (BEFORE the metadata extra) ONLY if you need also the :sequels
|
105
110
|
# require 'pagy/extras/frontend_helpers'
|
106
111
|
# require 'pagy/extras/metadata'
|
@@ -108,7 +113,7 @@
|
|
108
113
|
# Pagy::DEFAULT[:metadata] = %i[scaffold_url page prev next last] # example
|
109
114
|
|
110
115
|
# Searchkick extra: Paginate `Searchkick::Results` objects
|
111
|
-
# See https://ddnexus.github.io/pagy/extras/searchkick
|
116
|
+
# See https://ddnexus.github.io/pagy/docs/extras/searchkick
|
112
117
|
# Default :pagy_search method: change only if you use also
|
113
118
|
# the elasticsearch_rails or meilisearch extra that defines the same
|
114
119
|
# DEFAULT[:searchkick_pagy_search] = :pagy_search
|
@@ -122,51 +127,52 @@
|
|
122
127
|
# Frontend Extras
|
123
128
|
|
124
129
|
# Bootstrap extra: Add nav, nav_js and combo_nav_js helpers and templates for Bootstrap pagination
|
125
|
-
# See https://ddnexus.github.io/pagy/extras/bootstrap
|
130
|
+
# See https://ddnexus.github.io/pagy/docs/extras/bootstrap
|
126
131
|
# require 'pagy/extras/bootstrap'
|
127
132
|
|
128
133
|
# Bulma extra: Add nav, nav_js and combo_nav_js helpers and templates for Bulma pagination
|
129
|
-
# See https://ddnexus.github.io/pagy/extras/bulma
|
134
|
+
# See https://ddnexus.github.io/pagy/docs/extras/bulma
|
130
135
|
# require 'pagy/extras/bulma'
|
136
|
+
# DEFAULT[:bulma_nav_classes] = 'is-centered' # default
|
131
137
|
|
132
138
|
# Foundation extra: Add nav, nav_js and combo_nav_js helpers and templates for Foundation pagination
|
133
|
-
# See https://ddnexus.github.io/pagy/extras/foundation
|
139
|
+
# See https://ddnexus.github.io/pagy/docs/extras/foundation
|
134
140
|
# require 'pagy/extras/foundation'
|
135
141
|
|
136
142
|
# Materialize extra: Add nav, nav_js and combo_nav_js helpers for Materialize pagination
|
137
|
-
# See https://ddnexus.github.io/pagy/extras/materialize
|
143
|
+
# See https://ddnexus.github.io/pagy/docs/extras/materialize
|
138
144
|
# require 'pagy/extras/materialize'
|
139
145
|
|
140
146
|
# Navs extra: Add nav_js and combo_nav_js javascript helpers
|
141
147
|
# Notice: the other frontend extras add their own framework-styled versions,
|
142
148
|
# so require this extra only if you need the unstyled version
|
143
|
-
# See https://ddnexus.github.io/pagy/extras/navs
|
149
|
+
# See https://ddnexus.github.io/pagy/docs/extras/navs
|
144
150
|
# require 'pagy/extras/navs'
|
145
151
|
|
146
152
|
# Semantic extra: Add nav, nav_js and combo_nav_js helpers for Semantic UI pagination
|
147
|
-
# See https://ddnexus.github.io/pagy/extras/semantic
|
153
|
+
# See https://ddnexus.github.io/pagy/docs/extras/semantic
|
148
154
|
# require 'pagy/extras/semantic'
|
149
155
|
|
150
156
|
# UIkit extra: Add nav helper and templates for UIkit pagination
|
151
|
-
# See https://ddnexus.github.io/pagy/extras/uikit
|
157
|
+
# See https://ddnexus.github.io/pagy/docs/extras/uikit
|
152
158
|
# require 'pagy/extras/uikit'
|
153
159
|
|
154
160
|
# Multi size var used by the *_nav_js helpers
|
155
|
-
# See https://ddnexus.github.io/pagy/extras/navs#steps
|
161
|
+
# See https://ddnexus.github.io/pagy/docs/extras/navs#steps
|
156
162
|
# Pagy::DEFAULT[:steps] = { 0 => [2,3,3,2], 540 => [3,5,5,3], 720 => [5,7,7,5] } # example
|
157
163
|
|
158
164
|
|
159
165
|
# Feature Extras
|
160
166
|
|
161
167
|
# Gearbox extra: Automatically change the number of items per page depending on the page number
|
162
|
-
# See https://ddnexus.github.io/pagy/extras/gearbox
|
168
|
+
# See https://ddnexus.github.io/pagy/docs/extras/gearbox
|
163
169
|
# require 'pagy/extras/gearbox'
|
164
170
|
# set to false only if you want to make :gearbox_extra an opt-in variable
|
165
171
|
# Pagy::DEFAULT[:gearbox_extra] = false # default true
|
166
172
|
# Pagy::DEFAULT[:gearbox_items] = [15, 30, 60, 100] # default
|
167
173
|
|
168
174
|
# Items extra: Allow the client to request a custom number of items per page with an optional selector UI
|
169
|
-
# See https://ddnexus.github.io/pagy/extras/items
|
175
|
+
# See https://ddnexus.github.io/pagy/docs/extras/items
|
170
176
|
# require 'pagy/extras/items'
|
171
177
|
# set to false only if you want to make :items_extra an opt-in variable
|
172
178
|
# Pagy::DEFAULT[:items_extra] = false # default true
|
@@ -174,30 +180,36 @@
|
|
174
180
|
# Pagy::DEFAULT[:max_items] = 100 # default
|
175
181
|
|
176
182
|
# Overflow extra: Allow for easy handling of overflowing pages
|
177
|
-
# See https://ddnexus.github.io/pagy/extras/overflow
|
183
|
+
# See https://ddnexus.github.io/pagy/docs/extras/overflow
|
178
184
|
# require 'pagy/extras/overflow'
|
179
185
|
# Pagy::DEFAULT[:overflow] = :empty_page # default (other options: :last_page and :exception)
|
180
186
|
|
181
187
|
# Support extra: Extra support for features like: incremental, infinite, auto-scroll pagination
|
182
|
-
# See https://ddnexus.github.io/pagy/extras/support
|
188
|
+
# See https://ddnexus.github.io/pagy/docs/extras/support
|
183
189
|
# require 'pagy/extras/support'
|
184
190
|
|
185
191
|
# Trim extra: Remove the page=1 param from links
|
186
|
-
# See https://ddnexus.github.io/pagy/extras/trim
|
192
|
+
# See https://ddnexus.github.io/pagy/docs/extras/trim
|
187
193
|
# require 'pagy/extras/trim'
|
188
194
|
# set to false only if you want to make :trim_extra an opt-in variable
|
189
195
|
# Pagy::DEFAULT[:trim_extra] = false # default true
|
190
196
|
|
191
197
|
# Standalone extra: Use pagy in non Rack environment/gem
|
192
|
-
# See https://ddnexus.github.io/pagy/extras/standalone
|
198
|
+
# See https://ddnexus.github.io/pagy/docs/extras/standalone
|
193
199
|
# require 'pagy/extras/standalone'
|
194
200
|
# Pagy::DEFAULT[:url] = 'http://www.example.com/subdir' # optional default
|
195
201
|
|
202
|
+
# Jsonapi extra: Implements JSON:API specifications
|
203
|
+
# See https://ddnexus.github.io/pagy/docs/extras/jsonapi
|
204
|
+
# require 'pagy/extras/jsonapi' # must be required after the other extras
|
205
|
+
# set to false only if you want to make :jsonapi an opt-in variable
|
206
|
+
# Pagy::DEFAULT[:jsonapi] = false # default true
|
207
|
+
|
196
208
|
|
197
209
|
# Rails
|
198
210
|
# Enable the .js file required by the helpers that use javascript
|
199
211
|
# (pagy*_nav_js, pagy*_combo_nav_js, and pagy_items_selector_js)
|
200
|
-
# See https://ddnexus.github.io/pagy/
|
212
|
+
# See https://ddnexus.github.io/pagy/docs/api/javascript
|
201
213
|
|
202
214
|
# With the asset pipeline
|
203
215
|
# Sprockets need to look into the pagy javascripts dir, so add it to the assets paths
|
@@ -206,7 +218,7 @@
|
|
206
218
|
# I18n
|
207
219
|
|
208
220
|
# Pagy internal I18n: ~18x faster using ~10x less memory than the i18n gem
|
209
|
-
# See https://ddnexus.github.io/pagy/api/
|
221
|
+
# See https://ddnexus.github.io/pagy/docs/api/i18n
|
210
222
|
# Notice: No need to configure anything in this section if your app uses only "en"
|
211
223
|
# or if you use the i18n extra below
|
212
224
|
#
|
@@ -235,11 +247,11 @@
|
|
235
247
|
|
236
248
|
# I18n extra: uses the standard i18n gem which is ~18x slower using ~10x more memory
|
237
249
|
# than the default pagy internal i18n (see above)
|
238
|
-
# See https://ddnexus.github.io/pagy/extras/i18n
|
250
|
+
# See https://ddnexus.github.io/pagy/docs/extras/i18n
|
239
251
|
# require 'pagy/extras/i18n'
|
240
252
|
|
241
253
|
# Default i18n key
|
242
|
-
# Pagy::DEFAULT[:
|
254
|
+
# Pagy::DEFAULT[:item_i18n_key] = 'pagy.item_name' # default
|
243
255
|
|
244
256
|
|
245
257
|
# When you are done setting your own default freeze it, so it will not get changed accidentally
|
data/lib/javascripts/pagy-dev.js
CHANGED
@@ -79,10 +79,10 @@ window.Pagy = (() => {
|
|
79
79
|
} }); // trigger action
|
80
80
|
};
|
81
81
|
// Trim the ${page-param}=1 params in links
|
82
|
-
const trim = (link, param) => link.replace(new RegExp(`
|
82
|
+
const trim = (link, param) => link.replace(new RegExp(`[?&]${param}=1\\b(?!&)|\\b${param}=1&`), "");
|
83
83
|
// Public interface
|
84
84
|
return {
|
85
|
-
version: "
|
85
|
+
version: "7.0.0",
|
86
86
|
// Scan for elements with a "data-pagy" attribute and call their init functions with the decoded args
|
87
87
|
init(arg) {
|
88
88
|
const target = arg instanceof Element ? arg : document;
|
@@ -111,4 +111,4 @@ window.Pagy = (() => {
|
|
111
111
|
}
|
112
112
|
};
|
113
113
|
})();
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInBhZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQWNBLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFO0lBQ2YsNENBQTRDO0lBQzVDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQzdDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFhLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU3Ryw0QkFBNEI7SUFDNUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFhLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLENBQVMsRUFBRSxFQUFFO1FBQ2hGLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1FBQ3pDLE1BQU0sTUFBTSxHQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksU0FBUyxHQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sTUFBTSxHQUFNLENBQUMsSUFBVyxFQUFFLElBQVcsRUFBRSxLQUFZLEVBQVMsRUFBRSxDQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RixDQUFDLEVBQUUsQ0FB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ICAgICA9IHJlYWRvbmx5IFtUYWdzLCBTZXF1ZWxzLCBudWxsfExhYmVsU2VxdWVscywgc3RyaW5nP11cbnR5cGUgQ29tYm9BcmdzICAgID0gcmVhZG9ubHkgW3N0cmluZywgc3RyaW5nP11cbnR5cGUgU2VsZWN0b3JBcmdzID0gcmVhZG9ubHkgW251bWJlciwgc3RyaW5nLCBzdHJpbmc/XVxuaW50ZXJmYWNlIFRhZ3Mge1xuICAgIHJlYWRvbmx5IGJlZm9yZTogc3RyaW5nXG4gICAgcmVhZG9ubHkgbGluazogICBzdHJpbmdcbiAgICByZWFkb25seSBhY3RpdmU6IHN0cmluZ1xuICAgIHJlYWRvbmx5IGdhcDogICAgc3RyaW5nXG4gICAgcmVhZG9ubHkgYWZ0ZXI6ICBzdHJpbmdcbn1cbmludGVyZmFjZSBTZXF1ZWxzICAgICAgeyByZWFkb25seSBbd2lkdGg6c3RyaW5nXTogKHN0cmluZ3xudW1iZXIpW10gfVxuaW50ZXJmYWNlIExhYmVsU2VxdWVscyB7IHJlYWRvbmx5IFt3aWR0aDpzdHJpbmddOiBzdHJpbmdbXSB9XG5pbnRlcmZhY2UgTmF2RWxlbWVudCBleHRlbmRzIEVsZW1lbnQgeyBwYWd5UmVuZGVyKCk6IHZvaWQgfVxuXG5jb25zdCBQYWd5ID0gKCgpID0+IHtcbiAgICAvLyBUaGUgb2JzZXJ2ZXIgaW5zdGFuY2UgZm9yIHJlc3BvbnNpdmUgbmF2c1xuICAgIGNvbnN0IHJqc09ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGVudHJpZXMgPT5cbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGUgPT4gZS50YXJnZXQucXVlcnlTZWxlY3RvckFsbDxOYXZFbGVtZW50PihcIi5wYWd5LXJqc1wiKS5mb3JFYWNoKGVsID0+IGVsLnBhZ3lSZW5kZXIoKSkpKTtcblxuICAgIC8vIEluaXQgdGhlICpfbmF2X2pzIGhlbHBlcnNcbiAgICBjb25zdCBpbml0TmF2ID0gKGVsOk5hdkVsZW1lbnQsIFt0YWdzLCBzZXF1ZWxzLCBsYWJlbFNlcXVlbHMsIHRyaW1QYXJhbV06TmF2QXJncykgPT4ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBlbC5wYXJlbnRFbGVtZW50ID8/IGVsO1xuICAgICAgICBjb25zdCB3aWR0aHMgICAgPSBPYmplY3Qua2V5cyhzZXF1ZWxzKS5tYXAodyA9PiBwYXJzZUludCh3KSkuc29ydCgoYSwgYikgPT4gYiAtIGEpO1xuICAgICAgICBsZXQgbGFzdFdpZHRoICAgPSAtMTtcbiAgICAgICAgY29uc3QgZmlsbEluICAgID0gKGxpbms6c3RyaW5nLCBwYWdlOnN0cmluZywgbGFiZWw6c3RyaW5nKTpzdHJpbmcgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmsucmVwbGFjZSgvX19wYWd5X3BhZ2VfXy9nLCBwYWdlKS5yZXBsYWNlKC9fX3BhZ3lfbGFiZWxfXy9nLCBsYWJlbCk7XG4gICAgICAgIChlbC5wYWd5UmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IHdpZHRocy5maW5kKHcgPT4gdyA8IGNvbnRhaW5lci5jbGllbnRXaWR0aCkgfHwgMDtcbiAgICAgICAgICAgIGlmICh3aWR0aCA9PT0gbGFzdFdpZHRoKSB7IHJldHVybiB9IC8vIG5vIGNoYW5nZTogYWJvcnRcbiAgICAgICAgICAgIGxldCBodG1sICAgICA9IHRhZ3MuYmVmb3JlO1xuICAgICAgICAgICAgY29uc3Qgc2VyaWVzID0gc2VxdWVsc1t3aWR0aC50b1N0cmluZygpXTtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVscyA9IGxhYmVsU2VxdWVscz8uW3dpZHRoLnRvU3RyaW5nKCldID8/IHNlcmllcy5tYXAobCA9PiBsLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBpIGluIHNlcmllcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gID0gc2VyaWVzW2ldO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gbGFiZWxzW2ldO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdHJpbVBhcmFtID09PSBcInN0cmluZ1wiICYmIGl0ZW0gPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgaHRtbCArPSB0cmltKGZpbGxJbih0YWdzLmxpbmssIGl0ZW0udG9TdHJpbmcoKSwgbGFiZWwpLCB0cmltUGFyYW0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaHRtbCArPSBmaWxsSW4odGFncy5saW5rLCBpdGVtLnRvU3RyaW5nKCksIGxhYmVsKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0gPT09IFwiZ2FwXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaHRtbCArPSB0YWdzLmdhcDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgeyAvLyBhY3RpdmUgcGFnZVxuICAgICAgICAgICAgICAgICAgICBodG1sICs9IGZpbGxJbih0YWdzLmFjdGl2ZSwgaXRlbSwgbGFiZWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGh0bWwgKz0gdGFncy5hZnRlcjsgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGFsaWduLWFzc2lnbm1lbnRzL2FsaWduLWFzc2lnbm1lbnRzXG4gICAgICAgICAgICBlbC5pbm5lckhUTUwgPSBcIlwiO1xuICAgICAgICAgICAgZWwuaW5zZXJ0QWRqYWNlbnRIVE1MKFwiYWZ0ZXJiZWdpblwiLCBodG1sKTtcbiAgICAgICAgICAgIGxhc3RXaWR0aCA9IHdpZHRoO1xuICAgICAgICB9KSgpO1xuICAgICAgICBpZiAoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKFwicGFneS1yanNcIikpIHsgcmpzT2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXIpIH1cbiAgICB9O1xuXG4gICAgLy8gSW5pdCB0aGUgKl9jb21ib19uYXZfanMgaGVscGVyc1xuICAgIGNvbnN0IGluaXRDb21ibyA9IChlbDpFbGVtZW50LCBbbGluaywgdHJpbVBhcmFtXTpDb21ib0FyZ3MpID0+XG4gICAgICAgIGluaXRJbnB1dChlbCwgaW5wdXRWYWx1ZSA9PiBbaW5wdXRWYWx1ZSwgbGluay5yZXBsYWNlKC9fX3BhZ3lfcGFnZV9fLywgaW5wdXRWYWx1ZSldLCB0cmltUGFyYW0pO1xuXG4gICAgICAgIC8vIEluaXQgdGhlIGl0ZW1zX3NlbGVjdG9yX2pzIGhlbHBlclxuICAgIGNvbnN0IGluaXRTZWxlY3RvciA9IChlbDpFbGVtZW50LCBbZnJvbSwgbGluaywgdHJpbVBhcmFtXTpTZWxlY3RvckFyZ3MpID0+IHtcbiAgICAgICAgaW5pdElucHV0KGVsLCBpbnB1dFZhbHVlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2UgPSBNYXRoLm1heChNYXRoLmNlaWwoZnJvbSAvIHBhcnNlSW50KGlucHV0VmFsdWUpKSwgMSkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIGNvbnN0IGh0bWwgPSBsaW5rLnJlcGxhY2UoL19fcGFneV9wYWdlX18vLCBwYWdlKS5yZXBsYWNlKC9fX3BhZ3lfaXRlbXNfXy8sIGlucHV0VmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIFtwYWdlLCBodG1sXTtcbiAgICAgICAgfSwgdHJpbVBhcmFtKTtcbiAgICB9O1xuXG4gICAgLy8gSW5pdCB0aGUgaW5wdXQgZWxlbWVudFxuICAgIGNvbnN0IGluaXRJbnB1dCA9IChlbDpFbGVtZW50LCBnZXRWYXJzOih2OnN0cmluZyk9PltzdHJpbmcsIHN0cmluZ10sIHRyaW1QYXJhbT86c3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGlucHV0ICAgPSBlbC5xdWVyeVNlbGVjdG9yKFwiaW5wdXRcIikgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgY29uc3QgaW5pdGlhbCA9IGlucHV0LnZhbHVlO1xuICAgICAgICBjb25zdCBhY3Rpb24gID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBpZiAoaW5wdXQudmFsdWUgPT09IGluaXRpYWwpIHsgcmV0dXJuIH0gIC8vIG5vdCBjaGFuZ2VkXG4gICAgICAgICAgICBjb25zdCBbbWluLCB2YWwsIG1heF0gPSBbaW5wdXQubWluLCBpbnB1dC52YWx1ZSwgaW5wdXQubWF4XS5tYXAobiA9PiBwYXJzZUludChuKSB8fCAwKTtcbiAgICAgICAgICAgIGlmICh2YWwgPCBtaW4gfHwgdmFsID4gbWF4KSB7ICAvLyByZXNldCBpbnZhbGlkL291dC1vZi1yYW5nZVxuICAgICAgICAgICAgICAgIGlucHV0LnZhbHVlID0gaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBpbnB1dC5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgW3BhZ2UsIGh0bWxdID0gZ2V0VmFycyhpbnB1dC52YWx1ZSk7ICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBwcmVmZXItY29uc3RcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdHJpbVBhcmFtID09PSBcInN0cmluZ1wiICYmIHBhZ2UgPT09IFwiMVwiKSB7IGh0bWwgPSB0cmltKGh0bWwsIHRyaW1QYXJhbSkgfVxuICAgICAgICAgICAgZWwuaW5zZXJ0QWRqYWNlbnRIVE1MKFwiYWZ0ZXJiZWdpblwiLCBodG1sKTtcbiAgICAgICAgICAgIChlbC5xdWVyeVNlbGVjdG9yKFwiYVwiKSBhcyBIVE1MQW5jaG9yRWxlbWVudCkuY2xpY2soKTtcbiAgICAgICAgfTtcbiAgICAgICAgW1wiY2hhbmdlXCIsIFwiZm9jdXNcIl0uZm9yRWFjaChlID0+IGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoZSwgaW5wdXQuc2VsZWN0KSk7ICAgICAgICAvLyBhdXRvLXNlbGVjdFxuICAgICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgYWN0aW9uKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmlnZ2VyIGFjdGlvblxuICAgICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKFwia2V5cHJlc3NcIiwgZSA9PiB7IGlmIChlLmtleSA9PT0gXCJFbnRlclwiKSB7IGFjdGlvbigpIH0gfSk7IC8vIHRyaWdnZXIgYWN0aW9uXG4gICAgfTtcblxuICAgIC8vIFRyaW0gdGhlICR7cGFnZS1wYXJhbX09MSBwYXJhbXMgaW4gbGlua3NcbiAgICBjb25zdCB0cmltID0gKGxpbms6c3RyaW5nLCBwYXJhbTpzdHJpbmcpID0+XG4gICAgICAgIGxpbmsucmVwbGFjZShuZXcgUmVnRXhwKGAoXFxcXD98JmFtcDspJHtwYXJhbX09MVxcXFxiKD8hJmFtcDspfFxcXFxiJHtwYXJhbX09MSZhbXA7YCksIFwiXCIpO1xuXG4gICAgLy8gUHVibGljIGludGVyZmFjZVxuICAgIHJldHVybiB7XG4gICAgICAgIHZlcnNpb246IFwiNi4wLjBcIixcblxuICAgICAgICAvLyBTY2FuIGZvciBlbGVtZW50cyB3aXRoIGEgXCJkYXRhLXBhZ3lcIiBhdHRyaWJ1dGUgYW5kIGNhbGwgdGhlaXIgaW5pdCBmdW5jdGlvbnMgd2l0aCB0aGUgZGVjb2RlZCBhcmdzXG4gICAgICAgIGluaXQoYXJnPzpFbGVtZW50fG5ldmVyKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgICA9IGFyZyBpbnN0YW5jZW9mIEVsZW1lbnQgPyBhcmcgOiBkb2N1bWVudDtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGFyZ2V0LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS1wYWd5XVwiKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OGFycmF5ICAgICAgICAgPSBVaW50OEFycmF5LmZyb20oYXRvYihlbC5nZXRBdHRyaWJ1dGUoXCJkYXRhLXBhZ3lcIikgYXMgc3RyaW5nKSwgYyA9PiBjLmNoYXJDb2RlQXQoMCkpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBba2V5d29yZCwgLi4uYXJnc10gPSBKU09OLnBhcnNlKChuZXcgVGV4dERlY29kZXIoKSkuZGVjb2RlKHVpbnQ4YXJyYXkpKTsgLy8gYmFzZTY0LXV0ZjggLT4gSlNPTiAtPiBBcnJheVxuICAgICAgICAgICAgICAgICAgICBpZiAoa2V5d29yZCA9PT0gXCJuYXZcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE5hdihlbCBhcyBOYXZFbGVtZW50LCBhcmdzIGFzIE5hdkFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGtleXdvcmQgPT09IFwiY29tYm9cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdENvbWJvKGVsLCBhcmdzIGFzIENvbWJvQXJncyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5d29yZCA9PT0gXCJzZWxlY3RvclwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbml0U2VsZWN0b3IoZWwsIGFyZ3MgYXMgU2VsZWN0b3JBcmdzKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlNraXBwZWQgUGFneS5pbml0KCkgZm9yOiAlb1xcblVua25vd24ga2V5d29yZCAnJXMnXCIsIGVsLCBrZXl3b3JkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikgeyBjb25zb2xlLndhcm4oXCJTa2lwcGVkIFBhZ3kuaW5pdCgpIGZvcjogJW9cXG4lc1wiLCBlbCwgZXJyKSB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufSkoKTtcbiJdfQ==
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInBhZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQWtCQSxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRTtJQUNmLDRDQUE0QztJQUM1QyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUNOLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFhLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FDM0UsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFeEUsNEJBQTRCO0lBQzVCLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBYSxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFTLEVBQUUsRUFBRTtRQUNoRixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBTSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRixJQUFJLFNBQVMsR0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyQixNQUFNLE1BQU0sR0FBTSxDQUFDLElBQVcsRUFBRSxJQUFXLEVBQUUsS0FBWSxFQUFTLEVBQUUsQ0FDaEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0UsQ0FBQyxFQUFFLENB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QU8sR0FBRyxFQUFFLENBQUM7b0JBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUE7Z0JBQUMsQ0FBQztZQUM5RSxDQUFDO1FBQ0wsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsidHlwZSBOYXZBcmdzID0gcmVhZG9ubHkgW1RhZ3MsIFNlcXVlbHMsIG51bGwgfCBMYWJlbFNlcXVlbHMsIHN0cmluZz9dXG50eXBlIENvbWJvQXJncyA9IHJlYWRvbmx5IFtzdHJpbmcsIHN0cmluZz9dXG50eXBlIFNlbGVjdG9yQXJncyA9IHJlYWRvbmx5IFtudW1iZXIsIHN0cmluZywgc3RyaW5nP11cblxuaW50ZXJmYWNlIFRhZ3Mge1xuICAgIHJlYWRvbmx5IGJlZm9yZTpzdHJpbmdcbiAgICByZWFkb25seSBsaW5rOnN0cmluZ1xuICAgIHJlYWRvbmx5IGFjdGl2ZTpzdHJpbmdcbiAgICByZWFkb25seSBnYXA6c3RyaW5nXG4gICAgcmVhZG9ubHkgYWZ0ZXI6c3RyaW5nXG59XG5cbmludGVyZmFjZSBTZXF1ZWxzIHtyZWFkb25seSBbd2lkdGg6c3RyaW5nXTooc3RyaW5nIHwgbnVtYmVyKVtdfVxuXG5pbnRlcmZhY2UgTGFiZWxTZXF1ZWxzIHtyZWFkb25seSBbd2lkdGg6c3RyaW5nXTpzdHJpbmdbXX1cblxuaW50ZXJmYWNlIE5hdkVsZW1lbnQgZXh0ZW5kcyBFbGVtZW50IHtwYWd5UmVuZGVyKCk6dm9pZH1cblxuY29uc3QgUGFneSA9ICgoKSA9PiB7XG4gICAgLy8gVGhlIG9ic2VydmVyIGluc3RhbmNlIGZvciByZXNwb25zaXZlIG5hdnNcbiAgICBjb25zdCByanNPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihlbnRyaWVzID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJpZXMuZm9yRWFjaChlID0+IGUudGFyZ2V0LnF1ZXJ5U2VsZWN0b3JBbGw8TmF2RWxlbWVudD4oXCIucGFneS1yanNcIikuZm9yRWFjaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsID0+IGVsLnBhZ3lSZW5kZXIoKSkpKTtcblxuICAgIC8vIEluaXQgdGhlICpfbmF2X2pzIGhlbHBlcnNcbiAgICBjb25zdCBpbml0TmF2ID0gKGVsOk5hdkVsZW1lbnQsIFt0YWdzLCBzZXF1ZWxzLCBsYWJlbFNlcXVlbHMsIHRyaW1QYXJhbV06TmF2QXJncykgPT4ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBlbC5wYXJlbnRFbGVtZW50ID8/IGVsO1xuICAgICAgICBjb25zdCB3aWR0aHMgICAgPSBPYmplY3Qua2V5cyhzZXF1ZWxzKS5tYXAodyA9PiBwYXJzZUludCh3KSkuc29ydCgoYSwgYikgPT4gYiAtIGEpO1xuICAgICAgICBsZXQgbGFzdFdpZHRoICAgPSAtMTtcbiAgICAgICAgY29uc3QgZmlsbEluICAgID0gKGxpbms6c3RyaW5nLCBwYWdlOnN0cmluZywgbGFiZWw6c3RyaW5nKTpzdHJpbmcgPT5cbiAgICAgICAgICAgIGxpbmsucmVwbGFjZSgvX19wYWd5X3BhZ2VfXy9nLCBwYWdlKS5yZXBsYWNlKC9fX3BhZ3lfbGFiZWxfXy9nLCBsYWJlbCk7XG4gICAgICAgIChlbC5wYWd5UmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB3aWR0aHMuZmluZCh3ID0+IHcgPCBjb250YWluZXIuY2xpZW50V2lkdGgpIHx8IDA7XG4gICAgICAgICAgICBpZiAod2lkdGggPT09IGxhc3RXaWR0aCkgeyByZXR1cm4gfSAvLyBubyBjaGFuZ2U6IGFib3J0XG4gICAgICAgICAgICBsZXQgaHRtbCAgICAgPSB0YWdzLmJlZm9yZTtcbiAgICAgICAgICAgIGNvbnN0IHNlcmllcyA9IHNlcXVlbHNbd2lkdGgudG9TdHJpbmcoKV07XG4gICAgICAgICAgICBjb25zdCBsYWJlbHMgPSBsYWJlbFNlcXVlbHM/Llt3aWR0aC50b1N0cmluZygpXSA/PyBzZXJpZXMubWFwKGwgPT4gbC50b1N0cmluZygpKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaSBpbiBzZXJpZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtICA9IHNlcmllc1tpXTtcbiAgICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IGxhYmVsc1tpXTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRyaW1QYXJhbSA9PT0gXCJzdHJpbmdcIiAmJiBpdGVtID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGh0bWwgKz0gdHJpbShmaWxsSW4odGFncy5saW5rLCBpdGVtLnRvU3RyaW5nKCksIGxhYmVsKSwgdHJpbVBhcmFtKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpdGVtID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGh0bWwgKz0gZmlsbEluKHRhZ3MubGluaywgaXRlbS50b1N0cmluZygpLCBsYWJlbCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtID09PSBcImdhcFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGh0bWwgKz0gdGFncy5nYXA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHsgLy8gYWN0aXZlIHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgaHRtbCArPSBmaWxsSW4odGFncy5hY3RpdmUsIGl0ZW0sIGxhYmVsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBodG1sICs9IHRhZ3MuYWZ0ZXI7ICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBhbGlnbi1hc3NpZ25tZW50cy9hbGlnbi1hc3NpZ25tZW50c1xuICAgICAgICAgICAgZWwuaW5uZXJIVE1MID0gXCJcIjtcbiAgICAgICAgICAgIGVsLmluc2VydEFkamFjZW50SFRNTChcImFmdGVyYmVnaW5cIiwgaHRtbCk7XG4gICAgICAgICAgICBsYXN0V2lkdGggPSB3aWR0aDtcbiAgICAgICAgfSkoKTtcbiAgICAgICAgaWYgKGVsLmNsYXNzTGlzdC5jb250YWlucyhcInBhZ3ktcmpzXCIpKSB7IHJqc09ic2VydmVyLm9ic2VydmUoY29udGFpbmVyKSB9XG4gICAgfTtcblxuICAgIC8vIEluaXQgdGhlICpfY29tYm9fbmF2X2pzIGhlbHBlcnNcbiAgICBjb25zdCBpbml0Q29tYm8gPSAoZWw6RWxlbWVudCwgW2xpbmssIHRyaW1QYXJhbV06Q29tYm9BcmdzKSA9PlxuICAgICAgICBpbml0SW5wdXQoZWwsIGlucHV0VmFsdWUgPT4gW2lucHV0VmFsdWUsIGxpbmsucmVwbGFjZSgvX19wYWd5X3BhZ2VfXy8sIGlucHV0VmFsdWUpXSwgdHJpbVBhcmFtKTtcblxuICAgIC8vIEluaXQgdGhlIGl0ZW1zX3NlbGVjdG9yX2pzIGhlbHBlclxuICAgIGNvbnN0IGluaXRTZWxlY3RvciA9IChlbDpFbGVtZW50LCBbZnJvbSwgbGluaywgdHJpbVBhcmFtXTpTZWxlY3RvckFyZ3MpID0+IHtcbiAgICAgICAgaW5pdElucHV0KGVsLCBpbnB1dFZhbHVlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2UgPSBNYXRoLm1heChNYXRoLmNlaWwoZnJvbSAvIHBhcnNlSW50KGlucHV0VmFsdWUpKSwgMSkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIGNvbnN0IGh0bWwgPSBsaW5rLnJlcGxhY2UoL19fcGFneV9wYWdlX18vLCBwYWdlKS5yZXBsYWNlKC9fX3BhZ3lfaXRlbXNfXy8sIGlucHV0VmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIFtwYWdlLCBodG1sXTtcbiAgICAgICAgfSwgdHJpbVBhcmFtKTtcbiAgICB9O1xuXG4gICAgLy8gSW5pdCB0aGUgaW5wdXQgZWxlbWVudFxuICAgIGNvbnN0IGluaXRJbnB1dCA9IChlbDpFbGVtZW50LCBnZXRWYXJzOih2OnN0cmluZykgPT4gW3N0cmluZywgc3RyaW5nXSwgdHJpbVBhcmFtPzpzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXQgICA9IGVsLnF1ZXJ5U2VsZWN0b3IoXCJpbnB1dFwiKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBjb25zdCBpbml0aWFsID0gaW5wdXQudmFsdWU7XG4gICAgICAgIGNvbnN0IGFjdGlvbiAgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoaW5wdXQudmFsdWUgPT09IGluaXRpYWwpIHsgcmV0dXJuIH0gIC8vIG5vdCBjaGFuZ2VkXG4gICAgICAgICAgICBjb25zdCBbbWluLCB2YWwsIG1heF0gPSBbaW5wdXQubWluLCBpbnB1dC52YWx1ZSwgaW5wdXQubWF4XS5tYXAobiA9PiBwYXJzZUludChuKSB8fCAwKTtcbiAgICAgICAgICAgIGlmICh2YWwgPCBtaW4gfHwgdmFsID4gbWF4KSB7ICAvLyByZXNldCBpbnZhbGlkL291dC1vZi1yYW5nZVxuICAgICAgICAgICAgICAgIGlucHV0LnZhbHVlID0gaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBpbnB1dC5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgW3BhZ2UsIGh0bWxdID0gZ2V0VmFycyhpbnB1dC52YWx1ZSk7ICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBwcmVmZXItY29uc3RcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdHJpbVBhcmFtID09PSBcInN0cmluZ1wiICYmIHBhZ2UgPT09IFwiMVwiKSB7IGh0bWwgPSB0cmltKGh0bWwsIHRyaW1QYXJhbSkgfVxuICAgICAgICAgICAgZWwuaW5zZXJ0QWRqYWNlbnRIVE1MKFwiYWZ0ZXJiZWdpblwiLCBodG1sKTtcbiAgICAgICAgICAgIChlbC5xdWVyeVNlbGVjdG9yKFwiYVwiKSBhcyBIVE1MQW5jaG9yRWxlbWVudCkuY2xpY2soKTtcbiAgICAgICAgfTtcbiAgICAgICAgW1wiY2hhbmdlXCIsIFwiZm9jdXNcIl0uZm9yRWFjaChlID0+IGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoZSwgaW5wdXQuc2VsZWN0KSk7ICAgICAgICAvLyBhdXRvLXNlbGVjdFxuICAgICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgYWN0aW9uKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmlnZ2VyIGFjdGlvblxuICAgICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKFwia2V5cHJlc3NcIiwgZSA9PiB7IGlmIChlLmtleSA9PT0gXCJFbnRlclwiKSB7IGFjdGlvbigpIH0gfSk7IC8vIHRyaWdnZXIgYWN0aW9uXG4gICAgfTtcblxuICAgIC8vIFRyaW0gdGhlICR7cGFnZS1wYXJhbX09MSBwYXJhbXMgaW4gbGlua3NcbiAgICBjb25zdCB0cmltID0gKGxpbms6c3RyaW5nLCBwYXJhbTpzdHJpbmcpID0+XG4gICAgICAgIGxpbmsucmVwbGFjZShuZXcgUmVnRXhwKGBbPyZdJHtwYXJhbX09MVxcXFxiKD8hJil8XFxcXGIke3BhcmFtfT0xJmApLCBcIlwiKTtcblxuICAgIC8vIFB1YmxpYyBpbnRlcmZhY2VcbiAgICByZXR1cm4ge1xuICAgICAgICB2ZXJzaW9uOiBcIjcuMC4wXCIsXG5cbiAgICAgICAgLy8gU2NhbiBmb3IgZWxlbWVudHMgd2l0aCBhIFwiZGF0YS1wYWd5XCIgYXR0cmlidXRlIGFuZCBjYWxsIHRoZWlyIGluaXQgZnVuY3Rpb25zIHdpdGggdGhlIGRlY29kZWQgYXJnc1xuICAgICAgICBpbml0KGFyZz86RWxlbWVudCB8IG5ldmVyKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgICA9IGFyZyBpbnN0YW5jZW9mIEVsZW1lbnQgPyBhcmcgOiBkb2N1bWVudDtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGFyZ2V0LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS1wYWd5XVwiKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OGFycmF5ICAgICAgICAgPSBVaW50OEFycmF5LmZyb20oYXRvYihlbC5nZXRBdHRyaWJ1dGUoXCJkYXRhLXBhZ3lcIikgYXMgc3RyaW5nKSwgYyA9PiBjLmNoYXJDb2RlQXQoMCkpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBba2V5d29yZCwgLi4uYXJnc10gPSBKU09OLnBhcnNlKChuZXcgVGV4dERlY29kZXIoKSkuZGVjb2RlKHVpbnQ4YXJyYXkpKTsgLy8gYmFzZTY0LXV0ZjggLT4gSlNPTiAtPiBBcnJheVxuICAgICAgICAgICAgICAgICAgICBpZiAoa2V5d29yZCA9PT0gXCJuYXZcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE5hdihlbCBhcyBOYXZFbGVtZW50LCBhcmdzIGFzIE5hdkFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGtleXdvcmQgPT09IFwiY29tYm9cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdENvbWJvKGVsLCBhcmdzIGFzIENvbWJvQXJncyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5d29yZCA9PT0gXCJzZWxlY3RvclwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbml0U2VsZWN0b3IoZWwsIGFyZ3MgYXMgU2VsZWN0b3JBcmdzKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlNraXBwZWQgUGFneS5pbml0KCkgZm9yOiAlb1xcblVua25vd24ga2V5d29yZCAnJXMnXCIsIGVsLCBrZXl3b3JkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikgeyBjb25zb2xlLndhcm4oXCJTa2lwcGVkIFBhZ3kuaW5pdCgpIGZvcjogJW9cXG4lc1wiLCBlbCwgZXJyKSB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufSkoKTtcbiJdfQ==
|
@@ -78,10 +78,10 @@ const Pagy = (() => {
|
|
78
78
|
} }); // trigger action
|
79
79
|
};
|
80
80
|
// Trim the ${page-param}=1 params in links
|
81
|
-
const trim = (link, param) => link.replace(new RegExp(`
|
81
|
+
const trim = (link, param) => link.replace(new RegExp(`[?&]${param}=1\\b(?!&)|\\b${param}=1&`), "");
|
82
82
|
// Public interface
|
83
83
|
return {
|
84
|
-
version: "
|
84
|
+
version: "7.0.0",
|
85
85
|
// Scan for elements with a "data-pagy" attribute and call their init functions with the decoded args
|
86
86
|
init(arg) {
|
87
87
|
const target = arg instanceof Element ? arg : document;
|
data/lib/javascripts/pagy.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(){
|
1
|
+
!function(){let e=(()=>{let e=new ResizeObserver(e=>e.forEach(e=>e.target.querySelectorAll(".pagy-rjs").forEach(e=>e.pagyRender()))),t=(t,[r,n,a,i])=>{let l=t.parentElement??t,c=Object.keys(n).map(e=>parseInt(e)).sort((e,t)=>t-e),p=-1,s=(e,t,r)=>e.replace(/__pagy_page__/g,t).replace(/__pagy_label__/g,r);(t.pagyRender=function(){let e=c.find(e=>e<l.clientWidth)||0;if(e===p)return;let g=r.before,y=n[e.toString()],f=a?.[e.toString()]??y.map(e=>e.toString());for(let e in y){let t=y[e],n=f[e];"string"==typeof i&&1===t?g+=o(s(r.link,t.toString(),n),i):"number"==typeof t?g+=s(r.link,t.toString(),n):"gap"===t?g+=r.gap:g+=s(r.active,t,n)}g+=r.after,t.innerHTML="",t.insertAdjacentHTML("afterbegin",g),p=e})(),t.classList.contains("pagy-rjs")&&e.observe(l)},r=(e,[t,r])=>a(e,e=>[e,t.replace(/__pagy_page__/,e)],r),n=(e,[t,r,n])=>{a(e,e=>{let n=Math.max(Math.ceil(t/parseInt(e)),1).toString(),a=r.replace(/__pagy_page__/,n).replace(/__pagy_items__/,e);return[n,a]},n)},a=(e,t,r)=>{let n=e.querySelector("input"),a=n.value,i=function(){if(n.value===a)return;let[i,l,c]=[n.min,n.value,n.max].map(e=>parseInt(e)||0);if(l<i||l>c){n.value=a,n.select();return}let[p,s]=t(n.value);"string"==typeof r&&"1"===p&&(s=o(s,r)),e.insertAdjacentHTML("afterbegin",s),e.querySelector("a").click()};["change","focus"].forEach(e=>n.addEventListener(e,n.select)),n.addEventListener("focusout",i),n.addEventListener("keypress",e=>{"Enter"===e.key&&i()})},o=(e,t)=>e.replace(RegExp(`[?&]${t}=1\\b(?!&)|\\b${t}=1&`),"");return{version:"7.0.0",init(e){for(let a of(e instanceof Element?e:document).querySelectorAll("[data-pagy]"))try{let e=Uint8Array.from(atob(a.getAttribute("data-pagy")),e=>e.charCodeAt(0)),[o,...i]=JSON.parse(new TextDecoder().decode(e));"nav"===o?t(a,i):"combo"===o?r(a,i):"selector"===o?n(a,i):console.warn("Skipped Pagy.init() for: %o\nUnknown keyword '%s'",a,o)}catch(e){console.warn("Skipped Pagy.init() for: %o\n%s",a,e)}}}})();window.Pagy=e}();
|
data/lib/locales/ar.yml
CHANGED
@@ -1,8 +1,20 @@
|
|
1
|
-
# :arabic pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/
|
2
|
-
|
1
|
+
# :arabic pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/pagy/i18n.rb)
|
3
2
|
ar:
|
4
3
|
pagy:
|
5
|
-
|
4
|
+
aria_Label:
|
5
|
+
# please add a comment in the https://github.com/ddnexus/pagy/issues/577
|
6
|
+
# posting the translation of the following "Page"/"Pages" with the plurals for this locale
|
7
|
+
nav: "Pages"
|
8
|
+
# zero: ""
|
9
|
+
# two: ""
|
10
|
+
# few: ""
|
11
|
+
# many: ""
|
12
|
+
# other: ""
|
13
|
+
prev: "السابق"
|
14
|
+
next: "التالي"
|
15
|
+
prev: "<"
|
16
|
+
next: ">"
|
17
|
+
gap: "…"
|
6
18
|
item_name:
|
7
19
|
zero: "صفر"
|
8
20
|
one: "عنصر"
|
@@ -10,17 +22,9 @@ ar:
|
|
10
22
|
few: "قليل"
|
11
23
|
many: "كثير"
|
12
24
|
other: "عناصر"
|
13
|
-
|
14
|
-
nav:
|
15
|
-
prev: "‹ السابق"
|
16
|
-
next: "التالي ›"
|
17
|
-
gap: "…"
|
18
|
-
|
19
25
|
info:
|
20
26
|
no_items: "لا يوجد %{item_name}"
|
21
27
|
single_page: "عرض <b>%{count}</b> %{item_name}"
|
22
28
|
multiple_pages: "عرض %{item_name} <b>%{from}-%{to}</b> من اجمالي <b>%{count}</b>"
|
23
|
-
|
24
29
|
combo_nav_js: "الصفحة %{page_input} من %{pages}"
|
25
|
-
|
26
30
|
items_selector_js: "عرض %{items_input} %{item_name} لكل صفحة"
|
data/lib/locales/be.yml
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# :east_slavic pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/pagy/i18n.rb)
|
2
|
+
be:
|
3
|
+
pagy:
|
4
|
+
aria_label:
|
5
|
+
nav:
|
6
|
+
one: "Старонка"
|
7
|
+
few: "Старонкi"
|
8
|
+
many: "Старонкi"
|
9
|
+
other: "Старонкi"
|
10
|
+
prev: "Назад"
|
11
|
+
next: "Наперад"
|
12
|
+
prev: "<"
|
13
|
+
next: ">"
|
14
|
+
gap: "…"
|
15
|
+
item_name:
|
16
|
+
one: "запіс"
|
17
|
+
few: "запісы"
|
18
|
+
many: "запісаў"
|
19
|
+
other: "запісаў"
|
20
|
+
info:
|
21
|
+
no_items: "Пакуль %{item_name} няма"
|
22
|
+
single_page: "<b>%{count}</b> %{item_name}"
|
23
|
+
multiple_pages: "Усяго <b>%{count}</b> %{item_name}, паказаны з <b>%{from}</b> па <b>%{to}</b>"
|
24
|
+
combo_nav_js: "<label>Старонка %{page_input} з %{pages}</label>"
|
25
|
+
items_selector_js: "<label>Паказаць %{items_input} %{item_name} на старонцы</label>"
|
data/lib/locales/bg.yml
CHANGED
@@ -1,22 +1,21 @@
|
|
1
|
-
# :one_other pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/
|
2
|
-
|
1
|
+
# :one_other pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/pagy/i18n.rb)
|
3
2
|
bg:
|
4
3
|
pagy:
|
5
|
-
|
4
|
+
aria_label:
|
5
|
+
nav:
|
6
|
+
one: "Страница"
|
7
|
+
other: "Страници"
|
8
|
+
prev: "Предишна"
|
9
|
+
next: "Следваща"
|
10
|
+
prev: "<"
|
11
|
+
next: ">"
|
12
|
+
gap: "…"
|
6
13
|
item_name:
|
7
14
|
one: "резултат"
|
8
15
|
other: "резултати"
|
9
|
-
|
10
|
-
nav:
|
11
|
-
prev: "‹ Предишна"
|
12
|
-
next: "Следваща ›"
|
13
|
-
gap: "…"
|
14
|
-
|
15
16
|
info:
|
16
17
|
no_items: "Няма намерени %{item_name}"
|
17
18
|
single_page: "Показани са <b>%{count}</b> %{item_name}"
|
18
19
|
multiple_pages: "Показани са %{item_name} <b>%{from}-%{to}</b> от <b>%{count}</b> общо"
|
19
|
-
|
20
20
|
combo_nav_js: "<label>Страница %{page_input} от %{pages}</label>"
|
21
|
-
|
22
21
|
items_selector_js: "<label>Покажи %{items_input} %{item_name} на страница</label>"
|
data/lib/locales/bs.yml
CHANGED
@@ -1,24 +1,25 @@
|
|
1
|
-
# :east_slavic pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/
|
2
|
-
|
1
|
+
# :east_slavic pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/pagy/i18n.rb)
|
3
2
|
bs:
|
4
3
|
pagy:
|
5
|
-
|
4
|
+
aria_label:
|
5
|
+
nav:
|
6
|
+
one: "Stranica"
|
7
|
+
few: "Stranice"
|
8
|
+
many: "Stranica"
|
9
|
+
other: "Stranice"
|
10
|
+
prev: "Prethodna"
|
11
|
+
next: "Sljedeća"
|
12
|
+
prev: "<"
|
13
|
+
next: ">"
|
14
|
+
gap: "…"
|
6
15
|
item_name:
|
7
16
|
one: "stavka"
|
8
17
|
few: "stavke"
|
9
18
|
many: "stavki"
|
10
19
|
other: "stavki"
|
11
|
-
|
12
|
-
nav:
|
13
|
-
prev: "‹ Prethodna"
|
14
|
-
next: "Sljedeća ›"
|
15
|
-
gap: "…"
|
16
|
-
|
17
20
|
info:
|
18
21
|
no_items: "Nije pronađena %{item_name}"
|
19
22
|
single_page: "Prikazuje se <b>%{count}</b> %{item_name}"
|
20
23
|
multiple_pages: "Prikaz %{item_name} <b>%{from}-%{to}</b> od <b>%{count}</b> ukupno"
|
21
|
-
|
22
24
|
combo_nav_js: "<label>Stranica %{page_input} od %{pages}</label>"
|
23
|
-
|
24
25
|
items_selector_js: "<label>Prikaži %{items_input} %{item_name} po stranici</label>"
|
data/lib/locales/ca.yml
CHANGED
@@ -1,22 +1,23 @@
|
|
1
|
-
# :one_other pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/
|
2
|
-
|
1
|
+
# :one_other pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/pagy/i18n.rb)
|
3
2
|
ca:
|
4
3
|
pagy:
|
5
|
-
|
4
|
+
aria_label:
|
5
|
+
# please add a comment in the https://github.com/ddnexus/pagy/issues/581
|
6
|
+
# posting the translation of the following "Page"/"Pages" with the plurals for this locale
|
7
|
+
nav: "Pages"
|
8
|
+
# one: ""
|
9
|
+
# other: ""
|
10
|
+
prev: "Anterior"
|
11
|
+
next: "Següent"
|
12
|
+
prev: "<"
|
13
|
+
next: ">"
|
14
|
+
gap: "…"
|
6
15
|
item_name:
|
7
16
|
one: "element"
|
8
17
|
other: "elements"
|
9
|
-
|
10
|
-
nav:
|
11
|
-
prev: "‹ Anterior"
|
12
|
-
next: "Següent ›"
|
13
|
-
gap: "…"
|
14
|
-
|
15
18
|
info:
|
16
19
|
no_items: "No s'ha trobat cap resultat"
|
17
20
|
single_page: "Mostrant <b>%{count}</b> %{item_name}"
|
18
21
|
multiple_pages: "Mostrant %{item_name} <b>%{from}-%{to}</b> de <b>%{count}</b> en total"
|
19
|
-
|
20
22
|
combo_nav_js: "<label>Pàgina %{page_input} de %{pages}</label>"
|
21
|
-
|
22
23
|
items_selector_js: "<label>Mostra %{items_input} %{item_name} per pàgina</label>"
|
data/lib/locales/cs.yml
CHANGED
@@ -1,22 +1,25 @@
|
|
1
|
-
# :
|
2
|
-
|
1
|
+
# :west_slavic pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/pagy/i18n.rb)
|
3
2
|
cs:
|
4
3
|
pagy:
|
4
|
+
# please add a comment in the https://github.com/ddnexus/pagy/issues/582
|
5
|
+
# posting the translation of the following "Page"/"Pages" with the plurals for this locale
|
6
|
+
aria_label:
|
7
|
+
nav: "Pages"
|
8
|
+
# one: ""
|
9
|
+
# few: ""
|
10
|
+
# other: ""
|
11
|
+
prev: "Předchozí"
|
12
|
+
next: "Další"
|
13
|
+
prev: "<"
|
14
|
+
next: ">"
|
15
|
+
gap: "…"
|
5
16
|
item_name:
|
6
17
|
one: "položka"
|
7
18
|
few: "položek"
|
8
19
|
other: "položky"
|
9
|
-
|
10
|
-
nav:
|
11
|
-
prev: "‹ Předchozí"
|
12
|
-
next: "Další ›"
|
13
|
-
gap: "…"
|
14
|
-
|
15
20
|
info:
|
16
21
|
no_items: "Nic nebylo nalezeno"
|
17
22
|
single_page: "Zobrazeno <b>%{count}</b> %{item_name}"
|
18
23
|
multiple_pages: "Zobrazeno %{item_name} <b>%{from}-%{to}</b> z <b>%{count}</b> celkem"
|
19
|
-
|
20
24
|
combo_nav_js: "<label>Strana %{page_input} z %{pages}</label>"
|
21
|
-
|
22
25
|
items_selector_js: "<label>Zobrazit %{items_input} %{item_name} na stránce</label>"
|
data/lib/locales/da.yml
CHANGED
@@ -1,22 +1,23 @@
|
|
1
|
-
# :one_other pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/
|
2
|
-
|
1
|
+
# :one_other pluralization (see https://github.com/ddnexus/pagy/blob/master/lib/pagy/i18n.rb)
|
3
2
|
da:
|
4
3
|
pagy:
|
5
|
-
|
4
|
+
aria_label:
|
5
|
+
# please add a comment in the https://github.com/ddnexus/pagy/issues/583
|
6
|
+
# posting the translation of the following "Page"/"Pages" with the plurals for this locale
|
7
|
+
nav: "Pages"
|
8
|
+
# one: ""
|
9
|
+
# other: ""
|
10
|
+
prev: "Forrige"
|
11
|
+
next: "Næste"
|
12
|
+
prev: "<"
|
13
|
+
next: ">"
|
14
|
+
gap: "…"
|
6
15
|
item_name:
|
7
16
|
one: "resultat"
|
8
17
|
other: "resultater"
|
9
|
-
|
10
|
-
nav:
|
11
|
-
prev: "‹ Forrige"
|
12
|
-
next: "Næste ›"
|
13
|
-
gap: "…"
|
14
|
-
|
15
18
|
info:
|
16
19
|
no_items: "Ingen %{item_name} fundet"
|
17
20
|
single_page: "Viser <b>%{count}</b> %{item_name}"
|
18
|
-
multiple_pages: "Viser %{item_name} <b>%{from}-%{to}</b>
|
19
|
-
|
20
|
-
combo_nav_js: "<label>Side %{page_input} of %{pages}</label>"
|
21
|
-
|
21
|
+
multiple_pages: "Viser %{item_name} <b>%{from}-%{to}</b> af <b>%{count}</b> totalt"
|
22
|
+
combo_nav_js: "<label>Side %{page_input} af %{pages}</label>"
|
22
23
|
items_selector_js: "<label>Antal %{items_input} %{item_name} per side</label>"
|