ui_bibz 3.0.0.alpha6 → 3.0.0.alpha12
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/.github/FUNDING.yml +1 -0
- data/Gemfile.lock +17 -14
- data/README.md +5 -1
- data/lib/ui_bibz/concerns/models/searchable.rb +1 -1
- data/lib/ui_bibz/infos.rb +4 -4
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +1 -1
- data/lib/ui_bibz/ui/concerns/html_concern.rb +10 -4
- data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +5 -1
- data/lib/ui_bibz/ui/core/forms/buttons/button.rb +2 -11
- data/lib/ui_bibz/ui/core/forms/buttons/button_link.rb +1 -2
- data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +0 -1
- data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +3 -1
- data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +2 -0
- data/lib/ui_bibz/ui/core/forms/numbers/slider_header.rb +2 -2
- data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +35 -5
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +1 -9
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +1 -9
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +5 -4
- data/lib/ui_bibz/ui/core/icons/glyph.rb +9 -1
- 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/nav.rb +3 -3
- data/lib/ui_bibz/ui/core/navigations/navbar.rb +6 -4
- data/lib/ui_bibz/ui/core/navigations/tab_group.rb +5 -1
- data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +15 -1
- data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +9 -24
- data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +1 -1
- data/lib/ui_bibz/ui/extensions/core/forms/surround_extension.rb +1 -1
- data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.rb +3 -3
- data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +4 -4
- data/test/simple_form_test.rb +4 -4
- data/test/ui/core/boxes/card_test.rb +2 -2
- data/test/ui/core/component_test.rb +2 -2
- data/test/ui/core/forms/buttons/button_group_test.rb +1 -1
- data/test/ui/core/forms/buttons/button_link_test.rb +1 -8
- data/test/ui/core/forms/buttons/button_refresh_test.rb +1 -1
- data/test/ui/core/forms/buttons/button_test.rb +2 -9
- data/test/ui/core/forms/choices/choice_group_test.rb +3 -3
- data/test/ui/core/forms/dropdowns/dropdown_test.rb +1 -1
- data/test/ui/core/forms/selects/multi_select_field_test.rb +3 -3
- data/test/ui/core/forms/selects/select_field_test.rb +1 -1
- data/test/ui/core/forms/surrounds/surround_field_test.rb +4 -4
- data/test/ui/core/forms/texts/auto_complete_field_test.rb +2 -2
- data/test/ui/core/lists/list_group_test.rb +1 -1
- data/test/ui/core/navigations/breadcrumb_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/tab_group_test.rb +5 -5
- data/test/ui/core/notifications/alert_test.rb +1 -1
- data/test/ui/core/notifications/badge_test.rb +2 -2
- data/test/ui/ux/containers/panel_test.rb +1 -1
- data/test/ui/ux/tables/table_test.rb +2 -2
- data/ui_bibz.gemspec +2 -1
- metadata +20 -6
@@ -61,7 +61,7 @@ module UiBibz::Ui::Core::Icons
|
|
61
61
|
|
62
62
|
# Render html tag
|
63
63
|
def pre_render
|
64
|
-
[content_tag(:i, '', html_options),
|
64
|
+
[content_tag(:i, '', html_options), label].compact.join(' ').html_safe
|
65
65
|
end
|
66
66
|
|
67
67
|
private
|
@@ -138,5 +138,13 @@ module UiBibz::Ui::Core::Icons
|
|
138
138
|
def match_style
|
139
139
|
{ solid: 'fas', regular: 'far', light: 'fal', brands: 'fab' }
|
140
140
|
end
|
141
|
+
|
142
|
+
def label
|
143
|
+
if options[:text] == false
|
144
|
+
content_tag :span, options[:label], class: 'visually-hidden'
|
145
|
+
else
|
146
|
+
options[:label]
|
147
|
+
end
|
148
|
+
end
|
141
149
|
end
|
142
150
|
end
|
@@ -90,7 +90,7 @@ module UiBibz::Ui::Core::Lists
|
|
90
90
|
options = options.merge({ tag_type: @options[:tag_type] }) unless @options[:tag_type].nil?
|
91
91
|
|
92
92
|
@lists << if tapped?(block)
|
93
|
-
content = (content || {}).merge(
|
93
|
+
content = (content || {}).merge(options)
|
94
94
|
UiBibz::Ui::Core::Lists::Components::List.new(content, options, html_options).tap(&block).render
|
95
95
|
else
|
96
96
|
UiBibz::Ui::Core::Lists::Components::List.new(content, options, html_options, &block).render
|
@@ -60,7 +60,7 @@ module UiBibz::Ui::Core::Navigations
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def link_html
|
63
|
-
content_tag :a, button_content, class: join_classes(size, state, 'dropdown-toggle', 'nav-link'), 'data-toggle' => 'dropdown', 'aria-expanded' => false
|
63
|
+
content_tag :a, button_content, class: join_classes(size, state, 'dropdown-toggle', 'nav-link'), href: '#', 'data-toggle' => 'dropdown', 'aria-expanded' => false
|
64
64
|
end
|
65
65
|
end
|
66
66
|
end
|
@@ -45,7 +45,7 @@ module UiBibz::Ui::Core::Navigations
|
|
45
45
|
when 'nav-tabs'
|
46
46
|
html_tag_base
|
47
47
|
when 'list-group'
|
48
|
-
html_tag_base.merge("aria-controls": sanitize_text(content))
|
48
|
+
html_tag_base.merge("aria-controls": sanitize_text(content).parameterize)
|
49
49
|
else
|
50
50
|
{}
|
51
51
|
end.merge(options[:a_html] || {})
|
@@ -82,7 +82,7 @@ module UiBibz::Ui::Core::Navigations
|
|
82
82
|
# Add nav link items
|
83
83
|
# See UiBibz::Ui::Core::Navigations::NavLink
|
84
84
|
def link(content = nil, options = {}, html_options = nil, &block)
|
85
|
-
if
|
85
|
+
if block
|
86
86
|
content[:nav_type] = type
|
87
87
|
content[:nav_tags] = nav_tags
|
88
88
|
else
|
@@ -93,7 +93,7 @@ module UiBibz::Ui::Core::Navigations
|
|
93
93
|
end
|
94
94
|
|
95
95
|
def text(content = nil, options = {}, html_options = nil, &block)
|
96
|
-
|
96
|
+
block ? content[:nav_type] = type : options[:nav_type] = type
|
97
97
|
@items << NavText.new(content, options, html_options, &block)
|
98
98
|
end
|
99
99
|
|
@@ -120,7 +120,7 @@ module UiBibz::Ui::Core::Navigations
|
|
120
120
|
end
|
121
121
|
|
122
122
|
def component_html_options
|
123
|
-
@options[:type]
|
123
|
+
%i[tabs list].include?(@options[:type]) ? { role: 'tablist' } : super
|
124
124
|
end
|
125
125
|
|
126
126
|
# tabs or pills
|
@@ -31,6 +31,8 @@ module UiBibz::Ui::Core::Navigations
|
|
31
31
|
# * +title+ - String
|
32
32
|
# * +container+ - Hash container options
|
33
33
|
# * +container_html+ - Hash container html options
|
34
|
+
# * +expand_size+ - Symbol size
|
35
|
+
# (+:sm+, +:md+, +:lg+, +:xl+, +:xxl+)
|
34
36
|
#
|
35
37
|
# ==== Signatures
|
36
38
|
#
|
@@ -132,11 +134,11 @@ module UiBibz::Ui::Core::Navigations
|
|
132
134
|
end
|
133
135
|
|
134
136
|
def navbar_toggle_html(content = nil, &block)
|
135
|
-
@navbar_toggle_html = if
|
137
|
+
@navbar_toggle_html = if block.nil?
|
138
|
+
content
|
139
|
+
else
|
136
140
|
context = eval('self', block.binding) # rubocop:disable Style/EvalWithLocation
|
137
141
|
context.capture(&block)
|
138
|
-
else
|
139
|
-
content
|
140
142
|
end
|
141
143
|
end
|
142
144
|
|
@@ -165,7 +167,7 @@ module UiBibz::Ui::Core::Navigations
|
|
165
167
|
end
|
166
168
|
|
167
169
|
def expand_size
|
168
|
-
"navbar-expand-#{@options[:expand_size] || :lg}"
|
170
|
+
"navbar-expand-#{@options[:expand_size] || :lg}" unless options[:collapsible] == false
|
169
171
|
end
|
170
172
|
|
171
173
|
def position
|
@@ -67,7 +67,7 @@ module UiBibz::Ui::Core::Navigations
|
|
67
67
|
# Add nav link items
|
68
68
|
# See UiBibz::Ui::Core::Navigations::NavLink
|
69
69
|
def tab(content = nil, options = {}, html_options = nil, &block)
|
70
|
-
if
|
70
|
+
if block
|
71
71
|
content[:nav_type] = type
|
72
72
|
content[:tag_type] = @options[:tag_type]
|
73
73
|
else
|
@@ -83,6 +83,10 @@ module UiBibz::Ui::Core::Navigations
|
|
83
83
|
['nav', 'nav-tabs', position, justify, fill]
|
84
84
|
end
|
85
85
|
|
86
|
+
def component_html_options
|
87
|
+
{ role: 'tablist' }
|
88
|
+
end
|
89
|
+
|
86
90
|
def type
|
87
91
|
'nav-tabs'
|
88
92
|
end
|
@@ -31,12 +31,13 @@ module UiBibz::Ui::Core::Notifications::Components
|
|
31
31
|
# end.render
|
32
32
|
#
|
33
33
|
class ToastHeader < UiBibz::Ui::Core::Component
|
34
|
+
include Webpacker::Helper if defined?(Webpacker)
|
34
35
|
# See UiBibz::Ui::Core::Component.initialize
|
35
36
|
|
36
37
|
def pre_render
|
37
38
|
content_tag :div, html_options do
|
38
39
|
concat UiBibz::Ui::Core::Icons::Glyph.new(options[:glyph], class: 'mr-2').render unless options[:glyph].nil?
|
39
|
-
concat
|
40
|
+
concat image unless options[:image].nil?
|
40
41
|
concat content_tag(:strong, content, class: 'mr-auto')
|
41
42
|
concat content_tag(:small, options[:time], class: 'text-muted') unless options[:time].nil?
|
42
43
|
concat close_button
|
@@ -45,6 +46,19 @@ module UiBibz::Ui::Core::Notifications::Components
|
|
45
46
|
|
46
47
|
private
|
47
48
|
|
49
|
+
def image
|
50
|
+
if options[:image].is_a?(String)
|
51
|
+
image_tag(options[:image], class: 'rounded mr-2', alt: sanitize_text(options[:image])) unless options[:image].nil?
|
52
|
+
else
|
53
|
+
options[:image][:class] = UiBibz::Utils::Screwdriver.join_classes(options[:image][:class], 'rounded mr-2')
|
54
|
+
if options[:image].delete(:pack)
|
55
|
+
image_pack_tag(options[:image].delete(:href), **options[:image])
|
56
|
+
else
|
57
|
+
image_tag(options[:image].delete(:href), **options[:image])
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
48
62
|
def close_button
|
49
63
|
content_tag :button, '', class: 'ml-2 mb-1 btn-close', "data-dismiss": 'toast', "aria-label": 'Close'
|
50
64
|
end
|
@@ -3,28 +3,11 @@
|
|
3
3
|
module GlyphExtension
|
4
4
|
# Render glyph and content html
|
5
5
|
def glyph_and_content_html(content_html = nil)
|
6
|
-
[
|
7
|
-
end
|
8
|
-
|
9
|
-
def ct_html(content_html)
|
10
|
-
content_html || content if options[:text].nil? || options[:text] == true
|
11
|
-
end
|
12
|
-
|
13
|
-
# Render glyph with space html
|
14
|
-
def glyph_with_space
|
15
|
-
out = [glyph]
|
16
|
-
out << if options[:text] == false
|
17
|
-
content_tag(:span, ' ', class: 'empty-space')
|
18
|
-
else
|
19
|
-
' '
|
20
|
-
end
|
21
|
-
out.join unless glyph.nil?
|
6
|
+
options[:glyph] ? generate_glyph(content_html) : content_html || content
|
22
7
|
end
|
23
8
|
|
24
9
|
# Render glyph html
|
25
|
-
def
|
26
|
-
options[:content] = content if options[:text] == false
|
27
|
-
|
10
|
+
def generate_glyph(content_html)
|
28
11
|
glyph_options = if options[:glyph].is_a?(Hash)
|
29
12
|
options[:glyph]
|
30
13
|
elsif options[:glyph]
|
@@ -33,11 +16,13 @@ module GlyphExtension
|
|
33
16
|
{}
|
34
17
|
end
|
35
18
|
|
36
|
-
glyph_options
|
37
|
-
|
38
|
-
|
39
|
-
|
19
|
+
glyph_options = glyph_options.tap do |h|
|
20
|
+
h[:text] = options[:text]
|
21
|
+
h[:label] = options[:label] || content_html || content
|
22
|
+
h[:shortcut] = options[:shortcut] unless options[:shortcut].nil?
|
23
|
+
end
|
40
24
|
|
41
|
-
UiBibz::Utils::GlyphChanger.new(glyph_options[:name], glyph_options).render unless glyph_options[:name].nil?
|
25
|
+
# UiBibz::Utils::GlyphChanger.new(glyph_options[:name], glyph_options).render unless glyph_options[:name].nil?
|
26
|
+
UiBibz::Ui::Core::Icons::Glyph.new(glyph_options[:name], glyph_options).render if glyph_options[:name].present?
|
42
27
|
end
|
43
28
|
end
|
@@ -28,7 +28,7 @@ module PopoverExtension
|
|
28
28
|
TOOLTIP_METHODS.each { |mth| add_html_data(mth, value: options[:tooltip].try(:[], mth)) unless options[:tooltip].try(:[], mth).nil? }
|
29
29
|
add_html_data :placement, value: options[:tooltip].try(:[], :position) unless options[:tooltip].try(:[], :position).nil?
|
30
30
|
else
|
31
|
-
add_html_data :title, value: options[:tooltip]
|
31
|
+
add_html_data :title, value: options[:tooltip] == true ? sanitize_text(content) : options[:tooltip]
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -7,7 +7,7 @@ module SurroundExtension
|
|
7
7
|
private
|
8
8
|
|
9
9
|
def surrounded?
|
10
|
-
|
10
|
+
options[:append].present? || options[:prepend].present? || options[:refresh].present? || options[:surrounded].present?
|
11
11
|
end
|
12
12
|
|
13
13
|
def surround_wrapper_tag(ct_tag)
|
@@ -34,12 +34,12 @@ module UiBibz::Ui::Ux::Tables
|
|
34
34
|
|
35
35
|
# Render html tag
|
36
36
|
def render
|
37
|
-
if @per_page_field.options[:wrap_form]
|
37
|
+
if @per_page_field.options[:wrap_form] == false
|
38
|
+
per_page_html
|
39
|
+
else
|
38
40
|
form_tag(url_for(url_parameters), method: :get) do
|
39
41
|
per_page_html_in_wrap
|
40
42
|
end
|
41
|
-
else
|
42
|
-
per_page_html
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -13,12 +13,12 @@ module UiBibz::Ui::Ux::Tables
|
|
13
13
|
|
14
14
|
# Render html tag
|
15
15
|
def pre_render
|
16
|
-
if options[:wrap_form]
|
16
|
+
if options[:wrap_form] == false
|
17
|
+
search_field_html
|
18
|
+
else
|
17
19
|
form_tag(url_for(url_parameters), method: :get, class: 'form-table-search-field') do
|
18
20
|
search_field_html_in_wrap
|
19
21
|
end
|
20
|
-
else
|
21
|
-
search_field_html
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -69,7 +69,7 @@ module UiBibz::Ui::Ux::Tables
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def clear_button
|
72
|
-
content_tag :button, UiBibz::Ui::Core::Icons::Glyph.new('times-circle').render, type: :button, class: 'btn btn-secondary input-group-btn clear-search-btn'
|
72
|
+
content_tag :button, UiBibz::Ui::Core::Icons::Glyph.new('times-circle', text: false, label: 'Clear Search').render, type: :button, class: 'btn btn-secondary input-group-btn clear-search-btn'
|
73
73
|
end
|
74
74
|
|
75
75
|
def component_html_classes
|
data/test/simple_form_test.rb
CHANGED
@@ -82,7 +82,7 @@ test1</textarea></div></form>"
|
|
82
82
|
f.input :name_fr, as: :ui_dropdown_select_field, multiple: true, collection: @users, label_method: :name_fr
|
83
83
|
end
|
84
84
|
|
85
|
-
expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_dropdown_select_field optional user_name_fr\"><label class=\"control-label ui_dropdown_select_field optional\" for=\"user_name_fr\">Name fr</label><select name=\"user[name_fr][]\" id=\"user_name_fr\" class=\"btn-secondary multi-select-field\" multiple=\"multiple\"><option value=\"1\">test1</option>
|
85
|
+
expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_dropdown_select_field optional user_name_fr\"><label class=\"control-label ui_dropdown_select_field optional\" for=\"user_name_fr\">Name fr</label><select name=\"user[name_fr][]\" id=\"user_name_fr\" class=\"btn-secondary multi-select-field\" multiple=\"multiple\" data-dropdown-classes=\"dropdown\"><option value=\"1\">test1</option>
|
86
86
|
<option value=\"2\">test2</option></select></div></form>"
|
87
87
|
|
88
88
|
assert_equal expected, actual
|
@@ -93,7 +93,7 @@ test1</textarea></div></form>"
|
|
93
93
|
f.input :name_fr, as: :ui_dropdown_select_field, multiple: true, collection: @continents, toto: 'lala', grouped: true, group_method: :countries
|
94
94
|
end
|
95
95
|
|
96
|
-
expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_dropdown_select_field optional user_name_fr\"><label class=\"control-label ui_dropdown_select_field optional\" for=\"user_name_fr\">Name fr</label><select name=\"user[name_fr][]\" id=\"user_name_fr\" class=\"btn-secondary multi-select-field\" multiple=\"multiple\"><optgroup label=\"Europe\"><option value=\"1\">France</option>
|
96
|
+
expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_dropdown_select_field optional user_name_fr\"><label class=\"control-label ui_dropdown_select_field optional\" for=\"user_name_fr\">Name fr</label><select name=\"user[name_fr][]\" id=\"user_name_fr\" class=\"btn-secondary multi-select-field\" multiple=\"multiple\" data-dropdown-classes=\"dropdown\"><optgroup label=\"Europe\"><option value=\"1\">France</option>
|
97
97
|
<option value=\"2\">Deutchland</option></optgroup></select></div></form>"
|
98
98
|
|
99
99
|
assert_equal expected, actual
|
@@ -104,7 +104,7 @@ test1</textarea></div></form>"
|
|
104
104
|
f.input :name_fr, as: :ui_text_field
|
105
105
|
end
|
106
106
|
|
107
|
-
expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_text_field optional user_name_fr\"><label class=\"control-label ui_text_field optional\" for=\"user_name_fr\">Name fr</label><input type=\"
|
107
|
+
expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_text_field optional user_name_fr\"><label class=\"control-label ui_text_field optional\" for=\"user_name_fr\">Name fr</label><input type=\"text\" name=\"user[name_fr]\" id=\"user_name_fr\" value=\"test1\" class=\"form-control string ui_text_field optional\" /></div></form>"
|
108
108
|
|
109
109
|
assert_equal expected, actual
|
110
110
|
end
|
@@ -147,7 +147,7 @@ test1</textarea></div></form>"
|
|
147
147
|
end
|
148
148
|
|
149
149
|
expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_select_field optional user_name_fr\"><label class=\"control-label ui_select_field optional\" for=\"user_name_fr\">Name fr</label><div class=\"field-refresh input-group ui_surround_field\"><select name=\"user[name_fr]\" id=\"user_name_fr\" class=\"form-control select-field form-select\"><option value=\"1\">test1</option>
|
150
|
-
<option value=\"2\">test2</option></select><span data-connect=\"{"events":"click","mode":"remote","target":{"selector":"#user_name_fr","url":"","data":[]}}\" class=\"btn-secondary ui-bibz-connect btn input-refresh-button\"><i class=\"glyph fas fa-sync-alt\"></i
|
150
|
+
<option value=\"2\">test2</option></select><span data-connect=\"{"events":"click","mode":"remote","target":{"selector":"#user_name_fr","url":"","data":[]}}\" class=\"btn-secondary ui-bibz-connect btn input-refresh-button\"><i class=\"glyph fas fa-sync-alt\"></i></span></div></div></form>"
|
151
151
|
|
152
152
|
assert_equal expected, actual
|
153
153
|
end
|
@@ -59,7 +59,7 @@ class CardTest < ActionView::TestCase
|
|
59
59
|
p.body 'state'
|
60
60
|
p.footer 'state'
|
61
61
|
end
|
62
|
-
expected =
|
62
|
+
expected = "<div class=\"state card\"><div class=\"card-header\"><i class=\"glyph fas fa-eye\"></i> state</div><div class=\"card-body\">state</div><div class=\"card-footer\">state</div></div>"
|
63
63
|
|
64
64
|
assert_equal expected, actual
|
65
65
|
end
|
@@ -145,7 +145,7 @@ class CardTest < ActionView::TestCase
|
|
145
145
|
end
|
146
146
|
end
|
147
147
|
end
|
148
|
-
expected = "<div class=\"card\"><div class=\"card-header\"><ul class=\"nav nav-tabs card-header-tabs\"><li class=\"nav-item\"><a href=\"#link1\" class=\"nav-link\" data-toggle=\"tab\" role=\"tab\">link1</a></li><li class=\"nav-item\"><a href=\"#link2\" class=\"nav-link\" data-toggle=\"tab\" role=\"tab\">link2</a></li></ul></div></div>"
|
148
|
+
expected = "<div class=\"card\"><div class=\"card-header\"><ul class=\"nav nav-tabs card-header-tabs\" role=\"tablist\"><li class=\"nav-item\"><a href=\"#link1\" class=\"nav-link\" data-toggle=\"tab\" role=\"tab\">link1</a></li><li class=\"nav-item\"><a href=\"#link2\" class=\"nav-link\" data-toggle=\"tab\" role=\"tab\">link2</a></li></ul></div></div>"
|
149
149
|
|
150
150
|
assert_equal expected, actual
|
151
151
|
end
|
@@ -5,7 +5,7 @@ require 'test_helper'
|
|
5
5
|
class ComponentTest < ActionView::TestCase
|
6
6
|
test 'create complex component' do
|
7
7
|
actual = UiBibz::Ui::Core::Component.new('New component', { state: :active, glyph: 'add' }, { class: 'new-class' }).render
|
8
|
-
expected =
|
8
|
+
expected = "<i class=\"glyph fas fa-add\"></i> New component"
|
9
9
|
|
10
10
|
assert_equal expected, actual
|
11
11
|
end
|
@@ -21,7 +21,7 @@ class ComponentTest < ActionView::TestCase
|
|
21
21
|
|
22
22
|
test 'create component without text and glyph' do
|
23
23
|
actual = UiBibz::Ui::Core::Component.new('My text', { glyph: 'diamond', text: false }).render
|
24
|
-
expected =
|
24
|
+
expected = "<i class=\"glyph fas fa-diamond\"></i> <span class=\"visually-hidden\">My text</span>"
|
25
25
|
|
26
26
|
assert_equal expected, actual
|
27
27
|
end
|
@@ -47,7 +47,7 @@ class ButtonGroupTest < ActionView::TestCase
|
|
47
47
|
d.link 'Link 1', url: '#link1', glyph: 'eye'
|
48
48
|
end
|
49
49
|
end
|
50
|
-
expected =
|
50
|
+
expected = "<div class=\"btn-group\" role=\"group\"><div id=\"dropdown-test\" class=\"dropup btn-group\"><button class=\"btn btn-success dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\" id=\"dropdown-test\">Dropdown</button><div class=\"dropdown-menu\" arial-labelledby=\"dropdown-test\"><a class=\"dropdown-item\" href=\"#link1\"><i class=\"glyph fas fa-eye\"></i> Link 1</a></div></div></div>"
|
51
51
|
|
52
52
|
assert_equal expected, actual
|
53
53
|
end
|
@@ -54,13 +54,6 @@ class ButtonLinkTest < ActionView::TestCase
|
|
54
54
|
assert_equal expected, actual
|
55
55
|
end
|
56
56
|
|
57
|
-
test 'button_link block' do
|
58
|
-
actual = ui_button_link('state', type: :block)
|
59
|
-
expected = '<a class="btn-secondary btn btn-block" role="button" href="#">state</a>'
|
60
|
-
|
61
|
-
assert_equal expected, actual
|
62
|
-
end
|
63
|
-
|
64
57
|
test 'button_link size' do
|
65
58
|
actual = ui_button_link('state', size: :sm)
|
66
59
|
expected = '<a class="btn-secondary btn btn-sm" role="button" href="#">state</a>'
|
@@ -77,7 +70,7 @@ class ButtonLinkTest < ActionView::TestCase
|
|
77
70
|
|
78
71
|
test 'button_link glyph' do
|
79
72
|
actual = ui_button_link('state', glyph: 'diamond')
|
80
|
-
expected = '<a class="btn-secondary btn" role="button" href="#"><i class="glyph fas fa-diamond"></i>
|
73
|
+
expected = '<a class="btn-secondary btn" role="button" href="#"><i class="glyph fas fa-diamond"></i> state</a>'
|
81
74
|
|
82
75
|
assert_equal expected, actual
|
83
76
|
end
|
@@ -5,7 +5,7 @@ require 'test_helper'
|
|
5
5
|
class ButtonRefreshTest < ActionView::TestCase
|
6
6
|
test 'button' do
|
7
7
|
actual = UiBibz::Ui::Core::Forms::Buttons::ButtonRefresh.new('state', status: :success, connect: { target: { url: '/' } }).render
|
8
|
-
expected =
|
8
|
+
expected = "<span data-connect=\"{"events":"click","mode":"remote","target":{"selector":"","url":"/","data":[]}}\" class=\"btn-success ui-bibz-connect btn input-refresh-button\"><i class=\"glyph fas fa-sync-alt\"></i> state</span>"
|
9
9
|
|
10
10
|
assert_equal expected, actual
|
11
11
|
end
|
@@ -47,13 +47,6 @@ class ButtonTest < ActionView::TestCase
|
|
47
47
|
assert_equal expected, actual
|
48
48
|
end
|
49
49
|
|
50
|
-
test 'button block' do
|
51
|
-
actual = ui_button('state', type: :block)
|
52
|
-
expected = '<button class="btn-secondary btn btn-block">state</button>'
|
53
|
-
|
54
|
-
assert_equal expected, actual
|
55
|
-
end
|
56
|
-
|
57
50
|
test 'button size' do
|
58
51
|
actual = ui_button('state', size: :sm)
|
59
52
|
expected = '<button class="btn-secondary btn btn-sm">state</button>'
|
@@ -70,14 +63,14 @@ class ButtonTest < ActionView::TestCase
|
|
70
63
|
|
71
64
|
test 'button glyph' do
|
72
65
|
actual = ui_button('state', glyph: 'diamond')
|
73
|
-
expected =
|
66
|
+
expected = "<button class=\"btn-secondary btn\"><i class=\"glyph fas fa-diamond\"></i> state</button>"
|
74
67
|
|
75
68
|
assert_equal expected, actual
|
76
69
|
end
|
77
70
|
|
78
71
|
test 'button glyph without text' do
|
79
72
|
actual = ui_button('state', glyph: 'diamond', text: false)
|
80
|
-
expected =
|
73
|
+
expected = "<button class=\"btn-secondary btn\"><i class=\"glyph fas fa-diamond\"></i> <span class=\"visually-hidden\">state</span></button>"
|
81
74
|
|
82
75
|
assert_equal expected, actual
|
83
76
|
end
|
@@ -11,7 +11,7 @@ class ChoiceGroupTest < ActionView::TestCase
|
|
11
11
|
bc.choice 'Checkbox 2', state: :active
|
12
12
|
end
|
13
13
|
|
14
|
-
expected = "<div data-toggle=\"buttons\" class=\"btn-group button-choice btn-group-toggle\"><input type=\"checkbox\" autocomplete=\"off\" class=\"btn-check\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-secondary btn
|
14
|
+
expected = "<div data-toggle=\"buttons\" class=\"btn-group button-choice btn-group-toggle\"><input type=\"checkbox\" autocomplete=\"off\" class=\"btn-check\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-secondary btn\" for=\"#{actual.items.first.input_options[:id]}\">Checkbox 1</label><input type=\"checkbox\" autocomplete=\"off\" class=\"btn-check\" checked=\"checked\" id=\"#{actual.items.last.input_options[:id]}\" /><label class=\"active btn-secondary btn\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Checkbox 2</label></div>"
|
15
15
|
|
16
16
|
assert_equal expected, actual.render
|
17
17
|
end
|
@@ -22,7 +22,7 @@ class ChoiceGroupTest < ActionView::TestCase
|
|
22
22
|
bc.choice 'Radio 2', state: :active
|
23
23
|
end
|
24
24
|
|
25
|
-
expected = "<div data-toggle=\"buttons\" class=\"btn-group button-choice btn-group-toggle\"><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" name=\"#{actual.items.first.input_options[:name]}\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-secondary btn
|
25
|
+
expected = "<div data-toggle=\"buttons\" class=\"btn-group button-choice btn-group-toggle\"><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" name=\"#{actual.items.first.input_options[:name]}\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-secondary btn\" for=\"#{actual.items.first.input_options[:id]}\">Radio 1</label><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" checked=\"checked\" name=\"#{actual.items.last.input_options[:name]}\" id=\"#{actual.items.last.input_options[:id]}\" /><label class=\"active btn-secondary btn\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Radio 2</label></div>"
|
26
26
|
|
27
27
|
assert_equal expected, actual.render
|
28
28
|
end
|
@@ -32,7 +32,7 @@ class ChoiceGroupTest < ActionView::TestCase
|
|
32
32
|
bc.choice 'Radio 1', glyph: 'diamond', status: :primary
|
33
33
|
bc.choice 'Radio 2', state: :active
|
34
34
|
end
|
35
|
-
expected = "<div data-toggle=\"buttons\" class=\"btn-group btn-group-lg button-choice btn-group-toggle\"><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" name=\"#{actual.items.first.input_options[:name]}\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-outline-primary btn btn-lg
|
35
|
+
expected = "<div data-toggle=\"buttons\" class=\"btn-group btn-group-lg button-choice btn-group-toggle\"><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" name=\"#{actual.items.first.input_options[:name]}\" id=\"#{actual.items.first.input_options[:id]}\" /><label class=\"btn-outline-primary btn btn-lg\" for=\"#{actual.items.first.input_options[:id]}\"><i class=\"glyph fas fa-diamond\"></i> Radio 1</label><input type=\"radio\" autocomplete=\"off\" class=\"btn-check\" checked=\"checked\" name=\"#{actual.items.last.input_options[:name]}\" id=\"#{actual.items.last.input_options[:id]}\" /><label class=\"active btn-outline-secondary btn btn-lg\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Radio 2</label></div>"
|
36
36
|
|
37
37
|
assert_equal expected, actual.render
|
38
38
|
end
|