ui_bibz 3.0.0.alpha3 → 3.0.0.alpha10

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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +11 -11
  3. data/README.md +5 -1
  4. data/lib/ui_bibz.rb +0 -1
  5. data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +2 -1
  6. data/lib/ui_bibz/infos.rb +4 -4
  7. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_checkbox_field_input.rb +5 -1
  8. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_select_field_input.rb +3 -3
  9. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_slider_field_input.rb +1 -1
  10. data/lib/ui_bibz/rails/engine.rb +0 -4
  11. data/lib/ui_bibz/ui/concerns/card_itemable_concern.rb +2 -0
  12. data/lib/ui_bibz/ui/concerns/html_concern.rb +3 -3
  13. data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +8 -0
  14. data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +6 -2
  15. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +3 -12
  16. data/lib/ui_bibz/ui/core/forms/buttons/button_link.rb +1 -2
  17. data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +0 -1
  18. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +13 -4
  19. data/lib/ui_bibz/ui/core/forms/choices/radio_field.rb +7 -1
  20. data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +4 -0
  21. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +13 -9
  22. data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +7 -2
  23. data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +2 -0
  24. data/lib/ui_bibz/ui/core/forms/numbers/range_field.rb +19 -1
  25. data/lib/ui_bibz/ui/core/forms/numbers/slider_field.rb +13 -1
  26. data/lib/ui_bibz/ui/core/forms/numbers/slider_header.rb +4 -4
  27. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +41 -59
  28. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +1 -9
  29. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +1 -9
  30. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +5 -4
  31. data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +3 -8
  32. data/lib/ui_bibz/ui/core/icons/glyph.rb +9 -1
  33. data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +2 -2
  34. data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +2 -2
  35. data/lib/ui_bibz/ui/core/navigations/nav.rb +3 -3
  36. data/lib/ui_bibz/ui/core/navigations/navbar.rb +6 -4
  37. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +5 -1
  38. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +15 -1
  39. data/lib/ui_bibz/ui/core/windows/modal.rb +6 -2
  40. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +11 -24
  41. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +1 -1
  42. data/lib/ui_bibz/ui/extensions/core/forms/surround_extension.rb +1 -1
  43. data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +3 -2
  44. data/lib/ui_bibz/ui/ux/containers/components/panel_header_title.rb +47 -0
  45. data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.rb +3 -3
  46. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +4 -4
  47. data/lib/ui_bibz/utils/breakdown_class_name_generator.rb +20 -7
  48. data/lib/ui_bibz/utils/internationalization.rb +1 -1
  49. data/test/simple_form_test.rb +6 -28
  50. data/test/ui/core/boxes/card_test.rb +2 -2
  51. data/test/ui/core/component_test.rb +2 -2
  52. data/test/ui/core/forms/buttons/button_group_test.rb +2 -2
  53. data/test/ui/core/forms/buttons/button_link_test.rb +1 -8
  54. data/test/ui/core/forms/buttons/button_refresh_test.rb +1 -1
  55. data/test/ui/core/forms/buttons/button_test.rb +2 -9
  56. data/test/ui/core/forms/choices/checkbox_field_test.rb +8 -1
  57. data/test/ui/core/forms/choices/choice_group_test.rb +3 -3
  58. data/test/ui/core/forms/choices/radio_field_test.rb +1 -1
  59. data/test/ui/core/forms/dropdowns/dropdown_test.rb +2 -2
  60. data/test/ui/core/forms/numbers/range_field_test.rb +14 -0
  61. data/test/ui/core/forms/numbers/slider_field_test.rb +2 -2
  62. data/test/ui/core/forms/selects/multi_select_field_test.rb +6 -6
  63. data/test/ui/core/forms/selects/select_field_test.rb +1 -1
  64. data/test/ui/core/forms/surrounds/surround_field_test.rb +27 -3
  65. data/test/ui/core/forms/texts/auto_complete_field_test.rb +2 -2
  66. data/test/ui/core/navigations/breadcrumb_test.rb +1 -1
  67. data/test/ui/core/navigations/link_test.rb +1 -1
  68. data/test/ui/core/navigations/nav_test.rb +7 -6
  69. data/test/ui/core/navigations/navbar_test.rb +5 -6
  70. data/test/ui/core/navigations/tab_group_test.rb +5 -5
  71. data/test/ui/core/notifications/alert_test.rb +1 -1
  72. data/test/ui/core/notifications/badge_test.rb +2 -2
  73. data/test/ui/utils/breakdown_class_name_generator_test.rb +14 -0
  74. data/test/ui/ux/containers/panel_test.rb +1 -1
  75. data/test/ui/ux/tables/table_test.rb +2 -2
  76. data/ui_bibz.gemspec +1 -1
  77. metadata +7 -10
  78. data/lib/ui_bibz/ui/core/forms/selects/multi_select_field.rb +0 -122
  79. data/package.json +0 -5
  80. data/test/ui/core/forms/selects/dropdown_select_field_test.rb +0 -84
