ui_bibz 3.0.6 → 3.0.10

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: 13a1dd66cbd7e134c7defdad8c359d9c64beb21eb6196436a518cb17a83a8df2
4
- data.tar.gz: a89c779194577142ace4a56e53089ed0dceb8b96988207f9f6c043f0d0354b9b
3
+ metadata.gz: 9b146db4d6722946556a0ac54bf0ebbb5d4e7b537e0802154f3c46d8c1b55324
4
+ data.tar.gz: 650e30abeca77084a2c54f86d52dd1fa3d3ba4e1b66513ad17a0469f05cf88de
5
5
  SHA512:
6
- metadata.gz: c39e166f3cda1b05035d734b652d44a50af2cbbb4b9a9bfbd78f1582a03b32bd2356eebe00d470e46b77bbf45a672226830b38cb1826d156997145e5b62453ac
7
- data.tar.gz: 353ae7e27e66411c506bc984e8575263371117e3461f3de5cdf1f833790be324bec3ff75d6ff15ac98c7e60fcddc41dc68f5cf601e8dddfd0c809a0c8b93ff29
6
+ metadata.gz: 24117c844b5581683e42c8df8df75bd4c9d3a21eda00785ace4bb969a9aa016e49b42b3dc8da579ca860ecb633a109def24f53559736cc53b747e3fb9e4d84ad
7
+ data.tar.gz: 1a214086bc20f51ece91bd425ebfc5870600dd062c2204b80cc872deee48c4c902b4149b76b65d0f85ed4dc8433d8fd2593aa91992b60f822df1203fae40fe21
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ui_bibz (3.0.6)
4
+ ui_bibz (3.0.10)
5
5
  will-paginate-i18n
6
6
  will_paginate (~> 3.3.0)
7
7
  will_paginate-bootstrap4
@@ -113,7 +113,7 @@ GEM
113
113
  mini_mime (>= 0.1.1)
114
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)
@@ -127,7 +127,7 @@ GEM
127
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,7 +161,7 @@ GEM
161
161
  rake (13.0.6)
162
162
  regexp_parser (2.1.1)
163
163
  rexml (3.2.5)
164
- rubocop (1.22.1)
164
+ rubocop (1.22.3)
165
165
  parallel (~> 1.10)
166
166
  parser (>= 3.0.0.0)
167
167
  rainbow (>= 2.2.2, < 4.0)
@@ -172,19 +172,19 @@ GEM
172
172
  unicode-display_width (>= 1.4.0, < 3.0)
173
173
  rubocop-ast (1.12.0)
174
174
  parser (>= 3.0.1.1)
175
- rubocop-minitest (0.15.1)
175
+ rubocop-minitest (0.15.2)
176
176
  rubocop (>= 0.90, < 2.0)
177
- rubocop-performance (1.11.5)
177
+ rubocop-performance (1.12.0)
178
178
  rubocop (>= 1.7.0, < 2.0)
179
179
  rubocop-ast (>= 0.4.0)
180
- rubocop-rails (2.12.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)
184
184
  ruby-progressbar (1.11.0)
185
- ruby_parser (3.17.0)
186
- sexp_processor (~> 4.15, >= 4.15.1)
187
- sexp_processor (4.15.3)
185
+ ruby_parser (3.18.0)
186
+ sexp_processor (~> 4.16)
187
+ sexp_processor (4.16.0)
188
188
  simple_form (5.1.0)
189
189
  actionpack (>= 5.2)
190
190
  activemodel (>= 5.2)
@@ -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
@@ -82,7 +82,7 @@ module UiBibz::Concerns::Models::Searchable
82
82
 
83
83
  def self.generate_default_sql(sql)
84
84
  if sorting?
85
- sql.paginate(page: @tmp_params[:page], per_page: @tmp_params[:per_page])
85
+ sql.reorder('').paginate(page: @tmp_params[:page], per_page: @tmp_params[:per_page])
86
86
  else
87
87
  sql.reorder(order_sql).paginate(page: @tmp_params[:page], per_page: @tmp_params[:per_page])
88
88
  end
@@ -134,8 +134,10 @@ 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
@@ -150,7 +152,7 @@ module UiBibz::Concerns::Models::Searchable
150
152
  end
151
153
 
152
154
  def self.order_sql
153
- sorting? ? "#{table_name}.id asc" : "#{@tmp_params[:sort]} #{@tmp_params[:direction]}"
155
+ sorting? ? '' : "#{@tmp_params[:sort]} #{@tmp_params[:direction]}"
154
156
  end
155
157
 
156
158
  def self.search_sort_paginate
data/lib/ui_bibz/infos.rb CHANGED
@@ -12,6 +12,6 @@ module UiBibz
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.6'
15
+ VERSION = '3.0.10'
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
@@ -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
@@ -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.6
4
+ version: 3.0.10
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-10-07 00:00:00.000000000 Z
11
+ date: 2021-11-02 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