ui_bibz 3.0.5 → 3.0.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84252ec73fb2776633eb463f7f3028ddb407d5f8ca8e3ca689417dd2c59f91da
4
- data.tar.gz: eb7688183e18d6e0d9485d6a314ec51678be3915e9479a49486dc611b1c483ae
3
+ metadata.gz: 6f4c4175c6e3db48739cae5571ddf077acdd27b487f22e15ce8b608170cb5f8f
4
+ data.tar.gz: 82c4fd7abf5d669e7af20c204680772389a56a28380b5c28e5c428d96f693ed7
5
5
  SHA512:
6
- metadata.gz: bdfcc7bb97485f27732c0c2ddbfc13e08715bde5058d41057a87b83e4d009d3c32ae5f378ce8e41d984c14b2a43e4d7c7de435b776eb1d844362530759462e77
7
- data.tar.gz: 679e4e6900dcaaec3dc3439b7c880f26b600884b0ecda99425d2b5d6056b9e6604a18b8e768fe55c2c814197524af12f6ae78cc959852d737369dd806339bdef
6
+ metadata.gz: ea5d33e9f0a31632f719e13c41fa2f8fc64dd1a74ee3a8ccb6ea93a697f91a3d885de3299ec806377fbf0127ae91b843b696e127eb84adee488cde4ccda9947f
7
+ data.tar.gz: 9acaa8a446525e350a768717188e902f18a1046ef5043ada106f38bd00d032e2796425753ca7e203fbf1630096fa2b85a09a7ebeb0e3c6f8bbd48f709298b7de
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ui_bibz (3.0.5)
4
+ ui_bibz (3.0.9)
5
5
  will-paginate-i18n
6
6
  will_paginate (~> 3.3.0)
7
7
  will_paginate-bootstrap4
@@ -111,23 +111,23 @@ GEM
111
111
  nokogiri (>= 1.5.9)
112
112
  mail (2.7.1)
113
113
  mini_mime (>= 0.1.1)
114
- marcel (1.0.1)
114
+ marcel (1.0.2)
115
115
  method_source (1.0.0)
116
- mini_mime (1.1.1)
116
+ mini_mime (1.1.2)
117
117
  mini_portile2 (2.6.1)
118
118
  minitest (5.14.4)
119
119
  nio4r (2.5.8)
120
- nokogiri (1.12.3)
120
+ nokogiri (1.12.5)
121
121
  mini_portile2 (~> 2.6.1)
122
122
  racc (~> 1.4)
123
123
  overcommit (0.58.0)
124
124
  childprocess (>= 0.6.3, < 5)
125
125
  iniparse (~> 1.4)
126
126
  rexml (~> 3.2)
127
- parallel (1.20.1)
127
+ parallel (1.21.0)
128
128
  parser (3.0.2.0)
129
129
  ast (~> 2.4.1)
130
- racc (1.5.2)
130
+ racc (1.6.0)
131
131
  rack (2.2.3)
132
132
  rack-test (1.1.0)
133
133
  rack (>= 1.0, < 3)
@@ -161,23 +161,23 @@ GEM
161
161
  rake (13.0.6)
162
162
  regexp_parser (2.1.1)
163
163
  rexml (3.2.5)
164
- rubocop (1.19.1)
164
+ rubocop (1.22.2)
165
165
  parallel (~> 1.10)
166
166
  parser (>= 3.0.0.0)
167
167
  rainbow (>= 2.2.2, < 4.0)
168
168
  regexp_parser (>= 1.8, < 3.0)
169
169
  rexml
170
- rubocop-ast (>= 1.9.1, < 2.0)
170
+ rubocop-ast (>= 1.12.0, < 2.0)
171
171
  ruby-progressbar (~> 1.7)
172
172
  unicode-display_width (>= 1.4.0, < 3.0)
173
- rubocop-ast (1.11.0)
173
+ rubocop-ast (1.12.0)
174
174
  parser (>= 3.0.1.1)
