ui_bibz 3.0.6 → 3.0.10

Sign up to get free protection for your applications and to get access to all the features.
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