ui_bibz 3.0.0.alpha10 → 3.0.0.beta3
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/.codeclimate.yml +8 -0
- data/.github/FUNDING.yml +1 -0
- data/.github/workflows/ci.yml +28 -0
- data/Gemfile.lock +35 -30
- data/README.md +3 -4
- data/lib/ui_bibz/concerns/models/searchable.rb +1 -1
- data/lib/ui_bibz/infos.rb +3 -3
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +1 -1
- data/lib/ui_bibz/ui/concerns/html_concern.rb +8 -2
- data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +1 -1
- data/lib/ui_bibz/ui/core/forms/buttons/button.rb +4 -4
- data/lib/ui_bibz/ui/core/forms/buttons/button_link.rb +1 -1
- data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +26 -6
- data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +1 -1
- data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +1 -1
- data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +35 -5
- data/lib/ui_bibz/ui/core/lists/list_group.rb +1 -1
- data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +1 -1
- data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +1 -1
- data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +1 -1
- data/lib/ui_bibz/ui/core/navigations/components/nav_text.rb +1 -1
- data/lib/ui_bibz/ui/core/navigations/link.rb +1 -1
- data/lib/ui_bibz/ui/core/navigations/nav.rb +1 -1
- data/lib/ui_bibz/ui/core/navigations/navbar.rb +2 -2
- data/lib/ui_bibz/ui/core/navigations/toolbar.rb +1 -1
- data/lib/ui_bibz/ui/core/notifications/components/alert_header.rb +1 -1
- data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +5 -5
- data/lib/ui_bibz/ui/core/notifications/toast.rb +1 -1
- data/lib/ui_bibz/ui/core/windows/components/modal_header.rb +1 -1
- data/lib/ui_bibz/ui/core/windows/modal.rb +2 -2
- data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +6 -6
- data/test/simple_form_test.rb +4 -4
- data/test/ui/core/boxes/card_test.rb +1 -1
- data/test/ui/core/forms/buttons/button_group_test.rb +1 -1
- data/test/ui/core/forms/buttons/button_link_test.rb +1 -1
- data/test/ui/core/forms/buttons/button_test.rb +6 -6
- data/test/ui/core/forms/dropdowns/dropdown_test.rb +5 -5
- data/test/ui/core/forms/numbers/formula_field_test.rb +1 -1
- data/test/ui/core/forms/selects/multi_select_field_test.rb +3 -3
- data/test/ui/core/forms/surrounds/surround_field_test.rb +2 -2
- data/test/ui/core/lists/list_group_test.rb +1 -1
- data/test/ui/core/navigations/link_test.rb +1 -1
- data/test/ui/core/navigations/nav_test.rb +2 -2
- data/test/ui/core/navigations/navbar_test.rb +4 -4
- data/test/ui/core/navigations/tab_group_test.rb +5 -5
- data/test/ui/core/navigations/toolbar_test.rb +1 -1
- data/test/ui/core/notifications/alert_test.rb +1 -1
- data/test/ui/core/notifications/spinner_test.rb +1 -1
- data/test/ui/core/notifications/toast_test.rb +1 -1
- data/test/ui/core/windows/modal_test.rb +2 -2
- data/test/ui/ux/containers/panel_test.rb +4 -4
- data/ui_bibz.gemspec +2 -1
- metadata +21 -6
- data/.github/workflows/ruby.yml +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: efe8b08b80f4ee4b0ab28e1956134dea1530d71ff1bfe0d6d1b6e3800d839bce
|
4
|
+
data.tar.gz: 7970efb91f6a676dc012753c8cc79e39ae4514db97818ac1394f55b37e729a99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a24bc17b0a2afcfbec5a89a058920e411aaa8c7e014b9f3604880a659f813ced5431e96a975da9d32d43500508e18b19531aaf1caccefea0ecade3fa24df0e94
|
7
|
+
data.tar.gz: 512a44e10d6944881806b3ccf697715f0c9fabf240338813ccea5a54b4a9299a52304cc097e6c90658644a28e7355e3449e775b54d95ffc343e3b3eb55395ac4
|
data/.codeclimate.yml
ADDED
data/.github/FUNDING.yml
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on: [push]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
|
10
|
+
steps:
|
11
|
+
- uses: actions/checkout@v2
|
12
|
+
|
13
|
+
- name: Set up Ruby with .ruby-version file
|
14
|
+
uses: ruby/setup-ruby@v1
|
15
|
+
with:
|
16
|
+
bundler-cache: true
|
17
|
+
|
18
|
+
- name: Install gems
|
19
|
+
run: |
|
20
|
+
gem install bundler
|
21
|
+
bundle install --jobs 4 --retry 3
|
22
|
+
|
23
|
+
- name: Test with Rake
|
24
|
+
uses: paambaati/codeclimate-action@v2.7.5
|
25
|
+
env:
|
26
|
+
CC_TEST_REPORTER_ID: 95196f8dbe3406321c6e7b406585532102784f0a3d4141a25f53937eedb844b6
|
27
|
+
with:
|
28
|
+
coverageCommand: bundle exec rake
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ui_bibz (3.0.0.
|
5
|
-
rails (~> 6.0.3, >= 6.0.3.2)
|
4
|
+
ui_bibz (3.0.0.beta3)
|
6
5
|
will-paginate-i18n
|
7
6
|
will_paginate (~> 3.1.0)
|
8
7
|
will_paginate-bootstrap4
|
@@ -74,7 +73,7 @@ GEM
|
|
74
73
|
simplecov
|
75
74
|
concurrent-ruby (1.1.7)
|
76
75
|
crass (1.0.6)
|
77
|
-
docile (1.3.
|
76
|
+
docile (1.3.4)
|
78
77
|
erubi (1.10.0)
|
79
78
|
erubis (2.7.0)
|
80
79
|
factory_bot (4.11.1)
|
@@ -84,7 +83,7 @@ GEM
|
|
84
83
|
railties (>= 3.0.0)
|
85
84
|
globalid (0.4.2)
|
86
85
|
activesupport (>= 4.2.0)
|
87
|
-
haml (5.2.
|
86
|
+
haml (5.2.1)
|
88
87
|
temple (>= 0.8.0)
|
89
88
|
tilt
|
90
89
|
haml-rails (2.0.1)
|
@@ -98,14 +97,14 @@ GEM
|
|
98
97
|
haml (>= 4.0, < 6)
|
99
98
|
nokogiri (>= 1.6.0)
|
100
99
|
ruby_parser (~> 3.5)
|
101
|
-
i18n (1.8.
|
100
|
+
i18n (1.8.7)
|
102
101
|
concurrent-ruby (~> 1.0)
|
103
102
|
iniparse (1.5.0)
|
104
103
|
jquery-rails (4.4.0)
|
105
104
|
rails-dom-testing (>= 1, < 3)
|
106
105
|
railties (>= 4.2.0)
|
107
106
|
thor (>= 0.14, < 2.0)
|
108
|
-
loofah (2.
|
107
|
+
loofah (2.8.0)
|
109
108
|
crass (~> 1.0.2)
|
110
109
|
nokogiri (>= 1.5.9)
|
111
110
|
mail (2.7.1)
|
@@ -115,17 +114,19 @@ GEM
|
|
115
114
|
method_source (1.0.0)
|
116
115
|
mimemagic (0.3.5)
|
117
116
|
mini_mime (1.0.2)
|
118
|
-
mini_portile2 (2.
|
119
|
-
minitest (5.14.
|
117
|
+
mini_portile2 (2.5.0)
|
118
|
+
minitest (5.14.3)
|
120
119
|
nio4r (2.5.4)
|
121
|
-
nokogiri (1.
|
122
|
-
mini_portile2 (~> 2.
|
120
|
+
nokogiri (1.11.1)
|
121
|
+
mini_portile2 (~> 2.5.0)
|
122
|
+
racc (~> 1.4)
|
123
123
|
overcommit (0.57.0)
|
124
124
|
childprocess (>= 0.6.3, < 5)
|
125
125
|
iniparse (~> 1.4)
|
126
|
-
parallel (1.20.
|
127
|
-
parser (
|
126
|
+
parallel (1.20.1)
|
127
|
+
parser (3.0.0.0)
|
128
128
|
ast (~> 2.4.1)
|
129
|
+
racc (1.5.2)
|
129
130
|
rack (2.2.3)
|
130
131
|
rack-test (1.1.0)
|
131
132
|
rack (>= 1.0, < 3)
|
@@ -156,40 +157,42 @@ GEM
|
|
156
157
|
rake (>= 0.8.7)
|
157
158
|
thor (>= 0.20.3, < 2.0)
|
158
159
|
rainbow (3.0.0)
|
159
|
-
rake (13.0.
|
160
|
-
regexp_parser (
|
160
|
+
rake (13.0.3)
|
161
|
+
regexp_parser (2.0.3)
|
161
162
|
rexml (3.2.4)
|
162
|
-
rubocop (1.
|
163
|
+
rubocop (1.8.0)
|
163
164
|
parallel (~> 1.10)
|
164
|
-
parser (>=
|
165
|
+
parser (>= 3.0.0.0)
|
165
166
|
rainbow (>= 2.2.2, < 4.0)
|
166
|
-
regexp_parser (>= 1.8)
|
167
|
+
regexp_parser (>= 1.8, < 3.0)
|
167
168
|
rexml
|
168
|
-
rubocop-ast (>= 1.
|
169
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
169
170
|
ruby-progressbar (~> 1.7)
|
170
|
-
unicode-display_width (>= 1.4.0, <
|
171
|
-
rubocop-ast (1.
|
171
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
172
|
+
rubocop-ast (1.4.0)
|
172
173
|
parser (>= 2.7.1.5)
|
173
|
-
rubocop-minitest (0.10.
|
174
|
-
rubocop (>= 0.87)
|
175
|
-
rubocop-performance (1.9.
|
174
|
+
rubocop-minitest (0.10.2)
|
175
|
+
rubocop (>= 0.87, < 2.0)
|
176
|
+
rubocop-performance (1.9.2)
|
176
177
|
rubocop (>= 0.90.0, < 2.0)
|
177
178
|
rubocop-ast (>= 0.4.0)
|
178
|
-
rubocop-rails (2.
|
179
|
+
rubocop-rails (2.9.1)
|
179
180
|
activesupport (>= 4.2.0)
|
180
181
|
rack (>= 1.1)
|
181
|
-
rubocop (>= 0.
|
182
|
-
ruby-progressbar (1.
|
182
|
+
rubocop (>= 0.90.0, < 2.0)
|
183
|
+
ruby-progressbar (1.11.0)
|
183
184
|
ruby_parser (3.15.0)
|
184
185
|
sexp_processor (~> 4.9)
|
185
186
|
sexp_processor (4.15.1)
|
186
187
|
simple_form (5.0.3)
|
187
188
|
actionpack (>= 5.0)
|
188
189
|
activemodel (>= 5.0)
|
189
|
-
simplecov (0.
|
190
|
+
simplecov (0.21.1)
|
190
191
|
docile (~> 1.1)
|
191
192
|
simplecov-html (~> 0.11)
|
193
|
+
simplecov_json_formatter (~> 0.1)
|
192
194
|
simplecov-html (0.12.3)
|
195
|
+
simplecov_json_formatter (0.1.2)
|
193
196
|
sprockets (4.0.2)
|
194
197
|
concurrent-ruby (~> 1.0)
|
195
198
|
rack (> 1, < 3)
|
@@ -202,9 +205,9 @@ GEM
|
|
202
205
|
thor (1.0.1)
|
203
206
|
thread_safe (0.3.6)
|
204
207
|
tilt (2.0.10)
|
205
|
-
tzinfo (1.2.
|
208
|
+
tzinfo (1.2.9)
|
206
209
|
thread_safe (~> 0.1)
|
207
|
-
unicode-display_width (
|
210
|
+
unicode-display_width (2.0.0)
|
208
211
|
websocket-driver (0.7.3)
|
209
212
|
websocket-extensions (>= 0.1.0)
|
210
213
|
websocket-extensions (0.1.5)
|
@@ -212,7 +215,7 @@ GEM
|
|
212
215
|
will_paginate (3.1.8)
|
213
216
|
will_paginate-bootstrap4 (0.2.2)
|
214
217
|
will_paginate (~> 3.0, >= 3.0.0)
|
215
|
-
zeitwerk (2.4.
|
218
|
+
zeitwerk (2.4.2)
|
216
219
|
|
217
220
|
PLATFORMS
|
218
221
|
ruby
|
@@ -226,7 +229,9 @@ DEPENDENCIES
|
|
226
229
|
jquery-rails (>= 3.1.0)
|
227
230
|
minitest
|
228
231
|
overcommit
|
232
|
+
rails (~> 6.0.3, >= 6.0.3.2)
|
229
233
|
rubocop
|
234
|
+
rubocop-ast
|
230
235
|
rubocop-minitest
|
231
236
|
rubocop-performance
|
232
237
|
rubocop-rails
|
data/README.md
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|

|
2
2
|
|
3
|
-
[](
|
4
|
-
[](https://travis-ci.org/thooams/Ui-Bibz)
|
3
|
+
[](https://badge.fury.io/rb/ui_bibz)
|
5
4
|
[](https://codeclimate.com/github/thooams/Ui-Bibz)
|
6
5
|
[](https://codeclimate.com/github/thooams/Ui-Bibz)
|
7
6
|
[](http://inch-ci.org/github/thooams/Ui-Bibz)
|
8
7
|
[](https://hakiri.io/github/thooams/Ui-Bibz/master)
|
9
|
-

|
10
9
|
|
11
10
|
This project rocks and uses MIT-LICENSE.
|
12
11
|
|
@@ -19,7 +18,7 @@ Ui Bibz load [Bootstrap](http://getbootstrap.com/) and [Font Awesome](http://fon
|
|
19
18
|
|
20
19
|
## Documentation
|
21
20
|
Full documentation is here with bootstrap 5:
|
22
|
-
[Ui Bibz v3](http://hummel.link/
|
21
|
+
[Ui Bibz v3](http://hummel.link/ui-bibz/)
|
23
22
|
|
24
23
|
Older documentation is here with bootstrap 4:
|
25
24
|
[Ui Bibz v2.5](http://hummel.link/Ui-Bibz/docs/v2.5/)
|
@@ -110,7 +110,7 @@ module UiBibz::Concerns::Models::Searchable
|
|
110
110
|
search_patterns = @tmp_params[:search].strip.gsub(/(?<=[\\s])\\s*|^\\s+|\\s+$/, '').downcase
|
111
111
|
|
112
112
|
search_patterns_tmp = search_patterns.scan(/"(.*?)"/).flatten
|
113
|
-
search_patterns = search_patterns.gsub(/"(.*?)"/, '').split
|
113
|
+
search_patterns = search_patterns.gsub(/"(.*?)"/, '').split
|
114
114
|
search_patterns << search_patterns_tmp
|
115
115
|
|
116
116
|
search_patterns.flatten.each_with_index do |pattern, i|
|
data/lib/ui_bibz/infos.rb
CHANGED
@@ -3,15 +3,15 @@
|
|
3
3
|
module UiBibz
|
4
4
|
NAME = 'Ui Bibz'
|
5
5
|
SLUG = 'ui_bibz'
|
6
|
-
BOOTSTRAP_VERSION = '5.0.0.
|
6
|
+
BOOTSTRAP_VERSION = '5.0.0.beta1'
|
7
7
|
DESCRIPTION = "A Rails Interface Framework using Bootstrap #{BOOTSTRAP_VERSION}."
|
8
8
|
SUMMARY = "Ui Bibz is an Ui Framework that allows you to build an interface very quickly and simply using Bootstrap #{BOOTSTRAP_VERSION}."
|
9
9
|
LICENSE = 'MIT'
|
10
10
|
FONTAWESOME_VERSION = '5.15.1'
|
11
11
|
HOMEPAGE = 'https://hummel.link/ui-bibz/'
|
12
|
-
REPO = 'git+https://github.com/thooams/
|
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.0.
|
15
|
+
VERSION = '3.0.0.beta3'
|
16
16
|
AUTHORS = ['Thooams'].freeze
|
17
17
|
end
|
@@ -7,7 +7,7 @@ module UiBibzInputs
|
|
7
7
|
def input(wrapper_options)
|
8
8
|
unless string?
|
9
9
|
input_html_classes.unshift('string')
|
10
|
-
input_html_options[:type] ||= input_type if html5?
|
10
|
+
# input_html_options[:type] ||= input_type if html5?
|
11
11
|
end
|
12
12
|
|
13
13
|
merged_input_options = merge_wrapper_options(input_html_options, wrapper_options)
|
@@ -6,11 +6,17 @@ module UiBibz::Ui::Concerns::HtmlConcern #:nodoc:
|
|
6
6
|
included do
|
7
7
|
def html(content = nil, &block)
|
8
8
|
if block.nil?
|
9
|
-
@items << content
|
9
|
+
@items << RenderString.new(content)
|
10
10
|
else
|
11
11
|
context = eval('self', block.binding) # rubocop:disable Style/EvalWithLocation
|
12
|
-
@items << context.capture(&block)
|
12
|
+
@items << RenderString.new(context.capture(&block))
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
17
|
+
|
18
|
+
class RenderString < SimpleDelegator
|
19
|
+
def render
|
20
|
+
self
|
21
|
+
end
|
22
|
+
end
|
@@ -46,7 +46,7 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
46
46
|
# Render html tag
|
47
47
|
def pre_render
|
48
48
|
if options[:collapse]
|
49
|
-
content_tag :div, class: join_classes('collapse', show), id: options[:collapse], "data-parent": "##{options[:parent_collapse]}" do
|
49
|
+
content_tag :div, class: join_classes('collapse', show), id: options[:collapse], "data-bs-parent": "##{options[:parent_collapse]}" do
|
50
50
|
content_tag :div, @items.join.html_safe, html_options
|
51
51
|
end
|
52
52
|
else
|
@@ -83,8 +83,8 @@ module UiBibz::Ui::Core::Forms::Buttons
|
|
83
83
|
def collapse
|
84
84
|
# Must be flat hash not deep hash
|
85
85
|
{
|
86
|
-
"data-toggle": :collapse,
|
87
|
-
"data-target": "##{options[:collapse]}",
|
86
|
+
"data-bs-toggle": :collapse,
|
87
|
+
"data-bs-target": "##{options[:collapse]}",
|
88
88
|
"aria-controls": options[:collapse],
|
89
89
|
"aria-expanded": options[:expand_collapse].nil? ? false : options[:expand_collapse]
|
90
90
|
}
|
@@ -99,7 +99,7 @@ module UiBibz::Ui::Core::Forms::Buttons
|
|
99
99
|
end
|
100
100
|
|
101
101
|
def toggle
|
102
|
-
{ 'data-toggle' => 'button', 'aria-pressed' => false, 'autocomplete' => 'off' }
|
102
|
+
{ 'data-bs-toggle' => 'button', 'aria-pressed' => false, 'autocomplete' => 'off' }
|
103
103
|
end
|
104
104
|
|
105
105
|
def active_html_options
|
@@ -121,7 +121,7 @@ module UiBibz::Ui::Core::Forms::Buttons
|
|
121
121
|
end
|
122
122
|
|
123
123
|
def spinner_html
|
124
|
-
opts = { size: :sm, tag: :span, class: options[:text] == false ? nil : '
|
124
|
+
opts = { size: :sm, tag: :span, class: options[:text] == false ? nil : 'me-2' }
|
125
125
|
opts = opts.merge(options[:spinner]) if options[:spinner].is_a? Hash
|
126
126
|
|
127
127
|
UiBibz::Ui::Core::Notifications::Spinner.new(nil, opts).render
|
@@ -78,7 +78,7 @@ module UiBibz::Ui::Core::Forms::Buttons
|
|
78
78
|
def collapse
|
79
79
|
# Must be flat hash not deep hash
|
80
80
|
{
|
81
|
-
"data-toggle": :collapse,
|
81
|
+
"data-bs-toggle": :collapse,
|
82
82
|
"aria-controls": options[:collapse],
|
83
83
|
"aria-expanded": options[:expand_collaspe].nil? ? false : options[:expand_collaspe]
|
84
84
|
}
|
@@ -21,16 +21,18 @@ module UiBibz::Ui::Core::Forms::Dropdowns
|
|
21
21
|
# * +status+ - status of element with symbol value:
|
22
22
|
# (+:primary+, +:secondary+, +:info+, +:warning+, +:danger+)
|
23
23
|
# * +size+
|
24
|
+
# * +open+ - Boolean
|
24
25
|
# (+:xs+, +:sm+, +:lg+)
|
25
26
|
# * +glyph+ - Add glyph with name or hash options
|
26
27
|
# * +name+ - String
|
27
28
|
# * +size+ - Integer
|
28
29
|
# * +type+ - Symbol
|
29
30
|
# * +html_button+ - Hash
|
31
|
+
# * +theme+ - Symbol, defaut: +:dark+
|
30
32
|
# * +position+ - Symbol
|
31
33
|
# (+:up+, +:right+, +:down+, +:left+)
|
32
|
-
# * +alignment+ - Symbol
|
33
|
-
# (+:right)
|
34
|
+
# * +alignment+ - Symbol/Hash - eq. { direction: :start, size: :lg }
|
35
|
+
# (+:left+, +:right+, +:start+, +:end+)
|
34
36
|
#
|
35
37
|
# ==== Signatures
|
36
38
|
#
|
@@ -117,9 +119,9 @@ module UiBibz::Ui::Core::Forms::Dropdowns
|
|
117
119
|
def button_html
|
118
120
|
html_button = options[:html_button] || {}
|
119
121
|
if options[:tag] == :a
|
120
|
-
content_tag dropdown_tag, button_content, { class: join_classes('btn', button_status, state, size, 'dropdown-toggle'), role: 'button', 'data-toggle' => 'dropdown', 'aria-
|
122
|
+
content_tag dropdown_tag, button_content, { class: join_classes('btn', button_status, state, size, 'dropdown-toggle'), role: 'button', 'data-bs-toggle' => 'dropdown', 'aria-expanded' => false, 'id' => id }.merge(html_button)
|
121
123
|
else
|
122
|
-
content_tag dropdown_tag, button_content, { class: join_classes('btn', button_status, state, size, 'dropdown-toggle'), type: 'button', 'data-toggle' => 'dropdown', 'aria-
|
124
|
+
content_tag dropdown_tag, button_content, { class: join_classes('btn', button_status, state, size, 'dropdown-toggle'), type: 'button', 'data-bs-toggle' => 'dropdown', 'aria-expanded' => false, 'id' => id }.merge(html_button)
|
123
125
|
end
|
124
126
|
end
|
125
127
|
|
@@ -132,11 +134,17 @@ module UiBibz::Ui::Core::Forms::Dropdowns
|
|
132
134
|
end
|
133
135
|
|
134
136
|
def alignment
|
135
|
-
|
137
|
+
return nil if @options[:alignment].nil?
|
138
|
+
|
139
|
+
if @options[:alignment].is_a? Hash
|
140
|
+
['dropdown-menu', @options[:alignment][:size], match_direction[@options[:alignment][:direction]]].join('-')
|
141
|
+
else
|
142
|
+
"dropdown-menu-#{match_direction[@options[:alignment]]}"
|
143
|
+
end
|
136
144
|
end
|
137
145
|
|
138
146
|
def position
|
139
|
-
"drop#{@options[:position] ||
|
147
|
+
"drop#{match_direction[@options[:position] || :down]}"
|
140
148
|
end
|
141
149
|
|
142
150
|
def open
|
@@ -171,5 +179,17 @@ module UiBibz::Ui::Core::Forms::Dropdowns
|
|
171
179
|
def theme
|
172
180
|
'dropdown-menu-dark' if @options[:theme]
|
173
181
|
end
|
182
|
+
|
183
|
+
# Match end and start directions
|
184
|
+
def match_direction
|
185
|
+
{
|
186
|
+
up: 'up',
|
187
|
+
right: 'end',
|
188
|
+
down: 'down',
|
189
|
+
left: 'start',
|
190
|
+
start: 'start',
|
191
|
+
end: 'end'
|
192
|
+
}.with_indifferent_access
|
193
|
+
end
|
174
194
|
end
|
175
195
|
end
|
@@ -78,7 +78,7 @@ module UiBibz::Ui::Core::Forms::Dropdowns
|
|
78
78
|
|
79
79
|
def split_html
|
80
80
|
content_tag :button, split_content, class: split_classes, type: 'button',
|
81
|
-
'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false
|
81
|
+
'data-bs-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false
|
82
82
|
end
|
83
83
|
|
84
84
|
def split_content
|
@@ -53,7 +53,7 @@ module UiBibz::Ui::Core::Forms::Numbers
|
|
53
53
|
sf.text_field formula_field_name, nil, text_field_formula_html_options
|
54
54
|
sf.addon '=', class: 'formula-field-sign'
|
55
55
|
sf.text_field content, nil, text_field_input_html_options
|
56
|
-
sf.addon formula_field_alert_glyph, { class: 'formula-field-alert' }, { data: { toggle: 'tooltip' } }
|
56
|
+
sf.addon formula_field_alert_glyph, { class: 'formula-field-alert' }, { data: { "bs-toggle": 'tooltip' } }
|
57
57
|
sf.addon @options[:prepend] unless @options[:prepend].nil?
|
58
58
|
end.render
|
59
59
|
end
|
@@ -25,7 +25,13 @@ module UiBibz::Ui::Core::Forms::Selects
|
|
25
25
|
# * +searchable+ - Boolean
|
26
26
|
# * +select_all_option+ - Boolean
|
27
27
|
# * +append+ - String, Html
|
28
|
+
# * +open+ - Boolean
|
29
|
+
# * +theme+ - Symbol, defaut: +:dark+
|
28
30
|
# * +prepend+ - String, Html
|
31
|
+
# * +position+ - Symbol
|
32
|
+
# (+:up+, +:right+, +:down+, +:left+)
|
33
|
+
# * +alignment+ - Symbol
|
34
|
+
# (+:right)
|
29
35
|
# * +connect+ - Hash
|
30
36
|
# * +event+ - String
|
31
37
|
# * +mode+ - String
|
@@ -69,7 +75,7 @@ module UiBibz::Ui::Core::Forms::Selects
|
|
69
75
|
end
|
70
76
|
|
71
77
|
def component_html_classes
|
72
|
-
[size, type, button_status, 'multi-select-field']
|
78
|
+
[open, size, type, button_status, 'multi-select-field']
|
73
79
|
end
|
74
80
|
|
75
81
|
def component_html_data
|
@@ -79,6 +85,8 @@ module UiBibz::Ui::Core::Forms::Selects
|
|
79
85
|
searchable
|
80
86
|
select_all_options
|
81
87
|
number_displayed
|
88
|
+
dropdown_menu_classes
|
89
|
+
dropdown_classes
|
82
90
|
end
|
83
91
|
|
84
92
|
def clickable_opt_group
|
@@ -101,6 +109,32 @@ module UiBibz::Ui::Core::Forms::Selects
|
|
101
109
|
add_html_data('include_select_all_option') if options[:select_all_options]
|
102
110
|
end
|
103
111
|
|
112
|
+
def dropdown_menu_classes
|
113
|
+
classes = join_classes(theme, alignment, open)
|
114
|
+
add_html_data('dropdown_menu_classes', value: classes.nil? ? nil : classes.join(' '))
|
115
|
+
end
|
116
|
+
|
117
|
+
def dropdown_classes
|
118
|
+
classes = join_classes(position, open)
|
119
|
+
add_html_data('dropdown_classes', value: classes.nil? ? nil : classes.join(' '))
|
120
|
+
end
|
121
|
+
|
122
|
+
def position
|
123
|
+
"drop#{@options[:position] || 'down'}"
|
124
|
+
end
|
125
|
+
|
126
|
+
def theme
|
127
|
+
'dropdown-menu-dark' if @options[:theme]
|
128
|
+
end
|
129
|
+
|
130
|
+
def open
|
131
|
+
'show' if @options[:open]
|
132
|
+
end
|
133
|
+
|
134
|
+
def alignment
|
135
|
+
"dropdown-menu-#{@options[:alignment]}" unless @options[:alignment].nil?
|
136
|
+
end
|
137
|
+
|
104
138
|
def type
|
105
139
|
'btn-block' if options[:type] == :block
|
106
140
|
end
|
@@ -117,9 +151,5 @@ module UiBibz::Ui::Core::Forms::Selects
|
|
117
151
|
def outline
|
118
152
|
'outline' if options[:outline]
|
119
153
|
end
|
120
|
-
|
121
|
-
def theme
|
122
|
-
'dropdown-menu-dark' if @options[:theme]
|
123
|
-
end
|
124
154
|
end
|
125
155
|
end
|