175
- rubocop-minitest (0.15.0)
175
+ rubocop-minitest (0.15.2)
176
176
  rubocop (>= 0.90, < 2.0)
177
177
  rubocop-performance (1.11.5)
178
178
  rubocop (>= 1.7.0, < 2.0)
179
179
  rubocop-ast (>= 0.4.0)
180
- rubocop-rails (2.11.3)
180
+ rubocop-rails (2.12.4)
181
181
  activesupport (>= 4.2.0)
182
182
  rack (>= 1.1)
183
183
  rubocop (>= 1.7.0, < 2.0)
@@ -207,7 +207,7 @@ GEM
207
207
  tilt (2.0.10)
208
208
  tzinfo (2.0.4)
209
209
  concurrent-ruby (~> 1.0)
210
- unicode-display_width (2.0.0)
210
+ unicode-display_width (2.1.0)
211
211
  websocket-driver (0.7.5)
212
212
  websocket-extensions (>= 0.1.0)
213
213
  websocket-extensions (0.1.5)
@@ -216,7 +216,7 @@ GEM
216
216
  will_paginate-bootstrap4 (0.2.2)
217
217
  will_paginate (~> 3.0, >= 3.0.0)
218
218
  yard (0.9.26)
219
- zeitwerk (2.4.2)
219
+ zeitwerk (2.5.1)
220
220
 
221
221
  PLATFORMS
222
222
  ruby
@@ -72,12 +72,12 @@ module WillPaginate
72
72
  end
73
73
 
74
74
  def previous_page
75
- num = @collection.current_page > 1 && @collection.current_page - 1
75
+ num = @collection.current_page > 1 && (@collection.current_page - 1)
76
76
  previous_or_next_page num, @options[:previous_label], 'previous'
77
77
  end
78
78
 
79
79
  def next_page
80
- num = @collection.current_page < @collection.total_pages && @collection.current_page + 1
80
+ num = @collection.current_page < @collection.total_pages && (@collection.current_page + 1)
81
81
  previous_or_next_page num, @options[:next_label], 'next'
82
82
  end
83
83
  end
@@ -134,12 +134,14 @@ module UiBibz::Concerns::Models::Searchable
134
134
  else
135
135
  key_name = attribute.keys.first.to_s.pluralize
136
136
  attribute.each_value do |value|
137
- sql_subquery << "lower(CAST(#{key_name}.#{value} AS TEXT)) LIKE :#{key_name}_#{value}_#{i}"
138
- sql_attributes = sql_attributes.merge({ "#{key_name}_#{value}_#{i}".to_sym => "%#{pattern}%" })
137
+ Array(value).each do |val|
138
+ sql_subquery << "lower(CAST(#{key_name}.#{val} AS TEXT)) LIKE :#{key_name}_#{val}_#{i}"
139
+ sql_attributes = sql_attributes.merge({ "#{key_name}_#{val}_#{i}".to_sym => "%#{pattern}%" })
140
+ end
139
141
  end
140
142
  end
141
143
  else
142
- sql_subquery << "lower(CAST(#{to_s.underscore.pluralize.split('/').last}.#{attribute} AS TEXT)) LIKE :#{attribute}_#{i}"
144
+ sql_subquery << "lower(CAST(#{table_name}.#{attribute} AS TEXT)) LIKE :#{attribute}_#{i}"
143
145
  sql_attributes = sql_attributes.merge({ "#{attribute}_#{i}".to_sym => "%#{pattern}%" })
144
146
  end
145
147
  end
data/lib/ui_bibz/infos.rb CHANGED
@@ -4,14 +4,14 @@ module UiBibz
4
4
  NAME = 'Ui Bibz'
5
5
  SLUG = 'ui_bibz'
6
6
  BOOTSTRAP_VERSION = '5.0.2'