@@ -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
@@ -88,7 +88,7 @@ module UiBibz::Ui::Core::Windows
88
88
  private
89
89
 
90
90
  def modal_dialog_classes
91
- UiBibz::Utils::Screwdriver.join_classes('modal-dialog', size, position, scrollable)
91
+ UiBibz::Utils::Screwdriver.join_classes('modal-dialog', fullscreen_size, size, position, scrollable)
92
92
  end
93
93
 
94
94
  def component_html_classes
@@ -105,10 +105,14 @@ module UiBibz::Ui::Core::Windows
105
105
  end
106
106
 
107
107
  # :xl, :lg, :sm or :xs
108
- def size
108
+ def fullscreen_size
109
109
  [modal, fullscreen, @options[:size], down].compact.join('-')
110
110
  end
111
111
 
112
+ def size
113
+ [modal, @options[:size]].compact.join('-') if @options[:size]
114
+ end
115
+
112
116
  def fullscreen
113
117
  'fullscreen' if @options[:fullscreen]
114
118
  end
@@ -3,39 +3,26 @@
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
- out << content_tag(:span, ' ', class: 'empty-space') if options[:text] == false
18
- out.join unless glyph.nil?
6
+ options[:glyph] ? generate_glyph(content_html) : content_html || content
19
7
  end
20
8
 
21
9
  # Render glyph html
22
- def glyph
23
- options[:content] = content if options[:text] == false
24
-
25
- glyph_options = case options[:glyph]
26
- when Hash
10
+ def generate_glyph(content_html)
11
+ glyph_options = if options[:glyph].is_a?(Hash)
27
12
  options[:glyph]
28
- when String
13
+ elsif options[:glyph]
29
14
  { name: options[:glyph] }
30
15
  else
31
16
  {}
32
17
  end
33
18
 
34
- glyph_options[:text] = options[:text] unless options[:text].nil?
35
- glyph_options[:content] = options[:content] unless options[:content].nil?
36
- glyph_options[:shortcut] = options[:shortcut] unless options[:shortcut].nil?
37
- 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
38
24
 
39
- 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?
40
27
  end
41
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)
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'ui_bibz/ui/ux/containers/components/panel_tab_group'
4
+ require 'ui_bibz/ui/ux/containers/components/panel_header_title'
4
5
  module UiBibz::Ui::Ux::Containers::Components
5
6
  # Create a panel header
6
7
  #
@@ -42,8 +43,8 @@ module UiBibz::Ui::Ux::Containers::Components
42
43
  end
43
44
  end
44
45
 
45
- def title(text)
46
- @content = content_tag :div, text, class: 'panel-title'
46
+ def title(content = nil, options = nil, html_options = nil, &block)
47
+ @content = PanelHeaderTitle.new(content, options, html_options, &block).render
47
48
  end
48
49
 
49
50
  def actions(content = nil, options = nil, html_options = nil, &block)
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module UiBibz::Ui::Ux::Containers::Components
4
+ # Create a panel header
5
+ #
6
+ # ==== Attributes
7
+ #
8
+ # * +content+ - Content of element
9
+ # * +options+ - Options of element
10
+ # * +html_options+ - Html Options of element
11
+ #
12
+ # ==== Options
13
+ #
14
+ # You can add HTML attributes using the +html_options+.
15
+ # You can pass arguments in options attribute:
16
+ #
17
+ # ==== Signatures
18
+ #
19
+ # UiBibz::Ui::Core::Boxes::PanelHeader.new(content, options = nil, html_options = nil)
20
+ #
21
+ # UiBibz::Ui::Core::Boxes::CarHeader.new(options = nil, html_options = nil) do
22
+ # content
23
+ # end
24
+ #
25
+ # ==== Examples
26
+ #
27
+ # UiBibz::Ui::Core::Boxes::PanelHeader.new.render
28
+ #
29
+ # UiBibz::Ui::Core::Boxes::PanelHeader.new do
30
+ # 'Exemple'
31
+ # end.render
32
+ #
33
+ class PanelHeaderTitle < UiBibz::Ui::Core::Component
34
+ # See UiBibz::Ui::Core::Component.initialize
35
+
36
+ # Render html tag
37
+ def pre_render
38
+ content_tag :div, @content, html_options
39
+ end
40
+
41
+ private
42
+
43
+ def component_html_classes
44
+ 'panel-title'
45
+ end
46
+ end
47
+ end
@@ -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
@@ -3,7 +3,7 @@
3
3
  module UiBibz::Utils
