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 +4 -4
- data/Gemfile.lock +11 -11
- data/lib/ui_bibz/concerns/models/searchable.rb +6 -4
- data/lib/ui_bibz/infos.rb +1 -1
- data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +18 -2
- data/lib/ui_bibz/ui/ux/tables/components/column.rb +4 -1
- data/lib/ui_bibz/ui/ux/tables/extensions/sortable.rb +7 -1
- data/test/ui/core/forms/dropdowns/dropdown_test.rb +0 -9
- data/test/ui/core/forms/dropdowns/split_dropdown_test.rb +24 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b146db4d6722946556a0ac54bf0ebbb5d4e7b537e0802154f3c46d8c1b55324
|
4
|
+
data.tar.gz: 650e30abeca77084a2c54f86d52dd1fa3d3ba4e1b66513ad17a0469f05cf88de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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.
|
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.
|
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.
|
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.
|
175
|
+
rubocop-minitest (0.15.2)
|
176
176
|
rubocop (>= 0.90, < 2.0)
|
177
|
-
rubocop-performance (1.
|
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.
|
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.
|
186
|
-
sexp_processor (~> 4.
|
187
|
-
sexp_processor (4.
|
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.
|
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
|
-
|
138
|
-
|
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? ?
|
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
@@ -73,7 +73,7 @@ module UiBibz::Ui::Core::Forms::Dropdowns
|
|
73
73
|
end
|
74
74
|
|
75
75
|
def button_html
|
76
|
-
content_tag
|
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,
|
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
|
-
|
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.
|
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-
|
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
|