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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.overcommit.yml +0 -3
  3. data/.rubocop.yml +1 -4
  4. data/.ruby-version +1 -1
  5. data/Gemfile.lock +38 -41
  6. data/app/assets/config/ui_bibz.js +1 -0
  7. data/lib/ui_bibz/concerns/models/searchable.rb +3 -3
  8. data/lib/ui_bibz/helpers/utils_helper.rb +2 -2
  9. data/lib/ui_bibz/infos.rb +2 -2
  10. data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +8 -8
  11. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +1 -1
  12. data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +1 -1
  13. data/lib/ui_bibz/ui/core/lists/components/list.rb +1 -1
  14. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +1 -1
  15. data/lib/ui_bibz/ui/core/notifications/toast.rb +3 -3
  16. data/lib/ui_bibz/ui/ux/tables/table.rb +1 -1
  17. data/lib/ui_bibz/ui/ux/tables/table_pagination.rb +0 -2
  18. data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.rb +15 -7
  19. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +1 -1
  20. data/lib/ui_bibz.rb +0 -1
  21. data/test/ui/ux/tables/table_test.rb +1 -1
  22. data/ui_bibz.gemspec +2 -4
  23. data/vendor/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
  24. data/vendor/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  25. data/vendor/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
  26. data/vendor/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  27. data/vendor/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
  28. data/vendor/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  29. data/vendor/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
  30. data/vendor/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
  31. data/vendor/assets/javascripts/fontawesome/all.js +308 -259
  32. data/vendor/assets/javascripts/fontawesome/all.min.js +2 -2
  33. data/vendor/assets/javascripts/fontawesome/brands.js +93 -68
  34. data/vendor/assets/javascripts/fontawesome/brands.min.js +2 -2
  35. data/vendor/assets/javascripts/fontawesome/conflict-detection.js +44 -36
  36. data/vendor/assets/javascripts/fontawesome/conflict-detection.min.js +2 -2
  37. data/vendor/assets/javascripts/fontawesome/fontawesome.js +49 -41
  38. data/vendor/assets/javascripts/fontawesome/fontawesome.min.js +2 -2
  39. data/vendor/assets/javascripts/fontawesome/regular.js +59 -51
  40. data/vendor/assets/javascripts/fontawesome/regular.min.js +2 -2
  41. data/vendor/assets/javascripts/fontawesome/solid.js +110 -102
  42. data/vendor/assets/javascripts/fontawesome/solid.min.js +2 -2
  43. data/vendor/assets/javascripts/fontawesome/v4-shims.js +44 -36
  44. data/vendor/assets/javascripts/fontawesome/v4-shims.min.js +2 -2
  45. data/vendor/assets/stylesheets/fontawesome/_mixins.scss +1 -1
  46. data/vendor/assets/stylesheets/fontawesome/_variables.scss +34 -2
  47. data/vendor/assets/stylesheets/fontawesome/brands.scss +1 -1
  48. data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +1 -1
  49. data/vendor/assets/stylesheets/fontawesome/regular.scss +1 -1
  50. data/vendor/assets/stylesheets/fontawesome/solid.scss +3 -3
  51. data/vendor/assets/stylesheets/fontawesome/v4-shims.scss +1 -1
  52. metadata +6 -34
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c214a04b928da73dfcb4feb28bef2a8fdff46ef460c5079090c5d843f176bd9a
4
- data.tar.gz: 45c7dbabf9d32153b04b8044f3e3a71816bdf134da499027ac0e301a613dfd53
3
+ metadata.gz: af01a0145989f1ebec03cb021d895a0308ca15870a575e46a32ebd6a7ce9810e
4
+ data.tar.gz: 1ab09e1b4fc00aa28e1778f2498371e5eac60cf398a12a6c538a940797f3f698
5
5
  SHA512:
6
- metadata.gz: 6719cfe7238e74257ee0382bba4a5d93ba4018b85fac812ea01bbd3345853af86c279d65c462a0f604215de181e56a71e0f01787f6217d0a5a84e92a8b146d50
7
- data.tar.gz: ea5a435647afeeee53c2b1f6f58f2e5f98a441d999606d12684fbb41f6f1c3f9a511a3f0a8beba2fa247ecc1e931cd808710d5f064179f7b90875ad2a0fff9a4
6
+ metadata.gz: 0ab623a9538ae89b59e79dfc2e1173b5c8d171364415cbd1adaedceedb247e6c48b82654b78433155a18946c413c8a4d3b66f1d25a29d4f8e18a29f8b6c2b6c4
7
+ data.tar.gz: bf448fb0bdb071c7dc915582265bec94dbd28b71647016c119870f7af23e9b00d1a50166a0789c6f95802bb61be91de5357f51f5d81c57217820249d8b98da3f
data/.overcommit.yml CHANGED
@@ -6,6 +6,3 @@ PreCommit:
6
6
 
7
7
  TrailingWhitespace:
8
8
  enabled: true
9
-
10
- Fasterer:
11
- enabled: true
data/.rubocop.yml CHANGED
@@ -178,7 +178,4 @@ Style/OpenStructUse:
178
178
  Enabled: false
179
179
 
180
180
  Naming/BlockForwarding:
181
- Enabled: true
182
- Exclude:
183
- - lib/ui_bibz/ui/core/component.rb
184
- - lib/ui_bibz/ui/core/navigations/components/nav_link.rb
181
+ Enabled: false
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-3.2.2
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.beta7)
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
- will-paginate-i18n
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.15.0)
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.4)
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-x86_64-darwin)
126
- google-protobuf (3.25.1-x86_64-linux)
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 (1.2.3)
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.6.0)
144
- irb (1.9.0)
140
+ io-console (0.7.1)
141
+ irb (1.11.0)
145
142
  rdoc
146
143
  reline (>= 0.3.8)
147
- json (2.6.3)
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.5)
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.6.0)
171
- nokogiri (1.15.4-x86_64-darwin)
167
+ nio4r (2.7.0)
168
+ nokogiri (1.16.0-x86_64-darwin)
172
169
  racc (~> 1.4)
173
- nokogiri (1.15.4-x86_64-linux)
170
+ nokogiri (1.16.0-x86_64-linux)
174
171
  racc (~> 1.4)
175
- overcommit (0.60.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.23.0)
180
- parser (3.2.2.4)
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.1.1)
181
+ psych (5.1.2)
185
182
  stringio
186
- puma (6.4.0)
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.0)
225
+ rdoc (6.6.2)
229
226
  psych (>= 4.0.0)
230
- regexp_parser (2.8.2)
231
- reline (0.4.0)
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.57.2)
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.28.1, < 2.0)
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.33.0)
244
+ rubocop-minitest (0.34.3)
248
245
  rubocop (>= 1.39, < 2.0)
249
- rubocop-performance (1.19.1)
250
- rubocop (>= 1.7.0, < 2.0)
251
- rubocop-ast (>= 0.4.0)
252
- rubocop-rails (2.22.1)
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.6.8-x86_64-darwin)
279
- sqlite3 (1.6.8-x86_64-linux)
280
- stringio (3.0.9)
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
- will-paginate-i18n (0.1.15)
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.4.10
321
+ 2.5.3
@@ -12,3 +12,4 @@
12
12
  //= link forms/formula.js
13
13
  //= link debounce.js
14
14
  //= link controllers/combobox_controller.js
15
+ //= link bootstrap-switch.min.js
@@ -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}".to_sym => "%#{pattern}%" })
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}".to_sym => "%#{pattern}%" })
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}".to_sym => "%#{pattern}%" })
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.4.0'
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.beta7'
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: (options[:status] || :secondary)).render
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 = (options[:html_button] || {})
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: (options[:status] || :secondary)).render
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
@@ -88,7 +88,7 @@ module UiBibz::Ui::Core::Navigations
88
88
  end
89
89
 
90
90
  def type
91
- 'nav-tabs'
91
+ @options[:nav_type] || 'nav-tabs'
92
92
  end
93
93
  end
94
94
  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
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # require 'will_paginate'
4
- require 'will_paginate-bootstrap4'
5
3
  require 'ui_bibz/ui/ux/tables/components/store'
6
4
  module UiBibz::Ui::Ux::Tables
7
5
  # Create a pagination for table
@@ -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 results_count_html
59
- concat UiBibz::Utils::Internationalization.new('ui_bibz.table.pagination.per_page', default: 'Per page: ').translate
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 results_count_html
67
- concat UiBibz::Utils::Internationalization.new('ui_bibz.table.pagination.per_page', default: 'Per page: ').translate
68
- store.parameters.with_indifferent_access.reject { |k, v| default_parameters?(k) || v.blank? }.each do |k, v|
69
- concat tag(:input, type: 'hidden', name: k, value: v)
70
- end
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}".to_sym : attr
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
@@ -4,7 +4,6 @@ require 'ui_bibz/railtie'
4
4
 
5
5
  require 'action_view'
6
6
  require 'will_paginate'
7
- require 'will-paginate-i18n'
8
7
  require 'bootstrap/engine'
9
8
 
10
9
  # require "zeitwerk"
@@ -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\">&laquo;</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&amp;page=2&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">2</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=3&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">3</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=4&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">4</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=5&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">5</a></li> <li class=\"page-item disabled\"><i class=\"page-link\">&hellip;</i></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=12&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">12</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=13&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">13</a></li> <li class=\"next page-item\"><a class=\"page-link\" rel=\"next\" href=\"/users?direction=asc&amp;page=2&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">&raquo;</a></li></ul></nav><form action=\"/users\" accept-charset=\"UTF-8\" method=\"get\"><div class=\"table-pagination-per-page\">Displaying User <b>1&nbsp;-&nbsp;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\" /><select name=\"per_page\" id=\"per_page\" class=\"form-select\"><option value=\"5\">5</option>
69
+ expected = "<div><nav class=\"pagination\"><ul class=\"pagination\" role=\"group\"><li class=\"previous page-item disabled\"><span class=\"page-link\">&laquo;</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&amp;page=2&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">2</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=3&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">3</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=4&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">4</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=5&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">5</a></li> <li class=\"page-item disabled\"><i class=\"page-link\">&hellip;</i></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=12&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">12</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=13&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">13</a></li> <li class=\"next page-item\"><a class=\"page-link\" rel=\"next\" href=\"/users?direction=asc&amp;page=2&amp;search=Name+fr&amp;sort=users.name_fr&amp;store_id=users\">&raquo;</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&nbsp;-&nbsp;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.2.0'
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', '~> 3.3.0'
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