4
4
  # Generate the col class name
5
5
  class BreakdownClassNameGenerator
6
- POSITIONING = %i[num offset push pull].freeze
6
+ POSITIONING = %i[num offset push pull order].freeze
7
7
  BREAKPOINTS = UiBibz::Ui::Core::Component::BREAKPOINTS
8
8
  PARAMETERS = BREAKPOINTS + POSITIONING + [:position]
9
9
 
@@ -12,6 +12,8 @@ module UiBibz::Utils
12
12
  @klass_name = klass_name
13
13
  end
14
14
 
15
+ # Possible options
16
+ # 3 or md: 3 or md: { num: 3 }, xs: { num: 4 }
15
17
  def class_names
16
18
  return @klass_name unless col_options?
17
19
 
@@ -19,9 +21,9 @@ module UiBibz::Utils
19
21
  @options.each do |key, value|
20
22
  kl << write_classes(key.to_sym, value) if BREAKPOINTS.include?(key.to_sym)
21
23
  end
22
- kl << write_classes(nil, @options) if kl.empty? || @options.key?('num')
24
+ kl << write_classes(nil, @options)
23
25
 
24
- kl
26
+ kl.delete_if(&:blank?)
25
27
  end
26
28
 
27
29
  private
@@ -30,11 +32,17 @@ module UiBibz::Utils
30
32
  (@options.keys.map(&:to_sym) & PARAMETERS).present?
31
33
  end
32
34
 
35
+ # md: 8 or md: { num: 3}, xs: { num: 4 }
33
36
  def write_classes(size, opts)
34
- @position = opts[:position]
35
- opts.map do |k, v|
36
- send(k, size, v) if POSITIONING.include?(k.to_sym)
37
- end.compact.join(' ')
37
+ if opts.is_a?(Hash)
38
+ @position = opts[:position]
39
+
40
+ opts.map do |k, v|
41
+ send(k, size, v) if POSITIONING.include?(k.to_sym)
42
+ end.compact.join(' ')
43
+ else
44
+ send('num', size, opts)
45
+ end
38
46
  end
39
47
 
40
48
  # col-md-9
@@ -52,6 +60,11 @@ module UiBibz::Utils
52
60
  [@klass_name, size, 'push', number].compact.join('-')
53
61
  end
54
62
 
63
+ # order-md-9
64
+ def order(size, number)
65
+ ['order', size, number].compact.join('-')
66
+ end
67
+
55
68
  # col-md-pull-9
56
69
  def pull(size, number)
57
70
  [@klass_name, size, 'pull', number].compact.join('-')
@@ -12,7 +12,7 @@ module UiBibz::Utils
12
12
  end
13
13
 
14
14
  def translate
15
- I18n.t(@translation, options_with_default)
15
+ I18n.t(@translation, **options_with_default)
16
16
  end
17
17
 
18
18
  private
@@ -42,28 +42,6 @@ class SimpleFormTest < ActionView::TestCase
42
42
  assert_equal expected, actual
43
43
  end
44
44
 
45
- test 'dropdown field select input in simple form' do
46
- actual = simple_form_for @user do |f|
47
- f.input :name_fr, as: :ui_dropdown_select_field, collection: @users, label_method: :name_fr
48
- end
49
-
50
- 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=\"dropdown-select-field\" data-style=\"btn-secondary\"><option value=\"1\">test1</option>
51
- <option value=\"2\">test2</option></select></div></form>"
52
-
53
- assert_equal expected, actual
54
- end
55
-
56
- test 'dropdown field select input with grouped option in simple form' do
57
- actual = simple_form_for @user do |f|
58
- f.input :name_fr, as: :ui_dropdown_select_field, collection: @continents, toto: 'lala', grouped: true, group_method: :countries
59
- end
60
-
61
- 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=\"dropdown-select-field\" data-style=\"btn-secondary\"><optgroup label=\"Europe\"><option value=\"1\">France</option>
62
- <option value=\"2\">Deutchland</option></optgroup></select></div></form>"
63
-
64
- assert_equal expected, actual
65
- end
66
-
67
45
  test 'formula field input in simple form' do