7
- DESCRIPTION = "A Rails Interface Framework using Bootstrap #{BOOTSTRAP_VERSION}."
8
- SUMMARY = "Ui Bibz is an Ui Framework that allows you to build an interface very quickly and simply using Bootstrap #{BOOTSTRAP_VERSION}."
7
+ DESCRIPTION = "A Rails Interface Framework using Bootstrap #{BOOTSTRAP_VERSION}.".freeze
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
10
  FONTAWESOME_VERSION = '5.15.3'
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 = '3.0.5'
15
+ VERSION = '3.0.9'
16
16
  AUTHORS = ['Thooams'].freeze
17
17
  end
@@ -73,7 +73,7 @@ module UiBibz::Ui::Core::Forms::Dropdowns
73
73
  end
74
74
 
75
75
  def button_html
76
- content_tag :button, button_content, (options[:html_button] || {}).merge(class: join_classes('btn', button_status, size, options[:html_button].try(:[], :class)))
76
+ content_tag dropdown_tag, button_content, dropdown_html_options
77
77
  end
78
78
 
79
79
  def split_html
@@ -86,11 +86,27 @@ module UiBibz::Ui::Core::Forms::Dropdowns
86
86
  end
87
87
 
88
88
  def split_classes
89
- join_classes('btn', button_status, size, 'dropdown-toggle', 'dropdown-toggle-split', options[:split_html].try(:[], :class))
89
+ join_classes('btn', button_status, size, state, 'dropdown-toggle', 'dropdown-toggle-split', options[:split_html].try(:[], :class))
90
90
  end
91
91
 
92
92
  def src_only
93
93
  content_tag :span, 'Toggle Dropdown', class: 'sr-only'
94
94
  end
95
+
96
+ def dropdown_html_options
97
+ opts = (options[:html_button] || {})
98
+ opts = opts.merge(href: options[:url]) if options[:tag] == :a
99
+ opts.merge(class: join_classes('btn', button_status, state, size, options[:html_button].try(:[], :class)))
100
+ end
101
+
102
+ def split_dropdown_html_option
103
+ (options[:html_split] || {}).merge({
104
+ class: split_classes,
105
+ type: 'button',
106
+ 'data-bs-toggle' => 'dropdown',
107
+ 'aria-haspopup' => true,
108
+ 'aria-expanded' => false
109
+ })
110
+ end
95
111
  end
96
112
  end
@@ -78,7 +78,7 @@ module UiBibz::Ui::Core::Forms::Numbers
78
78
  end
79
79
 
80
80
  def not_on_hundred_percent?
81
- options[:max].present? && options[:max] != 100 || options[:min].present? && options[:min] != 0
81
+ (options[:max].present? && options[:max] != 100) || (options[:min].present? && options[:min] != 0)
82
82
  end
83
83
 
84
84
  def absolute_total
@@ -2,7 +2,9 @@
2
2
 
3
3
  module UiBibz::Ui::Ux::Tables
4
4
  class Column < UiBibz::Ui::Core::Component
5
- attr_accessor :hidden, :link, :name, :input_options, :class, :as, :data_index, :date_format, :sort, :format, :count, :custom_sort, :parent, :id, :progress_options
5
+ attr_accessor :hidden, :link, :name, :input_options, :class, :as, :data_index,
6
+ :date_format, :sort, :format, :count, :custom_sort, :parent, :id, :progress_options,
7
+ :sortable
6
8
 
7
9
  def initialize(content = nil, options = nil, html_options = nil, &block)
8
10
  super
@@ -20,6 +22,7 @@ module UiBibz::Ui::Ux::Tables
20
22
  @format = @options[:format]
21
23
  @class = @options[:class]
22
24
  @hidden = @options[:hidden]
25
+ @sortable = @options[:sortable]
23
26
  @input_options = @options[:input_options]
24
27
  @progress_options = @options[:progress_options] || {}
25
28
  end
@@ -75,7 +75,13 @@ module UiBibz::Ui::Ux::Tables
75
75
  end
76
76
 
77
77
  def sortable?
78
- @options[:sortable].nil? ? true : @options[:sortable]
78
+ if !@column.sortable.nil?
79
+ @column.sortable
80
+ elsif !@options[:sortable].nil?
81
+ @options[:sortable]
82
+ else
83
+ true
84
+ end
79
85
  end
