ui_bibz 3.0.0.alpha6 → 3.0.0.alpha12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/Gemfile.lock +17 -14
  4. data/README.md +5 -1
  5. data/lib/ui_bibz/concerns/models/searchable.rb +1 -1
  6. data/lib/ui_bibz/infos.rb +4 -4
  7. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +1 -1
  8. data/lib/ui_bibz/ui/concerns/html_concern.rb +10 -4
  9. data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +5 -1
  10. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +2 -11
  11. data/lib/ui_bibz/ui/core/forms/buttons/button_link.rb +1 -2
  12. data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +0 -1
  13. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +3 -1
  14. data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +2 -0
  15. data/lib/ui_bibz/ui/core/forms/numbers/slider_header.rb +2 -2
  16. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +35 -5
  17. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +1 -9
  18. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +1 -9
  19. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +5 -4
  20. data/lib/ui_bibz/ui/core/icons/glyph.rb +9 -1
  21. data/lib/ui_bibz/ui/core/lists/list_group.rb +1 -1
  22. data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +1 -1
  23. data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +1 -1
  24. data/lib/ui_bibz/ui/core/navigations/nav.rb +3 -3
  25. data/lib/ui_bibz/ui/core/navigations/navbar.rb +6 -4
  26. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +5 -1
  27. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +15 -1
  28. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +9 -24
  29. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +1 -1
  30. data/lib/ui_bibz/ui/extensions/core/forms/surround_extension.rb +1 -1
  31. data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.rb +3 -3
  32. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +4 -4
  33. data/test/simple_form_test.rb +4 -4
  34. data/test/ui/core/boxes/card_test.rb +2 -2
  35. data/test/ui/core/component_test.rb +2 -2
  36. data/test/ui/core/forms/buttons/button_group_test.rb +1 -1
  37. data/test/ui/core/forms/buttons/button_link_test.rb +1 -8
  38. data/test/ui/core/forms/buttons/button_refresh_test.rb +1 -1
  39. data/test/ui/core/forms/buttons/button_test.rb +2 -9
  40. data/test/ui/core/forms/choices/choice_group_test.rb +3 -3
  41. data/test/ui/core/forms/dropdowns/dropdown_test.rb +1 -1
  42. data/test/ui/core/forms/selects/multi_select_field_test.rb +3 -3
  43. data/test/ui/core/forms/selects/select_field_test.rb +1 -1
  44. data/test/ui/core/forms/surrounds/surround_field_test.rb +4 -4
  45. data/test/ui/core/forms/texts/auto_complete_field_test.rb +2 -2
  46. data/test/ui/core/lists/list_group_test.rb +1 -1
  47. data/test/ui/core/navigations/breadcrumb_test.rb +1 -1
  48. data/test/ui/core/navigations/link_test.rb +1 -1
  49. data/test/ui/core/navigations/nav_test.rb +2 -2
  50. data/test/ui/core/navigations/tab_group_test.rb +5 -5
  51. data/test/ui/core/notifications/alert_test.rb +1 -1
  52. data/test/ui/core/notifications/badge_test.rb +2 -2
  53. data/test/ui/ux/containers/panel_test.rb +1 -1
  54. data/test/ui/ux/tables/table_test.rb +2 -2
  55. data/ui_bibz.gemspec +2 -1
  56. 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), options[:label]].compact.join(' ').html_safe
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(tap: true)
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 block_given?
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
- block_given? ? content[:nav_type] = type : options[:nav_type] = type
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] == :list ? { role: 'tablist' } : super
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 !block.nil?
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}" # unless @options[:expand_size].nil?
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 block_given?
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 image_tag(options[:img], class: 'rounded mr-2') unless options[:img].nil?
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
- [glyph_with_space, ct_html(content_html)].compact.join(' ').html_safe
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 glyph
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[:text] = options[:text] unless options[:text].nil?
37
- glyph_options[:content] = options[:content] unless options[:content].nil?
38
- glyph_options[:shortcut] = options[:shortcut] unless options[:shortcut].nil?
39
- glyph_options[:html_options] = options[:html_options] unless options[:html_options].nil?
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
- !options[:append].nil? || !options[:prepend].nil? || !options[:refresh].nil? || !options[:surrounded].nil?
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] != false
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] != false
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
@@ -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=\"ui_text_field\" name=\"user[name_fr]\" id=\"user_name_fr\" value=\"test1\" class=\"form-control string ui_text_field optional\" /></div></form>"
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=\"{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#user_name_fr&quot;,&quot;url&quot;:&quot;&quot;,&quot;data&quot;:[]}}\" class=\"btn-secondary ui-bibz-connect btn input-refresh-button\"><i class=\"glyph fas fa-sync-alt\"></i> </span></div></div></form>"
150
+ <option value=\"2\">test2</option></select><span data-connect=\"{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#user_name_fr&quot;,&quot;url&quot;:&quot;&quot;,&quot;data&quot;:[]}}\" 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 = '<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>'
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 = '<i class="glyph fas fa-add"></i> New component'
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 = '<i class="glyph fas fa-diamond"></i><span class="empty-space"> </span>'
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 = '<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>'
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> state</a>'
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 = '<span data-connect="{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;&quot;,&quot;url&quot;:&quot;/&quot;,&quot;data&quot;:[]}}" class="btn-success ui-bibz-connect btn input-refresh-button"><i class="glyph fas fa-sync-alt"></i> state</span>'
8
+ expected = "<span data-connect=\"{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;&quot;,&quot;url&quot;:&quot;/&quot;,&quot;data&quot;:[]}}\" 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 = '<button class="btn-secondary btn"><i class="glyph fas fa-diamond"></i> state</button>'
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 = '<button class="btn-secondary btn without-text"><i class="glyph fas fa-diamond"></i><span class="empty-space"> </span></button>'
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 checkbox\" 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 checkbox\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Checkbox 2</label></div>"
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 radio\" 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 radio\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Radio 2</label></div>"
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 radio\" 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 radio\" aria-pressed=\"true\" for=\"#{actual.items.last.input_options[:id]}\">Radio 2</label></div>"
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