68
46
  @user.price = 3.0
69
47
  @user.price_formula = '1+2'
@@ -101,10 +79,10 @@ test1</textarea></div></form>"
101
79
 
102
80
  test 'multi select field input in simple form' do
103
81
  actual = simple_form_for @user do |f|
104
- f.input :name_fr, as: :ui_multi_select_field, collection: @users, label_method: :name_fr
82
+ f.input :name_fr, as: :ui_dropdown_select_field, multiple: true, collection: @users, label_method: :name_fr
105
83
  end
106
84
 
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_multi_select_field optional user_name_fr\"><label class=\"control-label ui_multi_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\"><option value=\"1\">test1</option>
108
86
  <option value=\"2\">test2</option></select></div></form>"
109
87
 
110
88
  assert_equal expected, actual
@@ -112,10 +90,10 @@ test1</textarea></div></form>"
112
90
 
113
91
  test 'multi select input with grouped option in simple form' do
114
92
  actual = simple_form_for @user do |f|
115
- f.input :name_fr, as: :ui_multi_select_field, collection: @continents, toto: 'lala', grouped: true, group_method: :countries
93
+ f.input :name_fr, as: :ui_dropdown_select_field, multiple: true, collection: @continents, toto: 'lala', grouped: true, group_method: :countries
116
94
  end
117
95
 
118
- 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_multi_select_field optional user_name_fr\"><label class=\"control-label ui_multi_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\"><optgroup label=\"Europe\"><option value=\"1\">France</option>
119
97
  <option value=\"2\">Deutchland</option></optgroup></select></div></form>"
120
98
 
121
99
  assert_equal expected, actual
@@ -169,7 +147,7 @@ test1</textarea></div></form>"
169
147
  end
170
148
 
171
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>
172
- <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>"
173
151
 
174
152
  assert_equal expected, actual
175
153
  end
@@ -244,7 +222,7 @@ test1</textarea></div></form>"
244
222
  f.input :name_en, as: :ui_slider_field
245
223
  end
246
224
 
247
- 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_slider_field optional user_name_en\"><label class=\"control-label ui_slider_field optional\" for=\"user_name_en\">Name en</label><div class=\"ui_slider_field optional slider\" id=\"edit_user_1\"><div><div class=\"slider-inverse-left\" style=\"width: 100%\"></div><div class=\"slider-inverse-right\" style=\"width: 100%\"></div><div class=\"slider-range\" style=\"left: 0%; right: 0%\"></div><div class=\"slider-thumb slider-thumb-left\" style=\"left: 0%\"></div><div class=\"slider-thumb slider-thumb-right\" style=\"left: 100%\"></div></div><input type=\"range\" name=\"user[name_en_min]\" id=\"user_name_en_min\" value=\"0\" max=\"100\" min=\"0\" step=\"1\" /><input type=\"range\" name=\"user[name_en_max]\" id=\"user_name_en_max\" value=\"100\" max=\"100\" min=\"0\" step=\"1\" /></div></div></form>"
225
+ 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_slider_field optional user_name_en\"><label class=\"control-label ui_slider_field optional\" for=\"user_name_en\">Name en</label><div class=\"ui_slider_field optional slider\" id=\"user_name_en_slider\"><div><div class=\"slider-inverse-left\" style=\"width: 100%\"></div><div class=\"slider-inverse-right\" style=\"width: 100%\"></div><div class=\"slider-range\" style=\"left: 0%; right: 0%\"></div><div class=\"slider-thumb slider-thumb-left\" style=\"left: 0%\"></div><div class=\"slider-thumb slider-thumb-right\" style=\"left: 100%\"></div></div><input type=\"range\" name=\"user[name_en_min]\" id=\"user_name_en_min\" value=\"0\" max=\"100\" min=\"0\" step=\"1\" /><input type=\"range\" name=\"user[name_en_max]\" id=\"user_name_en_max\" value=\"100\" max=\"100\" min=\"0\" step=\"1\" /></div></div></form>"
248
226
 
249
227
  assert_equal expected, actual
250
228
  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 class="nav-link" data-toggle="tab" role="tab" href="#link1">link1</a></li><li class="nav-item"><a class="nav-link" data-toggle="tab" role="tab" href="#link2">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