80
86
 
81
87
  def title
@@ -78,7 +78,7 @@ module UiBibz::Ui::Ux::Tables
78
78
  end
79
79
 
80
80
  def from_current_results
81
- store.limit_value * store.current_page - store.limit_value + 1
81
+ (store.limit_value * store.current_page) - store.limit_value + 1
82
82
  end
83
83
 
84
84
  def to_current_results
@@ -43,13 +43,4 @@ class DropdownTest < ActionView::TestCase
43
43
 
44
44
  assert_equal expected, actual.render
45
45
  end
46
-
47
- test 'Split Dropdown' do
48
- actual = UiBibz::Ui::Core::Forms::Dropdowns::Dropdown.new('Split Dropdown').tap do |d|
49
- d.link 'state'
50
- end
51
- expected = "<div class=\"dropdown\"><button class=\"btn btn-secondary dropdown-toggle\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" id=\"#{actual.id}\">Split Dropdown</button><div class=\"dropdown-menu\" arial-labelledby=\"#{actual.id}\"><a class=\"dropdown-item\" href=\"#\">state</a></div></div>"
52
-
53
- assert_equal expected, actual.render
54
- end
55
46
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+ class SplitDropdownTest < ActionView::TestCase
5
+ include UiBibz::Helpers::Ui::CoreHelper
6
+
7
+ test 'Split Dropdown' do
8
+ actual = UiBibz::Ui::Core::Forms::Dropdowns::Dropdown.new('Split Dropdown').tap do |d|
9
+ d.link 'state'
10
+ end
11
+ expected = "<div class=\"dropdown\"><button class=\"btn btn-secondary dropdown-toggle\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" id=\"#{actual.id}\">Split Dropdown</button><div class=\"dropdown-menu\" arial-labelledby=\"#{actual.id}\"><a class=\"dropdown-item\" href=\"#\">state</a></div></div>"
12
+
13
+ assert_equal expected, actual.render
14
+ end
15
+
16
+ test 'Split Dropdown with link' do
17
+ actual = UiBibz::Ui::Core::Forms::Dropdowns::Dropdown.new('Split Dropdown', tag: :a, url: "#test").tap do |d|
18
+ d.link 'state'
19
+ end
20
+ expected = "<div class=\"dropdown\"><a class=\"btn btn-secondary dropdown-toggle\" role=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" id=\"#{actual.id}\">Split Dropdown</a><div class=\"dropdown-menu\" arial-labelledby=\"#{actual.id}\"><a class=\"dropdown-item\" href=\"#\">state</a></div></div>"
21
+
22
+ assert_equal expected, actual.render
23
+ end
24
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ui_bibz
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.5
4
+ version: 3.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thooams [Thomas HUMMEL]
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-24 00:00:00.000000000 Z
11
+ date: 2021-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -555,6 +555,7 @@ files:
555
555
  - test/ui/core/forms/choices/radio_field_test.rb
556
556
  - test/ui/core/forms/dates/date_picker_field_test.rb
557
557
  - test/ui/core/forms/dropdowns/dropdown_test.rb
558
+ - test/ui/core/forms/dropdowns/split_dropdown_test.rb
558
559
  - test/ui/core/forms/files/file_field_test.rb
559
560
  - test/ui/core/forms/numbers/formula_field_test.rb
560
561
  - test/ui/core/forms/numbers/number_field_test.rb
@@ -768,6 +769,7 @@ test_files:
768
769
  - test/ui/core/forms/choices/radio_field_test.rb
769
770
  - test/ui/core/forms/dates/date_picker_field_test.rb
770
771
  - test/ui/core/forms/dropdowns/dropdown_test.rb
772
+ - test/ui/core/forms/dropdowns/split_dropdown_test.rb
771
773
  - test/ui/core/forms/files/file_field_test.rb
772
774
  - test/ui/core/forms/numbers/formula_field_test.rb
773
775
  - test/ui/core/forms/numbers/number_field_test.rb