ui_bibz 4.0.0.beta7 → 4.0.0.beta8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.overcommit.yml +0 -3
- data/.rubocop.yml +1 -4
- data/.ruby-version +1 -1
- data/Gemfile.lock +38 -41
- data/app/assets/config/ui_bibz.js +1 -0
- data/lib/ui_bibz/concerns/models/searchable.rb +3 -3
- data/lib/ui_bibz/helpers/utils_helper.rb +2 -2
- data/lib/ui_bibz/infos.rb +2 -2
- data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +8 -8
- data/lib/ui_bibz/ui/core/forms/buttons/button.rb +1 -1
- data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +1 -1
- data/lib/ui_bibz/ui/core/lists/components/list.rb +1 -1
- data/lib/ui_bibz/ui/core/navigations/tab_group.rb +1 -1
- data/lib/ui_bibz/ui/core/notifications/toast.rb +3 -3
- data/lib/ui_bibz/ui/ux/tables/table.rb +1 -1
- data/lib/ui_bibz/ui/ux/tables/table_pagination.rb +0 -2
- data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.rb +15 -7
- data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +1 -1
- data/lib/ui_bibz.rb +0 -1
- data/test/ui/ux/tables/table_test.rb +1 -1
- data/ui_bibz.gemspec +2 -4
- data/vendor/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
- data/vendor/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
- data/vendor/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
- data/vendor/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
- data/vendor/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
- data/vendor/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
- data/vendor/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
- data/vendor/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
- data/vendor/assets/javascripts/fontawesome/all.js +308 -259
- data/vendor/assets/javascripts/fontawesome/all.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/brands.js +93 -68
- data/vendor/assets/javascripts/fontawesome/brands.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/conflict-detection.js +44 -36
- data/vendor/assets/javascripts/fontawesome/conflict-detection.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/fontawesome.js +49 -41
- data/vendor/assets/javascripts/fontawesome/fontawesome.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/regular.js +59 -51
- data/vendor/assets/javascripts/fontawesome/regular.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/solid.js +110 -102
- data/vendor/assets/javascripts/fontawesome/solid.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/v4-shims.js +44 -36
- data/vendor/assets/javascripts/fontawesome/v4-shims.min.js +2 -2
- data/vendor/assets/stylesheets/fontawesome/_mixins.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/_variables.scss +34 -2
- data/vendor/assets/stylesheets/fontawesome/brands.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/regular.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/solid.scss +3 -3
- data/vendor/assets/stylesheets/fontawesome/v4-shims.scss +1 -1
- metadata +6 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af01a0145989f1ebec03cb021d895a0308ca15870a575e46a32ebd6a7ce9810e
|
4
|
+
data.tar.gz: 1ab09e1b4fc00aa28e1778f2498371e5eac60cf398a12a6c538a940797f3f698
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ab623a9538ae89b59e79dfc2e1173b5c8d171364415cbd1adaedceedb247e6c48b82654b78433155a18946c413c8a4d3b66f1d25a29d4f8e18a29f8b6c2b6c4
|
7
|
+
data.tar.gz: bf448fb0bdb071c7dc915582265bec94dbd28b71647016c119870f7af23e9b00d1a50166a0789c6f95802bb61be91de5357f51f5d81c57217820249d8b98da3f
|
data/.overcommit.yml
CHANGED
data/.rubocop.yml
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-3.
|
1
|
+
ruby-3.3.0
|
data/Gemfile.lock
CHANGED
@@ -1,13 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ui_bibz (4.0.0.
|
4
|
+
ui_bibz (4.0.0.beta8)
|
5
5
|
bootstrap (~> 5.3.0)
|
6
6
|
dartsass-sprockets (~> 3.0.0)
|
7
7
|
rails (>= 7.1.0)
|
8
|
-
|
9
|
-
will_paginate (~> 3.3.0)
|
10
|
-
will_paginate-bootstrap4
|
8
|
+
will_paginate
|
11
9
|
|
12
10
|
GEM
|
13
11
|
remote: https://rubygems.org/
|
@@ -87,11 +85,11 @@ GEM
|
|
87
85
|
mutex_m
|
88
86
|
tzinfo (~> 2.0)
|
89
87
|
ast (2.4.2)
|
90
|
-
autoprefixer-rails (10.4.
|
88
|
+
autoprefixer-rails (10.4.16.0)
|
91
89
|
execjs (~> 2)
|
92
90
|
awesome_print (1.9.2)
|
93
91
|
base64 (0.2.0)
|
94
|
-
bigdecimal (3.1.
|
92
|
+
bigdecimal (3.1.5)
|
95
93
|
bootstrap (5.3.2)
|
96
94
|
autoprefixer-rails (>= 9.1.0)
|
97
95
|
popper_js (>= 2.11.8, < 3)
|
@@ -122,9 +120,8 @@ GEM
|
|
122
120
|
railties (>= 3.0.0)
|
123
121
|
globalid (1.2.1)
|
124
122
|
activesupport (>= 6.1)
|
125
|
-
google-protobuf (3.25.1
|
126
|
-
|
127
|
-
haml (6.2.3)
|
123
|
+
google-protobuf (3.25.1)
|
124
|
+
haml (6.3.0)
|
128
125
|
temple (>= 0.8.2)
|
129
126
|
thor
|
130
127
|
tilt
|
@@ -135,16 +132,16 @@ GEM
|
|
135
132
|
railties (>= 5.1)
|
136
133
|
i18n (1.14.1)
|
137
134
|
concurrent-ruby (~> 1.0)
|
138
|
-
importmap-rails (
|
135
|
+
importmap-rails (2.0.1)
|
139
136
|
actionpack (>= 6.0.0)
|
140
137
|
activesupport (>= 6.0.0)
|
141
138
|
railties (>= 6.0.0)
|
142
139
|
iniparse (1.5.0)
|
143
|
-
io-console (0.
|
144
|
-
irb (1.
|
140
|
+
io-console (0.7.1)
|
141
|
+
irb (1.11.0)
|
145
142
|
rdoc
|
146
143
|
reline (>= 0.3.8)
|
147
|
-
json (2.
|
144
|
+
json (2.7.1)
|
148
145
|
language_server-protocol (3.17.0.3)
|
149
146
|
loofah (2.22.0)
|
150
147
|
crass (~> 1.0.2)
|
@@ -158,32 +155,32 @@ GEM
|
|
158
155
|
mini_mime (1.1.5)
|
159
156
|
minitest (5.20.0)
|
160
157
|
mutex_m (0.2.0)
|
161
|
-
net-imap (0.4.
|
158
|
+
net-imap (0.4.9.1)
|
162
159
|
date
|
163
160
|
net-protocol
|
164
161
|
net-pop (0.1.2)
|
165
162
|
net-protocol
|
166
163
|
net-protocol (0.2.2)
|
167
164
|
timeout
|
168
|
-
net-smtp (0.4.0)
|
165
|
+
net-smtp (0.4.0.1)
|
169
166
|
net-protocol
|
170
|
-
nio4r (2.
|
171
|
-
nokogiri (1.
|
167
|
+
nio4r (2.7.0)
|
168
|
+
nokogiri (1.16.0-x86_64-darwin)
|
172
169
|
racc (~> 1.4)
|
173
|
-
nokogiri (1.
|
170
|
+
nokogiri (1.16.0-x86_64-linux)
|
174
171
|
racc (~> 1.4)
|
175
|
-
overcommit (0.
|
172
|
+
overcommit (0.61.0)
|
176
173
|
childprocess (>= 0.6.3, < 5)
|
177
174
|
iniparse (~> 1.4)
|
178
175
|
rexml (~> 3.2)
|
179
|
-
parallel (1.
|
180
|
-
parser (3.
|
176
|
+
parallel (1.24.0)
|
177
|
+
parser (3.3.0.2)
|
181
178
|
ast (~> 2.4.1)
|
182
179
|
racc
|
183
180
|
popper_js (2.11.8)
|
184
|
-
psych (5.1.
|
181
|
+
psych (5.1.2)
|
185
182
|
stringio
|
186
|
-
puma (6.4.
|
183
|
+
puma (6.4.2)
|
187
184
|
nio4r (~> 2.0)
|
188
185
|
racc (1.7.3)
|
189
186
|
rack (3.0.8)
|
@@ -225,13 +222,13 @@ GEM
|
|
225
222
|
zeitwerk (~> 2.6)
|
226
223
|
rainbow (3.1.1)
|
227
224
|
rake (13.1.0)
|
228
|
-
rdoc (6.6.
|
225
|
+
rdoc (6.6.2)
|
229
226
|
psych (>= 4.0.0)
|
230
|
-
regexp_parser (2.8.
|
231
|
-
reline (0.4.
|
227
|
+
regexp_parser (2.8.3)
|
228
|
+
reline (0.4.2)
|
232
229
|
io-console (~> 0.5)
|
233
230
|
rexml (3.2.6)
|
234
|
-
rubocop (1.
|
231
|
+
rubocop (1.59.0)
|
235
232
|
json (~> 2.3)
|
236
233
|
language_server-protocol (>= 3.17.0)
|
237
234
|
parallel (~> 1.10)
|
@@ -239,20 +236,22 @@ GEM
|
|
239
236
|
rainbow (>= 2.2.2, < 4.0)
|
240
237
|
regexp_parser (>= 1.8, < 3.0)
|
241
238
|
rexml (>= 3.2.5, < 4.0)
|
242
|
-
rubocop-ast (>= 1.
|
239
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
243
240
|
ruby-progressbar (~> 1.7)
|
244
241
|
unicode-display_width (>= 2.4.0, < 3.0)
|
245
242
|
rubocop-ast (1.30.0)
|
246
243
|
parser (>= 3.2.1.0)
|
247
|
-
rubocop-minitest (0.
|
244
|
+
rubocop-minitest (0.34.3)
|
248
245
|
rubocop (>= 1.39, < 2.0)
|
249
|
-
|
250
|
-
|
251
|
-
rubocop
|
252
|
-
|
246
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
247
|
+
rubocop-performance (1.20.1)
|
248
|
+
rubocop (>= 1.48.1, < 2.0)
|
249
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
250
|
+
rubocop-rails (2.23.1)
|
253
251
|
activesupport (>= 4.2.0)
|
254
252
|
rack (>= 1.1)
|
255
253
|
rubocop (>= 1.33.0, < 2.0)
|
254
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
256
255
|
ruby-progressbar (1.13.0)
|
257
256
|
ruby2_keywords (0.0.5)
|
258
257
|
sass-embedded (1.66.1-x86_64-darwin)
|
@@ -275,9 +274,9 @@ GEM
|
|
275
274
|
actionpack (>= 5.2)
|
276
275
|
activesupport (>= 5.2)
|
277
276
|
sprockets (>= 3.0.0)
|
278
|
-
sqlite3 (1.
|
279
|
-
sqlite3 (1.
|
280
|
-
stringio (3.0
|
277
|
+
sqlite3 (1.7.0-x86_64-darwin)
|
278
|
+
sqlite3 (1.7.0-x86_64-linux)
|
279
|
+
stringio (3.1.0)
|
281
280
|
temple (0.10.3)
|
282
281
|
thor (1.3.0)
|
283
282
|
tilt (2.3.0)
|
@@ -289,15 +288,13 @@ GEM
|
|
289
288
|
websocket-driver (0.7.6)
|
290
289
|
websocket-extensions (>= 0.1.0)
|
291
290
|
websocket-extensions (0.1.5)
|
292
|
-
|
293
|
-
will_paginate (3.3.1)
|
294
|
-
will_paginate-bootstrap4 (0.2.2)
|
295
|
-
will_paginate (~> 3.0, >= 3.0.0)
|
291
|
+
will_paginate (4.0.0)
|
296
292
|
yard (0.9.34)
|
297
293
|
zeitwerk (2.6.12)
|
298
294
|
|
299
295
|
PLATFORMS
|
300
296
|
x86_64-darwin-22
|
297
|
+
x86_64-darwin-23
|
301
298
|
x86_64-linux
|
302
299
|
|
303
300
|
DEPENDENCIES
|
@@ -321,4 +318,4 @@ DEPENDENCIES
|
|
321
318
|
yard
|
322
319
|
|
323
320
|
BUNDLED WITH
|
324
|
-
2.
|
321
|
+
2.5.3
|
@@ -133,20 +133,20 @@ module UiBibz::Concerns::Models::Searchable
|
|
133
133
|
if attribute == :as
|
134
134
|
attribute.each_value do |value|
|
135
135
|
sql_subquery << "lower(CAST(#{value} AS TEXT)) LIKE :#{value}_#{i}"
|
136
|
-
sql_attributes = sql_attributes.merge({ "#{value}_#{i}"
|
136
|
+
sql_attributes = sql_attributes.merge({ "#{value}_#{i}": "%#{pattern}%" })
|
137
137
|
end
|
138
138
|
else
|
139
139
|
key_name = attribute.keys.first.to_s.pluralize
|
140
140
|
attribute.each_value do |value|
|
141
141
|
Array(value).each do |val|
|
142
142
|
sql_subquery << "lower(CAST(#{key_name}.#{val} AS TEXT)) LIKE :#{key_name}_#{val}_#{i}"
|
143
|
-
sql_attributes = sql_attributes.merge({ "#{key_name}_#{val}_#{i}"
|
143
|
+
sql_attributes = sql_attributes.merge({ "#{key_name}_#{val}_#{i}": "%#{pattern}%" })
|
144
144
|
end
|
145
145
|
end
|
146
146
|
end
|
147
147
|
else
|
148
148
|
sql_subquery << "lower(CAST(#{table_name}.#{attribute} AS TEXT)) LIKE :#{attribute}_#{i}"
|
149
|
-
sql_attributes = sql_attributes.merge({ "#{attribute}_#{i}"
|
149
|
+
sql_attributes = sql_attributes.merge({ "#{attribute}_#{i}": "%#{pattern}%" })
|
150
150
|
end
|
151
151
|
end
|
152
152
|
sql_query << "(#{sql_subquery.join(' OR ')})"
|
@@ -7,9 +7,9 @@ module UiBibz::Helpers::UtilsHelper
|
|
7
7
|
UiBibz::Utils::Internationalization.new(translation, options).translate
|
8
8
|
end
|
9
9
|
|
10
|
-
def ui_form_for(object, *args, &)
|
10
|
+
def ui_form_for(object, *args, &block)
|
11
11
|
options = args.extract_options!
|
12
|
-
simple_form_for(object, *(args << new_options(options)), &)
|
12
|
+
simple_form_for(object, *(args << new_options(options)), &block)
|
13
13
|
end
|
14
14
|
|
15
15
|
private
|
data/lib/ui_bibz/infos.rb
CHANGED
@@ -7,11 +7,11 @@ module UiBibz
|
|
7
7
|
DESCRIPTION = "A Rails Interface Framework using Bootstrap #{BOOTSTRAP_VERSION}.".freeze
|
8
8
|
SUMMARY = "Ui Bibz is an Ui Framework that allows you to build an interface very quickly and simply using Bootstrap #{BOOTSTRAP_VERSION}.".freeze
|
9
9
|
LICENSE = 'MIT'
|
10
|
-
FONTAWESOME_VERSION = '6.
|
10
|
+
FONTAWESOME_VERSION = '6.5.1'
|
11
11
|
HOMEPAGE = 'https://hummel.link/ui-bibz/'
|
12
12
|
REPO = 'git+https://github.com/thooams/ui_bibz.git'
|
13
13
|
EMAIL = 'thomas@hummel.link'
|
14
14
|
AUTHOR = 'Thooams [Thomas HUMMEL]'
|
15
|
-
VERSION = '4.0.0.
|
15
|
+
VERSION = '4.0.0.beta8'
|
16
16
|
AUTHORS = ['Thooams'].freeze
|
17
17
|
end
|
@@ -9,13 +9,13 @@ module UiBibzForm
|
|
9
9
|
|
10
10
|
attr_accessor :output_buffer
|
11
11
|
|
12
|
-
def ui_surround_field(content = nil, opts = nil, html_options = nil, &)
|
12
|
+
def ui_surround_field(content = nil, opts = nil, html_options = nil, &block)
|
13
13
|
content = (options || {}).merge(content || {})
|
14
14
|
content = content.merge(template: @template, form: self)
|
15
15
|
|
16
16
|
input_classes = UiBibz::Builders::HtmlClassesBuilder.join_classes('form-group', 'surround_field', options[:input_html].try(:[], :class))
|
17
17
|
wrapper_html = (options[:input_html] || {}).merge({ class: input_classes })
|
18
|
-
surround_field = UiBibz::Ui::Core::Forms::Surrounds::SurroundField.new(content, opts, html_options).tap(&)
|
18
|
+
surround_field = UiBibz::Ui::Core::Forms::Surrounds::SurroundField.new(content, opts, html_options).tap(&block)
|
19
19
|
errors_text = surround_field.errors.flatten.to_sentence
|
20
20
|
required = surround_field.required_fields.any?(true)
|
21
21
|
wrapper_classes = UiBibz::Builders::HtmlClassesBuilder.join_classes(('has-error' if errors_text.present?), wrapper_html.try(:[], :class))
|
@@ -31,17 +31,17 @@ module UiBibzForm
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
def ui_button_group(content = nil, opts = nil, html_options = nil, &)
|
35
|
-
ui_component_group_by(UiBibz::Ui::Core::Forms::Buttons::ButtonGroup, content, opts, html_options, &)
|
34
|
+
def ui_button_group(content = nil, opts = nil, html_options = nil, &block)
|
35
|
+
ui_component_group_by(UiBibz::Ui::Core::Forms::Buttons::ButtonGroup, content, opts, html_options, &block)
|
36
36
|
end
|
37
37
|
|
38
|
-
def ui_choice_group(content = nil, opts = nil, html_options = nil, &)
|
39
|
-
ui_component_group_by(UiBibz::Ui::Core::Forms::Choices::ChoiceGroup, content, opts, html_options, &)
|
38
|
+
def ui_choice_group(content = nil, opts = nil, html_options = nil, &block)
|
39
|
+
ui_component_group_by(UiBibz::Ui::Core::Forms::Choices::ChoiceGroup, content, opts, html_options, &block)
|
40
40
|
end
|
41
41
|
|
42
42
|
private
|
43
43
|
|
44
|
-
def ui_component_group_by(component_class, content = nil, opts = nil, html_options = nil, &)
|
44
|
+
def ui_component_group_by(component_class, content = nil, opts = nil, html_options = nil, &block)
|
45
45
|
content = (options || {}).merge(content || {})
|
46
46
|
content = content.merge(template: @template, form: self)
|
47
47
|
|
@@ -50,7 +50,7 @@ module UiBibzForm
|
|
50
50
|
|
51
51
|
content_tag :div, wrapper_html do
|
52
52
|
concat content_tag(:label, content[:label]) unless content[:label].nil?
|
53
|
-
concat component_class.new(content, opts, html_options).tap(&).render
|
53
|
+
concat component_class.new(content, opts, html_options).tap(&block).render
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
@@ -118,7 +118,7 @@ module UiBibz::Ui::Core::Forms::Buttons
|
|
118
118
|
UiBibz::Ui::Core::Notifications::Badge.new(options[:badge].delete(:content), options[:badge]).render
|
119
119
|
|
120
120
|
else
|
121
|
-
UiBibz::Ui::Core::Notifications::Badge.new(options[:badge], status:
|
121
|
+
UiBibz::Ui::Core::Notifications::Badge.new(options[:badge], status: options[:status] || :secondary).render
|
122
122
|
end
|
123
123
|
end
|
124
124
|
|
@@ -94,7 +94,7 @@ module UiBibz::Ui::Core::Forms::Dropdowns
|
|
94
94
|
end
|
95
95
|
|
96
96
|
def dropdown_html_options
|
97
|
-
opts =
|
97
|
+
opts = options[:html_button] || {}
|
98
98
|
opts = opts.merge(href: options[:url]) if options[:tag] == :a
|
99
99
|
opts.merge(class: join_classes('btn', button_status, state, size, options[:html_button].try(:[], :class)))
|
100
100
|
end
|
@@ -135,7 +135,7 @@ module UiBibz::Ui::Core::Lists::Components
|
|
135
135
|
UiBibz::Ui::Core::Notifications::Badge.new(options[:badge].delete(:content), options[:badge]).render
|
136
136
|
|
137
137
|
else
|
138
|
-
UiBibz::Ui::Core::Notifications::Badge.new(options[:badge], type: :pill, status:
|
138
|
+
UiBibz::Ui::Core::Notifications::Badge.new(options[:badge], type: :pill, status: options[:status] || :secondary).render
|
139
139
|
end
|
140
140
|
end
|
141
141
|
end
|
@@ -75,14 +75,14 @@ module UiBibz::Ui::Core::Notifications
|
|
75
75
|
end
|
76
76
|
|
77
77
|
# Add Body which is a component
|
78
|
-
def body(content = nil, options = nil, html_options = nil, &)
|
78
|
+
def body(content = nil, options = nil, html_options = nil, &block)
|
79
79
|
@body = if @header.nil?
|
80
80
|
content_tag :div, class: 'd-flex' do
|
81
|
-
concat UiBibz::Ui::Core::Notifications::Components::ToastBody.new(content, options, html_options, &).render
|
81
|
+
concat UiBibz::Ui::Core::Notifications::Components::ToastBody.new(content, options, html_options, &block).render
|
82
82
|
concat close_html if (options || {})[:closable]
|
83
83
|
end
|
84
84
|
else
|
85
|
-
UiBibz::Ui::Core::Notifications::Components::ToastBody.new(content, options, html_options, &).render
|
85
|
+
UiBibz::Ui::Core::Notifications::Components::ToastBody.new(content, options, html_options, &block).render
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
@@ -151,7 +151,7 @@ module UiBibz::Ui::Ux::Tables
|
|
151
151
|
def table_html
|
152
152
|
content_tag(:table, html_options) do
|
153
153
|
ths = cols.collect do |col|
|
154
|
-
content_tag(:th, sort.header(col), class: col.class) unless col.hidden?
|
154
|
+
content_tag(:th, sort.header(col, col.name), class: col.class) unless col.hidden?
|
155
155
|
end
|
156
156
|
|
157
157
|
ths = action.header ths
|
@@ -55,19 +55,27 @@ module UiBibz::Ui::Ux::Tables
|
|
55
55
|
|
56
56
|
def per_page_html
|
57
57
|
content_tag :div, class: 'table-pagination-per-page' do
|
58
|
-
concat
|
59
|
-
|
58
|
+
concat(
|
59
|
+
content_tag(:span, class: 'table-pagination-per-page-label') do
|
60
|
+
concat results_count_html
|
61
|
+
concat UiBibz::Utils::Internationalization.new('ui_bibz.table.pagination.per_page', default: 'Per page: ').translate
|
62
|
+
end
|
63
|
+
)
|
60
64
|
concat select_tag('per_page', options_for_select([5, 10, 20, 30, 50, 100, 200, 500], store.per_page), class: 'form-select')
|
61
65
|
end
|
62
66
|
end
|
63
67
|
|
64
68
|
def per_page_html_in_wrap
|
65
69
|
content_tag :div, class: 'table-pagination-per-page' do
|
66
|
-
concat
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
70
|
+
concat(
|
71
|
+
content_tag(:span, class: 'table-pagination-per-page-label') do
|
72
|
+
concat results_count_html
|
73
|
+
concat UiBibz::Utils::Internationalization.new('ui_bibz.table.pagination.per_page', default: 'Per page: ').translate
|
74
|
+
store.parameters.with_indifferent_access.reject { |k, v| default_parameters?(k) || v.blank? }.each do |k, v|
|
75
|
+
concat tag(:input, type: 'hidden', name: k, value: v)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
)
|
71
79
|
concat select_tag('per_page', options_for_select([5, 10, 20, 30, 50, 100, 200, 500], store.per_page), class: 'form-select')
|
72
80
|
concat tag(:input, type: 'hidden', name: 'store_id', value: store.id) unless store.id.nil? # If there is more 1 table in html page
|
73
81
|
end
|
@@ -93,7 +93,7 @@ module UiBibz::Ui::Ux::Tables
|
|
93
93
|
end
|
94
94
|
|
95
95
|
def underscorize_hash(attr)
|
96
|
-
attr.is_a?(Hash) ? "#{attr.keys.first}_#{attr.values.first}"
|
96
|
+
attr.is_a?(Hash) ? :"#{attr.keys.first}_#{attr.values.first}" : attr
|
97
97
|
end
|
98
98
|
|
99
99
|
def default_parameters?(key)
|
data/lib/ui_bibz.rb
CHANGED
@@ -66,7 +66,7 @@ class TableTest < ActionView::TestCase
|
|
66
66
|
options = { paginable: true }
|
67
67
|
pagination = UiBibz::Ui::Ux::Tables::Paginable.new(@store, options)
|
68
68
|
actual = pagination.render if pagination.paginable?
|
69
|
-
expected = "<div><nav class=\"pagination\"><ul class=\"pagination\" role=\"group\"><li class=\"previous page-item disabled\"><span class=\"page-link\">«</span></li> <li class=\"page-item active\"><span class=\"page-link\">1</span></li> <li class=\"page-item\"><a class=\"page-link\" rel=\"next\" href=\"/users?direction=asc&page=2&search=Name+fr&sort=users.name_fr&store_id=users\">2</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&page=3&search=Name+fr&sort=users.name_fr&store_id=users\">3</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&page=4&search=Name+fr&sort=users.name_fr&store_id=users\">4</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&page=5&search=Name+fr&sort=users.name_fr&store_id=users\">5</a></li> <li class=\"page-item disabled\"><i class=\"page-link\">…</i></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&page=12&search=Name+fr&sort=users.name_fr&store_id=users\">12</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&page=13&search=Name+fr&sort=users.name_fr&store_id=users\">13</a></li> <li class=\"next page-item\"><a class=\"page-link\" rel=\"next\" href=\"/users?direction=asc&page=2&search=Name+fr&sort=users.name_fr&store_id=users\">»</a></li></ul></nav><form action=\"/users\" accept-charset=\"UTF-8\" method=\"get\"><div class=\"table-pagination-per-page\">Displaying User <b>1 - 2</b> of <b>25</b> in total | Per page: <input type=\"hidden\" name=\"sort\" value=\"users.name_fr\" /><input type=\"hidden\" name=\"direction\" value=\"asc\" /><input type=\"hidden\" name=\"per_page\" value=\"2\" /><input type=\"hidden\" name=\"only_path\" value=\"true\"
|
69
|
+
expected = "<div><nav class=\"pagination\"><ul class=\"pagination\" role=\"group\"><li class=\"previous page-item disabled\"><span class=\"page-link\">«</span></li> <li class=\"page-item active\"><span class=\"page-link\">1</span></li> <li class=\"page-item\"><a class=\"page-link\" rel=\"next\" href=\"/users?direction=asc&page=2&search=Name+fr&sort=users.name_fr&store_id=users\">2</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&page=3&search=Name+fr&sort=users.name_fr&store_id=users\">3</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&page=4&search=Name+fr&sort=users.name_fr&store_id=users\">4</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&page=5&search=Name+fr&sort=users.name_fr&store_id=users\">5</a></li> <li class=\"page-item disabled\"><i class=\"page-link\">…</i></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&page=12&search=Name+fr&sort=users.name_fr&store_id=users\">12</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&page=13&search=Name+fr&sort=users.name_fr&store_id=users\">13</a></li> <li class=\"next page-item\"><a class=\"page-link\" rel=\"next\" href=\"/users?direction=asc&page=2&search=Name+fr&sort=users.name_fr&store_id=users\">»</a></li></ul></nav><form action=\"/users\" accept-charset=\"UTF-8\" method=\"get\"><div class=\"table-pagination-per-page\"><span class=\"table-pagination-per-page-label\">Displaying User <b>1 - 2</b> of <b>25</b> in total | Per page: <input type=\"hidden\" name=\"sort\" value=\"users.name_fr\" /><input type=\"hidden\" name=\"direction\" value=\"asc\" /><input type=\"hidden\" name=\"per_page\" value=\"2\" /><input type=\"hidden\" name=\"only_path\" value=\"true\" /></span><select name=\"per_page\" id=\"per_page\" class=\"form-select\"><option value=\"5\">5</option>
|
70
70
|
<option value=\"10\">10</option>
|
71
71
|
<option value=\"20\">20</option>
|
72
72
|
<option value=\"30\">30</option>
|
data/ui_bibz.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.description = UiBibz::DESCRIPTION
|
20
20
|
s.license = UiBibz::LICENSE
|
21
21
|
|
22
|
-
s.required_ruby_version = '>= 3.
|
22
|
+
s.required_ruby_version = '>= 3.3.0'
|
23
23
|
|
24
24
|
s.files = `git ls-files`.split
|
25
25
|
s.executables = `git ls-files -- bin/*`.split.map { |f| File.basename(f) }
|
@@ -31,9 +31,7 @@ Gem::Specification.new do |s|
|
|
31
31
|
# Remove these dependencies after
|
32
32
|
s.add_dependency 'bootstrap', '~> 5.3.0'
|
33
33
|
s.add_dependency 'dartsass-sprockets', '~> 3.0.0'
|
34
|
-
s.add_dependency 'will_paginate'
|
35
|
-
s.add_dependency 'will_paginate-bootstrap4'
|
36
|
-
s.add_dependency 'will-paginate-i18n'
|
34
|
+
s.add_dependency 'will_paginate'
|
37
35
|
# Don't move factory_bot_rails to Gemfile because of bug
|
38
36
|
s.add_development_dependency 'factory_bot_rails', '~> 4.0' # rubocop:disable Gemspec/DevelopmentDependencies
|
39
37
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|