ui_bibz 4.0.0.beta6 → 4.0.0.beta8
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/.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/app/assets/stylesheets/sass/containers/_panel.scss +3 -3
- 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/test_helper.rb +3 -3
- 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
|
@@ -151,15 +151,15 @@ $panel-columns-margin: $panel-spacer-y !default;
|
|
151
151
|
//
|
152
152
|
|
153
153
|
.panel-header-tabs {
|
154
|
-
margin-right: -($panel-spacer-x / 2);
|
154
|
+
margin-right: -calc($panel-spacer-x / 2);
|
155
155
|
margin-bottom: -$panel-spacer-y;
|
156
156
|
margin-left: 0;
|
157
157
|
border-bottom: 0;
|
158
158
|
}
|
159
159
|
|
160
160
|
.panel-header-pills {
|
161
|
-
margin-right: -($panel-spacer-x / 2);
|
162
|
-
margin-left: -($panel-spacer-x / 2);
|
161
|
+
margin-right: -calc($panel-spacer-x / 2);
|
162
|
+
margin-left: -calc($panel-spacer-x / 2);
|
163
163
|
}
|
164
164
|
|
165
165
|
// panel image
|
@@ -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
data/test/test_helper.rb
CHANGED
@@ -20,9 +20,9 @@ Rails::TestUnitReporter.executable = 'bin/test'
|
|
20
20
|
|
21
21
|
# Load fixtures from the engine
|
22
22
|
if ActiveSupport::TestCase.respond_to?(:fixture_path=)
|
23
|
-
ActiveSupport::TestCase.
|
24
|
-
ActionDispatch::IntegrationTest.
|
25
|
-
ActiveSupport::TestCase.file_fixture_path = "#{ActiveSupport::TestCase.
|
23
|
+
ActiveSupport::TestCase.fixture_paths = [File.expand_path("fixtures", __dir__)]
|
24
|
+
ActionDispatch::IntegrationTest.fixture_paths = ActiveSupport::TestCase.fixture_paths || []
|
25
|
+
ActiveSupport::TestCase.file_fixture_path = "#{ActiveSupport::TestCase.fixture_paths&.first}/files"
|
26
26
|
ActiveSupport::TestCase.fixtures :all
|
27
27
|
end
|
28
28
|
|
@@ -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
|