ui_bibz 2.5.3 → 3.0.0.alpha5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (263) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +2 -2
  3. data/.gitignore +3 -2
  4. data/.rubocop.yml +107 -1
  5. data/.ruby-gemset +1 -0
  6. data/.ruby-version +1 -0
  7. data/Gemfile +1 -0
  8. data/Gemfile.lock +102 -111
  9. data/README.md +9 -52
  10. data/Rakefile +3 -2
  11. data/bin/test +7 -0
  12. data/config/initializers/will_paginate.rb +2 -1
  13. data/lib/ui_bibz.rb +17 -3
  14. data/lib/ui_bibz/concerns/models/searchable.rb +3 -3
  15. data/lib/ui_bibz/helpers/ui/core/boxes_helper.rb +9 -1
  16. data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +20 -1
  17. data/lib/ui_bibz/helpers/ui/core/layouts_helper.rb +10 -2
  18. data/lib/ui_bibz/helpers/ui/core/lists_helper.rb +1 -1
  19. data/lib/ui_bibz/helpers/ui/core/notifications_helper.rb +9 -5
  20. data/lib/ui_bibz/helpers/ui/ux_helper.rb +2 -6
  21. data/lib/ui_bibz/infos.rb +11 -5
  22. data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +15 -2
  23. data/lib/ui_bibz/inputs/ui_bibz_inputs/base_input.rb +4 -7
  24. data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +6 -9
  25. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_checkbox_field_input.rb +5 -1
  26. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_choice_field_input.rb +23 -0
  27. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_select_field_input.rb +3 -3
  28. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_slider_field_input.rb +12 -0
  29. data/lib/ui_bibz/rails/engine.rb +1 -16
  30. data/lib/ui_bibz/railtie.rb +6 -0
  31. data/lib/ui_bibz/ui/concerns/card_itemable_concern.rb +67 -0
  32. data/lib/ui_bibz/ui/concerns/html_concern.rb +16 -0
  33. data/lib/ui_bibz/ui/core/boxes/card.rb +5 -50
  34. data/lib/ui_bibz/ui/core/boxes/card_accordion.rb +2 -0
  35. data/lib/ui_bibz/ui/core/boxes/card_column.rb +3 -1
  36. data/lib/ui_bibz/ui/core/boxes/card_deck.rb +3 -1
  37. data/lib/ui_bibz/ui/core/boxes/card_grid.rb +60 -0
  38. data/lib/ui_bibz/ui/core/boxes/card_group.rb +3 -1
  39. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_link.rb +0 -3
  40. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_subtitle.rb +47 -0
  41. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_text.rb +0 -3
  42. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_title.rb +1 -4
  43. data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +15 -0
  44. data/lib/ui_bibz/ui/core/boxes/components/card_col.rb +65 -0
  45. data/lib/ui_bibz/ui/core/boxes/components/card_footer.rb +0 -3
  46. data/lib/ui_bibz/ui/core/boxes/components/card_header.rb +2 -4
  47. data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +1 -4
  48. data/lib/ui_bibz/ui/core/boxes/components/card_row.rb +65 -0
  49. data/lib/ui_bibz/ui/core/boxes/components/card_tab_group.rb +0 -4
  50. data/lib/ui_bibz/ui/core/boxes/jumbotron.rb +1 -4
  51. data/lib/ui_bibz/ui/core/component.rb +16 -9
  52. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +1 -1
  53. data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +9 -11
  54. data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +0 -3
  55. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_dropdown.rb +0 -3
  56. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_split_dropdown.rb +0 -3
  57. data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +7 -10
  58. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +14 -10
  59. data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +22 -2
  60. data/lib/ui_bibz/ui/core/forms/choices/components/choice.rb +24 -12
  61. data/lib/ui_bibz/ui/core/forms/choices/radio_field.rb +11 -6
  62. data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +1 -5
  63. data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +12 -15
  64. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_divider.rb +0 -1
  65. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_header.rb +0 -3
  66. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +19 -20
  67. data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +7 -5
  68. data/lib/ui_bibz/ui/core/forms/files/file_field.rb +20 -10
  69. data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +16 -8
  70. data/lib/ui_bibz/ui/core/forms/numbers/number_field.rb +20 -3
  71. data/lib/ui_bibz/ui/core/forms/numbers/range_field.rb +33 -5
  72. data/lib/ui_bibz/ui/core/forms/numbers/slider_field.rb +132 -0
  73. data/lib/ui_bibz/ui/core/forms/numbers/slider_header.rb +71 -0
  74. data/lib/ui_bibz/ui/core/forms/selects/abstract_select.rb +0 -3
  75. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +41 -62
  76. data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +0 -3
  77. data/lib/ui_bibz/ui/core/forms/selects/select_field.rb +2 -5
  78. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_addon.rb +1 -4
  79. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +0 -3
  80. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_group.rb +0 -3
  81. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +0 -3
  82. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_refresh.rb +1 -12
  83. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_checkbox_field.rb +9 -4
  84. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +0 -3
  85. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_radio_field.rb +9 -4
  86. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_switch_field.rb +0 -3
  87. data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +1 -4
  88. data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +4 -7
  89. data/lib/ui_bibz/ui/core/forms/texts/auto_complete_field.rb +2 -5
  90. data/lib/ui_bibz/ui/core/forms/texts/text_field.rb +0 -3
  91. data/lib/ui_bibz/ui/core/icons/components/glyph_counter.rb +0 -3
  92. data/lib/ui_bibz/ui/core/icons/components/glyph_text.rb +1 -4
  93. data/lib/ui_bibz/ui/core/icons/glyph.rb +1 -4
  94. data/lib/ui_bibz/ui/core/icons/star.rb +0 -3
  95. data/lib/ui_bibz/ui/core/layouts/col.rb +5 -42
  96. data/lib/ui_bibz/ui/core/layouts/container.rb +9 -6
  97. data/lib/ui_bibz/ui/core/layouts/row.rb +32 -2
  98. data/lib/ui_bibz/ui/core/lists/components/list.rb +6 -8
  99. data/lib/ui_bibz/ui/core/lists/components/list/list_body.rb +0 -3
  100. data/lib/ui_bibz/ui/core/lists/components/list/list_header.rb +0 -3
  101. data/lib/ui_bibz/ui/core/lists/list_group.rb +9 -6
  102. data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +3 -2
  103. data/lib/ui_bibz/ui/core/navigations/components/breadcrumb_link.rb +0 -3
  104. data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +2 -5
  105. data/lib/ui_bibz/ui/core/navigations/components/nav_link.rb +3 -1
  106. data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +15 -6
  107. data/lib/ui_bibz/ui/core/navigations/components/nav_link_list.rb +0 -4
  108. data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +1 -4
  109. data/lib/ui_bibz/ui/core/navigations/components/nav_text.rb +0 -3
  110. data/lib/ui_bibz/ui/core/navigations/components/navbar_brand.rb +0 -3
  111. data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +4 -4
  112. data/lib/ui_bibz/ui/core/navigations/components/navbar_nav.rb +1 -4
  113. data/lib/ui_bibz/ui/core/navigations/components/navbar_text.rb +0 -3
  114. data/lib/ui_bibz/ui/core/navigations/components/pagination_link.rb +0 -3
  115. data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +3 -3
  116. data/lib/ui_bibz/ui/core/navigations/link.rb +0 -3
  117. data/lib/ui_bibz/ui/core/navigations/nav.rb +37 -10
  118. data/lib/ui_bibz/ui/core/navigations/navbar.rb +28 -7
  119. data/lib/ui_bibz/ui/core/navigations/pagination.rb +3 -1
  120. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +10 -5
  121. data/lib/ui_bibz/ui/core/navigations/toolbar.rb +2 -0
  122. data/lib/ui_bibz/ui/core/notifications/alert.rb +2 -2
  123. data/lib/ui_bibz/ui/core/notifications/badge.rb +2 -5
  124. data/lib/ui_bibz/ui/core/notifications/components/alert_body.rb +0 -3
  125. data/lib/ui_bibz/ui/core/notifications/components/alert_header.rb +4 -10
  126. data/lib/ui_bibz/ui/core/notifications/components/bar.rb +0 -3
  127. data/lib/ui_bibz/ui/core/notifications/components/toast_body.rb +0 -3
  128. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +1 -6
  129. data/lib/ui_bibz/ui/core/notifications/progress_bar.rb +7 -5
  130. data/lib/ui_bibz/ui/core/notifications/spinner.rb +0 -3
  131. data/lib/ui_bibz/ui/core/notifications/toast.rb +14 -3
  132. data/lib/ui_bibz/ui/core/windows/components/modal_body.rb +0 -3
  133. data/lib/ui_bibz/ui/core/windows/components/modal_footer.rb +0 -3
  134. data/lib/ui_bibz/ui/core/windows/components/modal_header.rb +1 -7
  135. data/lib/ui_bibz/ui/core/windows/modal.rb +61 -14
  136. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +4 -2
  137. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +9 -9
  138. data/lib/ui_bibz/ui/extensions/core/forms/connect_extension.rb +2 -2
  139. data/lib/ui_bibz/ui/ux/containers/components/panel_body.rb +0 -3
  140. data/lib/ui_bibz/ui/ux/containers/components/panel_column.rb +2 -0
  141. data/lib/ui_bibz/ui/ux/containers/components/panel_deck.rb +2 -0
  142. data/lib/ui_bibz/ui/ux/containers/components/panel_footer.rb +0 -3
  143. data/lib/ui_bibz/ui/ux/containers/components/panel_group.rb +2 -0
  144. data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +1 -4
  145. data/lib/ui_bibz/ui/ux/containers/components/panel_tab_group.rb +0 -4
  146. data/lib/ui_bibz/ui/ux/containers/components/panel_toolbar.rb +0 -3
  147. data/lib/ui_bibz/ui/ux/containers/panel.rb +4 -2
  148. data/lib/ui_bibz/ui/ux/tables/components/thead.rb +0 -3
  149. data/lib/ui_bibz/ui/ux/tables/table.rb +2 -4
  150. data/lib/ui_bibz/ui/ux/tables/table_card.rb +4 -3
  151. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +5 -5
  152. data/lib/ui_bibz/utils/breakdown_class_name_generator.rb +74 -0
  153. data/lib/ui_bibz/utils/internationalization.rb +1 -1
  154. data/lib/ui_bibz/utils/screwdriver.rb +16 -10
  155. data/test/dummy/Rakefile +1 -1
  156. data/test/dummy/app/javascripts/packs/index.js +3 -0
  157. data/test/dummy/app/models/user.rb +1 -0
  158. data/test/dummy/app/views/layouts/application.html.erb +4 -1
  159. data/{app/ui/.keep → test/dummy/app/views/users/index.html.erb} +0 -0
  160. data/test/dummy/bin/setup +17 -13
  161. data/test/dummy/config.ru +2 -1
  162. data/test/dummy/config/application.rb +1 -0
  163. data/test/dummy/config/cable.yml +10 -0
  164. data/test/dummy/config/database.yml +1 -1
  165. data/test/dummy/config/environment.rb +1 -1
  166. data/test/dummy/config/environments/development.rb +33 -12
  167. data/test/dummy/config/environments/production.rb +52 -19
  168. data/test/dummy/config/environments/test.rb +18 -12
  169. data/test/dummy/config/initializers/application_controller_renderer.rb +9 -0
  170. data/test/dummy/config/initializers/assets.rb +4 -3
  171. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -1
  172. data/test/dummy/config/initializers/content_security_policy.rb +29 -0
  173. data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
  174. data/test/dummy/config/initializers/inflections.rb +0 -1
  175. data/test/dummy/config/initializers/mime_types.rb +0 -1
  176. data/test/dummy/config/initializers/wrap_parameters.rb +2 -2
  177. data/test/dummy/config/puma.rb +40 -0
  178. data/test/dummy/config/routes.rb +3 -0
  179. data/test/dummy/config/spring.rb +8 -0
  180. data/test/dummy/config/storage.yml +34 -0
  181. data/test/dummy/db/migrate/20150123191805_create_users.rb +1 -1
  182. data/test/dummy/db/schema.rb +24 -24
  183. data/test/dummy/public/404.html +6 -6
  184. data/test/dummy/public/422.html +6 -6
  185. data/test/dummy/public/500.html +6 -6
  186. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  187. data/test/dummy/public/apple-touch-icon.png +0 -0
  188. data/test/dummy/storage/.keep +0 -0
  189. data/test/simple_form_test.rb +45 -44
  190. data/test/store_test.rb +5 -5
  191. data/test/test_helper.rb +18 -9
  192. data/test/ui/core/boxes/card_grid_test.rb +17 -0
  193. data/test/ui/core/boxes/card_test.rb +46 -12
  194. data/test/ui/core/boxes/jumbotron_test.rb +2 -2
  195. data/test/ui/core/component_test.rb +1 -1
  196. data/test/ui/core/forms/buttons/button_group_test.rb +1 -1
  197. data/test/ui/core/forms/buttons/button_link_test.rb +1 -1
  198. data/test/ui/core/forms/buttons/button_test.rb +2 -2
  199. data/test/ui/core/forms/choices/checkbox_field_test.rb +8 -1
  200. data/test/ui/core/forms/choices/choice_group_test.rb +11 -9
  201. data/test/ui/core/forms/choices/radio_field_test.rb +1 -1
  202. data/test/ui/core/forms/dates/date_picker_field_test.rb +1 -1
  203. data/test/ui/core/forms/dropdowns/dropdown_test.rb +2 -2
  204. data/test/ui/core/forms/files/file_field_test.rb +12 -0
  205. data/test/ui/core/forms/numbers/formula_field_test.rb +1 -1
  206. data/test/ui/core/forms/numbers/range_field_test.rb +23 -2
  207. data/test/ui/core/forms/numbers/slider_field_test.rb +26 -0
  208. data/test/ui/core/forms/selects/multi_column_field_test.rb +1 -1
  209. data/test/ui/core/forms/selects/multi_select_field_test.rb +7 -7
  210. data/test/ui/core/forms/selects/select_field_test.rb +3 -3
  211. data/test/ui/core/forms/surrounds/surround_field_test.rb +15 -3
  212. data/test/ui/core/forms/textareas/markdown_editor_field_test.rb +1 -1
  213. data/test/ui/core/forms/texts/auto_complete_field_test.rb +8 -8
  214. data/test/ui/core/forms/texts/text_field_test.rb +2 -2
  215. data/test/ui/core/layouts/col_test.rb +11 -2
  216. data/test/ui/core/layouts/container_test.rb +15 -1
  217. data/test/ui/core/layouts/row_test.rb +68 -3
  218. data/test/ui/core/lists/list_group_test.rb +1 -1
  219. data/test/ui/core/navigations/breadcrumb_test.rb +1 -1
  220. data/test/ui/core/navigations/link_test.rb +1 -1
  221. data/test/ui/core/navigations/nav_test.rb +17 -5
  222. data/test/ui/core/navigations/navbar_test.rb +5 -4
  223. data/test/ui/core/navigations/tab_group_test.rb +4 -4
  224. data/test/ui/core/notifications/alert_test.rb +2 -2
  225. data/test/ui/core/notifications/badge_test.rb +3 -3
  226. data/test/ui/core/notifications/progress_bar_test.rb +1 -1
  227. data/test/ui/core/notifications/toast_test.rb +10 -1
  228. data/test/ui/core/windows/modal_test.rb +15 -1
  229. data/test/ui/utils/breakdown_class_name_generator_test.rb +60 -0
  230. data/test/ui/ux/containers/panel_test.rb +5 -5
  231. data/test/ui/ux/tables/table_test.rb +6 -6
  232. data/test/ui_bibz_test.rb +1 -1
  233. data/ui_bibz.gemspec +16 -16
  234. metadata +99 -109
  235. data/.rubocop_todo.yml +0 -25
  236. data/app/assets/javascripts/fix_bootstrap.coffee +0 -7
  237. data/app/assets/javascripts/form.coffee +0 -83
  238. data/app/assets/javascripts/formula.coffee +0 -69
  239. data/app/assets/javascripts/input-connected.coffee +0 -101
  240. data/app/assets/javascripts/interface.coffee +0 -55
  241. data/app/assets/javascripts/jquery.multi-select-extend.coffee +0 -38
  242. data/app/assets/javascripts/table.coffee +0 -36
  243. data/app/assets/javascripts/ui_bibz.coffee.erb +0 -75
  244. data/app/assets/stylesheets/_custom_variables.sass +0 -20
  245. data/app/assets/stylesheets/_panel.scss +0 -315
  246. data/app/assets/stylesheets/bootstrap-switch.sass +0 -159
  247. data/app/assets/stylesheets/boxes.sass +0 -5
  248. data/app/assets/stylesheets/containers.sass +0 -2
  249. data/app/assets/stylesheets/fix-bootstrap-4.sass +0 -19
  250. data/app/assets/stylesheets/fix_addon.sass +0 -216
  251. data/app/assets/stylesheets/forms.sass +0 -91
  252. data/app/assets/stylesheets/navigations.sass +0 -17
  253. data/app/assets/stylesheets/notifications.sass +0 -42
  254. data/app/assets/stylesheets/tables.sass +0 -66
  255. data/app/assets/stylesheets/ui_bibz.sass.erb +0 -55
  256. data/lib/generators/ui_bibz/install_generator.rb +0 -17
  257. data/lib/generators/ui_bibz/templates/ui_bibz_initializer.rb +0 -5
  258. data/lib/ui_bibz/ui/core/forms/selects/multi_select_field.rb +0 -125
  259. data/lib/ui_bibz/ui/core/icons/glyph_group.rb +0 -101
  260. data/test/dummy/bin/bundle +0 -5
  261. data/test/ui/core/forms/files/text_field_test.rb +0 -12
  262. data/test/ui/core/forms/selects/dropdown_select_field_test.rb +0 -84
  263. data/test/ui/core/icons/glyph_group_test.rb +0 -37
@@ -7,14 +7,14 @@ class JumbotronTest < ActionView::TestCase
7
7
 
8
8
  test 'jumbotron with full_width' do
9
9
  actual = ui_jumbotron 'state', full_width: true
10
- expected = '<div class="jumbotron">state</div>'
10
+ expected = '<div class="jumbotron bg-light rounded p-4">state</div>'
11
11
 
12
12
  assert_equal expected, actual
13
13
  end
14
14
 
15
15
  test 'jumbotron' do
16
16
  actual = ui_jumbotron 'state'
17
- expected = '<div class="jumbotron">state</div>'
17
+ expected = '<div class="jumbotron bg-light rounded p-4">state</div>'
18
18
 
19
19
  assert_equal expected, actual
20
20
  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>'
24
+ expected = '<i class="glyph fas fa-diamond"></i><span class="empty-space"> </span>'
25
25
 
26
26
  assert_equal expected, actual
27
27
  end
@@ -43,7 +43,7 @@ class ButtonGroupTest < ActionView::TestCase
43
43
 
44
44
  test 'button group with dropdown' do
45
45
  actual = ui_button_group do |bg|
46
- bg.dropdown('Dropdown', { type: :dropup, status: :success }, { id: 'dropdown-test' }) do |d|
46
+ bg.dropdown('Dropdown', { position: :up, status: :success }, { id: 'dropdown-test' }) do |d|
47
47
  d.link 'Link 1', url: '#link1', glyph: 'eye'
48
48
  end
49
49
  end
@@ -49,7 +49,7 @@ class ButtonLinkTest < ActionView::TestCase
49
49
 
50
50
  test 'button_link badge' do
51
51
  actual = ui_button_link('state', badge: 2)
52
- expected = '<a class="btn-secondary btn" role="button" href="#">state<span class="badge-secondary badge">2</span></a>'
52
+ expected = '<a class="btn-secondary btn" role="button" href="#">state<span class="bg-secondary badge">2</span></a>'
53
53
 
54
54
  assert_equal expected, actual
55
55
  end
@@ -42,7 +42,7 @@ class ButtonTest < ActionView::TestCase
42
42
 
43
43
  test 'button badge' do
44
44
  actual = ui_button('state', badge: 2)
45
- expected = '<button class="btn-secondary btn">state<span class="badge-secondary badge">2</span></button>'
45
+ expected = '<button class="btn-secondary btn">state<span class="bg-secondary badge">2</span></button>'
46
46
 
47
47
  assert_equal expected, actual
48
48
  end
@@ -77,7 +77,7 @@ class ButtonTest < ActionView::TestCase
77
77
 
78
78
  test 'button glyph without text' do
79
79
  actual = ui_button('state', glyph: 'diamond', text: false)
80
- expected = '<button class="btn-secondary btn without-text"><i class="glyph fas fa-diamond"></i></button>'
80
+ expected = '<button class="btn-secondary btn without-text"><i class="glyph fas fa-diamond"></i><span class="empty-space"> </span></button>'
81
81
 
82
82
  assert_equal expected, actual
83
83
  end
@@ -5,7 +5,14 @@ require 'test_helper'
5
5
  class CheckboxFieldTest < ActionView::TestCase
6
6
  test 'checkbox_field' do
7
7
  actual = UiBibz::Ui::Core::Forms::Choices::CheckboxField.new('John', { value: 1 }).render
8
- expected = '<div class="custom-control custom-checkbox"><input type="hidden" name="John" id="John-hidden" value="0" /><input type="checkbox" name="John" id="John" value="1" class="custom-control-input" /><label class="custom-control-label" for="John">John</label></div>'
8
+ expected = "<div class=\"form-check\"><input type=\"checkbox\" name=\"John\" id=\"John\" value=\"1\" class=\"form-check-input\" /><label class=\"form-check-label\" for=\"John\">John</label></div>"
9
+
10
+ assert_equal expected, actual
11
+ end
12
+
13
+ test 'checkbox_field which is a boolean' do
14
+ actual = UiBibz::Ui::Core::Forms::Choices::CheckboxField.new('John', { boolean: true, value: 1 }).render
15
+ expected = "<div class=\"form-check\"><input type=\"hidden\" name=\"John\" id=\"John-hidden\" value=\"0\" /><input type=\"checkbox\" name=\"John\" id=\"John\" value=\"1\" class=\"form-check-input\" /><label class=\"form-check-label\" for=\"John\">John</label></div>"
9
16
 
10
17
  assert_equal expected, actual
11
18
  end
@@ -6,32 +6,34 @@ class ChoiceGroupTest < ActionView::TestCase
6
6
  include UiBibz::Helpers::Ui::CoreHelper
7
7
 
8
8
  test 'Choice group checkbox' do
9
- actual = ui_choice_group do |bc|
9
+ actual = UiBibz::Ui::Core::Forms::Choices::ChoiceGroup.new.tap do |bc|
10
10
  bc.choice 'Checkbox 1'
11
11
  bc.choice 'Checkbox 2', state: :active
12
12
  end
13
- expected = '<div data-toggle="buttons" class="btn-group button-choice btn-group-toggle"><label class="btn-secondary btn checkbox"><input type="checkbox" autocomplete="off" />Checkbox 1</label><label class="active btn-secondary btn checkbox" aria-pressed="true"><input type="checkbox" autocomplete="off" checked="checked" />Checkbox 2</label></div>'
14
13
 
15
- assert_equal expected, actual
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>"
15
+
16
+ assert_equal expected, actual.render
16
17
  end
17
18
 
18
19
  test 'Choice group radio' do
19
- actual = ui_choice_group type: :radio do |bc|
20
+ actual = UiBibz::Ui::Core::Forms::Choices::ChoiceGroup.new(type: :radio).tap do |bc|
20
21
  bc.choice 'Radio 1'
21
22
  bc.choice 'Radio 2', state: :active
22
23
  end
23
- expected = '<div data-toggle="buttons" class="btn-group button-choice btn-group-toggle"><label class="btn-secondary btn radio"><input type="radio" autocomplete="off" />Radio 1</label><label class="active btn-secondary btn radio" aria-pressed="true"><input type="radio" autocomplete="off" checked="checked" />Radio 2</label></div>'
24
24
 
25
- assert_equal expected, actual
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>"
26
+
27
+ assert_equal expected, actual.render
26
28
  end
27
29
 
28
30
  test 'Choice group options' do
29
- actual = ui_choice_group size: :lg, outline: true, type: :radio do |bc|
31
+ actual = UiBibz::Ui::Core::Forms::Choices::ChoiceGroup.new(size: :lg, outline: true, type: :radio).tap do |bc|
30
32
  bc.choice 'Radio 1', glyph: 'diamond', status: :primary
31
33
  bc.choice 'Radio 2', state: :active
32
34
  end
33
- expected = '<div data-toggle="buttons" class="btn-group btn-group-lg button-choice btn-group-toggle"><label class="btn-outline-primary btn btn-lg radio"><input type="radio" autocomplete="off" /><i class="glyph fas fa-diamond"></i> Radio 1</label><label class="active btn-outline-secondary btn btn-lg radio" aria-pressed="true"><input type="radio" autocomplete="off" checked="checked" />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 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>"
34
36
 
35
- assert_equal expected, actual
37
+ assert_equal expected, actual.render
36
38
  end
37
39
  end
@@ -5,7 +5,7 @@ require 'test_helper'
5
5
  class RadioFieldTest < ActionView::TestCase
6
6
  test 'radio_field' do
7
7
  actual = UiBibz::Ui::Core::Forms::Choices::RadioField.new('John', { value: 1, status: :primary, type: :square }).render
8
- expected = '<div class="custom-control custom-radio"><input type="radio" name="John" id="John_1" value="1" class="custom-control-input" /><label class="custom-control-label" for="John_1">John</label></div>'
8
+ expected = "<div class=\"form-check\"><input type=\"radio\" name=\"John\" id=\"John_1\" value=\"1\" class=\"form-check-input\" /><label class=\"form-check-label\" for=\"John_1\">John</label></div>"
9
9
 
10
10
  assert_equal expected, actual
11
11
  end
@@ -5,7 +5,7 @@ require 'test_helper'
5
5
  class DatePickerFieldTest < ActionView::TestCase
6
6
  test 'Date Picker Field' do
7
7
  actual = UiBibz::Ui::Core::Forms::Dates::DatePickerField.new(%w[date_1 date_2], { append: 'a', prepend: 'b', range: 'u' }, { class: 'datepicker-test' }).render
8
- expected = '<div class="input-daterange input-group ui_surround_field"><span class="input-group-addon">a</span><input type="text" name="date_1" id="date_1" class="datepicker-test date_picker form-control" data-date-locale="en" data-provide="datepicker" data-date-format="yyyy-mm-dd" data-date-today-btn="linked" data-date-toggle-active="true" /><span class="input-group-addon">u</span><input type="text" name="date_2" id="date_2" class="datepicker-test date_picker form-control" data-date-locale="en" data-provide="datepicker" data-date-format="yyyy-mm-dd" data-date-today-btn="linked" data-date-toggle-active="true" /><span class="input-group-addon">b</span></div>'
8
+ expected = '<div class="input-daterange input-group ui_surround_field"><span class="input-group-text">a</span><input type="text" name="date_1" id="date_1" class="datepicker-test date_picker form-control" data-date-locale="en" data-provide="datepicker" data-date-format="yyyy-mm-dd" data-date-today-btn="linked" data-date-toggle-active="true" /><span class="input-group-text">u</span><input type="text" name="date_2" id="date_2" class="datepicker-test date_picker form-control" data-date-locale="en" data-provide="datepicker" data-date-format="yyyy-mm-dd" data-date-today-btn="linked" data-date-toggle-active="true" /><span class="input-group-text">b</span></div>'
9
9
 
10
10
  assert_equal expected, actual
11
11
  end
@@ -32,14 +32,14 @@ class DropdownTest < ActionView::TestCase
32
32
  end
33
33
 
34
34
  test 'Dropdown options' do
35
- actual = UiBibz::Ui::Core::Forms::Dropdowns::Dropdown.new('Dropdown', type: :dropup, status: :success, glyph: 'diamond').tap do |d|
35
+ actual = UiBibz::Ui::Core::Forms::Dropdowns::Dropdown.new('Dropdown', position: :up, alignement: :right, status: :success, glyph: 'diamond').tap do |d|
36
36
  d.link 'Link 1', url: '#link1', glyph: 'eye'
37
37
  d.header 'header'
38
38
  d.link 'Link 2', url: '#link2'
39
39
  d.divider
40
40
  d.link 'Link3', url: '#link3'
41
41
  end
42
- expected = "<div class=\"dropup\"><button class=\"btn btn-success dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\" id=\"#{actual.id}\"><i class=\"glyph fas fa-diamond\"></i> Dropdown</button><div class=\"dropdown-menu\" arial-labelledby=\"#{actual.id}\"><a class=\"dropdown-item\" href=\"#link1\"><i class=\"glyph fas fa-eye\"></i> Link 1</a><h6 class=\"dropdown-header\" role=\"presentation\">header</h6><a class=\"dropdown-item\" href=\"#link2\">Link 2</a><div class=\"dropdown-divider\"></div><a class=\"dropdown-item\" href=\"#link3\">Link3</a></div></div>"
42
+ expected = "<div class=\"dropup btn-group\"><button class=\"btn btn-success dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\" id=\"#{actual.id}\"><i class=\"glyph fas fa-diamond\"></i> Dropdown</button><div class=\"dropdown-menu dropdown-menu-right\" arial-labelledby=\"#{actual.id}\"><a class=\"dropdown-item\" href=\"#link1\"><i class=\"glyph fas fa-eye\"></i> Link 1</a><h6 class=\"dropdown-header\" role=\"presentation\">header</h6><a class=\"dropdown-item\" href=\"#link2\">Link 2</a><div class=\"dropdown-divider\"></div><a class=\"dropdown-item\" href=\"#link3\">Link3</a></div></div>"
43
43
 
44
44
  assert_equal expected, actual.render
45
45
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ class FileFieldTest < ActionView::TestCase
6
+ test 'file_field' do
7
+ actual = UiBibz::Ui::Core::Forms::Files::FileField.new('test').render
8
+ expected = "<div class=\"form-file\"><input type=\"file\" name=\"test\" id=\"test\" class=\"form-file-input\" /><label class=\"form-file-label\" for=\"test\"><span class=\"form-file-text\"></span><span class=\"form-file-button\">Browse</span></label></div>"
9
+
10
+ assert_equal expected, actual
11
+ end
12
+ end
@@ -5,7 +5,7 @@ require 'test_helper'
5
5
  class FormulaFieldTest < ActionView::TestCase
6
6
  test 'formula_field' do
7
7
  actual = UiBibz::Ui::Core::Forms::Numbers::FormulaField.new('value').render
8
- expected = '<div class="formula_field input-group ui_surround_field"><input type="text" name="value_formula" id="value_formula" class="formula-field form-control" /><span class="formula-field-sign input-group-addon">=</span><input type="text" name="value" id="value" class="formula-field-result form-control" readonly="readonly" /><span data-toggle="tooltip" class="formula-field-alert input-group-addon"><i class="glyph-danger glyph fas fa-exclamation-triangle"></i></span></div>'
8
+ expected = '<div class="formula_field input-group ui_surround_field"><input type="text" name="value_formula" id="value_formula" class="formula-field form-control" /><span class="formula-field-sign input-group-text">=</span><input type="text" name="value" id="value" class="formula-field-result form-control" readonly="readonly" /><span data-toggle="tooltip" class="formula-field-alert input-group-text"><i class="glyph-danger glyph fas fa-exclamation-triangle"></i></span></div>'
9
9
 
10
10
  assert_equal expected, actual
11
11
  end
@@ -5,15 +5,36 @@ require 'test_helper'
5
5
  class RangeFieldTest < ActionView::TestCase
6
6
  test 'range_field' do
7
7
  actual = UiBibz::Ui::Core::Forms::Numbers::RangeField.new('myrange').render
8
- expected = '<input type="range" name="myrange" id="myrange" class="custom-range" />'
8
+ expected = '<input type="range" name="myrange" id="myrange" class="form-range" />'
9
9
 
10
10
  assert_equal expected, actual
11
11
  end
12
12
 
13
13
  test 'range_field with options' do
14
14
  actual = UiBibz::Ui::Core::Forms::Numbers::RangeField.new('myrange', value: 5, min: -9, max: 6, step: 0.2).render
15
- expected = '<input type="range" name="myrange" id="myrange" value="5" class="custom-range" min="-9" max="6" step="0.2" />'
15
+ expected = '<input type="range" name="myrange" id="myrange" value="5" class="form-range" min="-9" max="6" step="0.2" />'
16
16
 
17
17
  assert_equal expected, actual
18
18
  end
19
+
20
+ test 'range_field with in option' do
21
+ actual = UiBibz::Ui::Core::Forms::Numbers::RangeField.new('myrange', value: 5, in: (0..10)).render
22
+ expected = "<input type=\"range\" name=\"myrange\" id=\"myrange\" value=\"5\" class=\"form-range\" min=\"0\" max=\"10\" />"
23
+
24
+ assert_equal expected, actual
25
+ end
26
+
27
+ test 'range_field with within option' do
28
+ actual = UiBibz::Ui::Core::Forms::Numbers::RangeField.new('myrange', value: 2, within: (-2..4)).render
29
+ expected = "<input type=\"range\" name=\"myrange\" id=\"myrange\" value=\"2\" class=\"form-range\" min=\"-2\" max=\"4\" />"
30
+
31
+ assert_equal expected, actual
32
+ end
33
+
34
+ test 'range_field with tick' do
35
+ actual = UiBibz::Ui::Core::Forms::Numbers::RangeField.new('myrange', value: 2, max: 3, tick: true)
36
+ expected = "<input type=\"range\" name=\"myrange\" id=\"myrange\" value=\"2\" class=\"form-range\" max=\"3\" list=\"#{actual.html_id}-list\" /><datalist id=\"#{actual.html_id}-list\"><option value=\"0\" label=\"0\">0</option><option value=\"1\"></option><option value=\"2\" label=\"2\">2</option><option value=\"3\" label=\"3\">3</option></datalist>"
37
+
38
+ assert_equal expected, actual.render
39
+ end
19
40
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ class SliderFieldTest < ActionView::TestCase
6
+ test 'slider field' do
7
+ actual = UiBibz::Ui::Core::Forms::Numbers::SliderField.new('myrange').render
8
+ expected = "<div class=\"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=\"myrange_min\" id=\"myrange_min\" value=\"0\" max=\"100\" min=\"0\" step=\"1\" /><input type=\"range\" name=\"myrange_max\" id=\"myrange_max\" value=\"100\" max=\"100\" min=\"0\" step=\"1\" /></div>"
9
+
10
+ assert_equal expected, actual
11
+ end
12
+
13
+ test 'slider field with options' do
14
+ actual = UiBibz::Ui::Core::Forms::Numbers::SliderField.new('myrange', thumb_max: 2, thumb_min: -7, min: -9, max: 6, step: 2, input_name_max: "price_max", input_name_min: "price_min").render
15
+ expected = "<div class=\"slider\" min=\"-9\" max=\"6\" step=\"2\"><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: 13%; right: 26%\"></div><div class=\"slider-thumb slider-thumb-left\" style=\"left: 13%\"></div><div class=\"slider-thumb slider-thumb-right\" style=\"left: 74%\"></div></div><input type=\"range\" name=\"price_min\" id=\"price_min\" value=\"-7\" max=\"6\" min=\"-9\" step=\"2\" /><input type=\"range\" name=\"price_max\" id=\"price_max\" value=\"2\" max=\"6\" min=\"-9\" step=\"2\" /></div>"
16
+
17
+ assert_equal expected, actual
18
+ end
19
+
20
+ test 'slider header' do
21
+ actual = UiBibz::Ui::Core::Forms::Numbers::SliderHeader.new(nil, target: "test", thumb_min: -7, thumb_max: 2, label_min: "min", label_max: "max").render
22
+ expected = "<div data-target=\"test\" class=\"slider-header\"><div class=\"slider-header-min\"><label>min</label><span>-7</span></div><div class=\"slider-header-max\"><label>max</label><span>2</span></div></div>"
23
+
24
+ assert_equal expected, actual
25
+ end
26
+ end
@@ -4,7 +4,7 @@ require 'test_helper'
4
4
 
5
5
  class MultiColumnFieldTest < ActionView::TestCase
6
6
  test 'Multi Column Field' do
7
- options = options_for_select(2.times.map { |i| "option #{i}" })
7
+ options = options_for_select(Array.new(2) { |i| "option #{i}" })
8
8
  actual = UiBibz::Ui::Core::Forms::Selects::MultiColumnField.new('example', option_tags: options).render
9
9
  expected = "<select name=\"example[]\" id=\"example\" class=\"multi-column-field\" multiple=\"multiple\"><option value=\"option 0\">option 0</option>
10
10
  <option value=\"option 1\">option 1</option></select>"
@@ -2,10 +2,10 @@
2
2
 
3
3
  require 'test_helper'
4
4
 
5
- class MultiSelectFieldTest < ActionView::TestCase
5
+ class DropdownSelectFieldTest < ActionView::TestCase
6
6
  test 'Multi Select Field' do
7
- options = options_for_select(2.times.map { |i| "option #{i}" })
8
- actual = UiBibz::Ui::Core::Forms::Selects::MultiSelectField.new('example', option_tags: options).render
7
+ options = options_for_select(Array.new(2) { |i| "option #{i}" })
8
+ actual = UiBibz::Ui::Core::Forms::Selects::DropdownSelectField.new('example', multiple: true, option_tags: options).render
9
9
  expected = "<select name=\"example[]\" id=\"example\" class=\"btn-secondary multi-select-field\" multiple=\"multiple\"><option value=\"option 0\">option 0</option>
10
10
  <option value=\"option 1\">option 1</option></select>"
11
11
 
@@ -14,8 +14,8 @@ class MultiSelectFieldTest < ActionView::TestCase
14
14
 
15
15
  test 'Multi Select Field data html options' do
16
16
  grouped_options = { 'North America' => [['United statuss', 'US'], 'Canada'], 'Europe' => %w[Denmark Germany France] }
17
- actual = UiBibz::Ui::Core::Forms::Selects::MultiSelectField.new('example', { option_tags: grouped_options_for_select(grouped_options), clickable_opt_group: true, collapsible_opt_group: true, searchable: true, select_all_options: true, number_displayed: 2, status: :danger }).render
18
- expected = "<select name=\"example[]\" id=\"example\" data-enable-clickable-opt-groups=\"true\" data-enable-collapsible-opt-groups=\"true\" data-enable-filtering=\"true\" data-include-select-all-option=\"true\" data-number-displayed=\"true\" class=\"btn-danger btn-secondary multi-select-field\" multiple=\"multiple\"><optgroup label=\"North America\"><option value=\"US\">United statuss</option>
17
+ actual = UiBibz::Ui::Core::Forms::Selects::DropdownSelectField.new('example', { multiple: true, option_tags: grouped_options_for_select(grouped_options), clickable_opt_group: true, collapsible_opt_group: true, searchable: true, select_all_options: true, number_displayed: 2, status: :danger }).render
18
+ expected = "<select name=\"example[]\" id=\"example\" data-enable-clickable-opt-groups=\"true\" data-enable-collapsible-opt-groups=\"true\" data-enable-filtering=\"true\" data-include-select-all-option=\"true\" data-number-displayed=\"true\" class=\"btn-danger multi-select-field\" multiple=\"multiple\"><optgroup label=\"North America\"><option value=\"US\">United statuss</option>
19
19
  <option value=\"Canada\">Canada</option></optgroup><optgroup label=\"Europe\"><option value=\"Denmark\">Denmark</option>
20
20
  <option value=\"Germany\">Germany</option>
21
21
  <option value=\"France\">France</option></optgroup></select>"
@@ -24,8 +24,8 @@ class MultiSelectFieldTest < ActionView::TestCase
24
24
  end
25
25
 
26
26
  test 'Multi select Field refresh option' do
27
- actual = UiBibz::Ui::Core::Forms::Selects::MultiSelectField.new('test', { refresh: { target: { url: '/' } } }).render
28
- expected = '<div class="field-refresh input-group ui_surround_field"><select name="test[]" id="test" class="btn-secondary multi-select-field" multiple="multiple"></select><div class="input-group-btn"><span data-connect="{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#test&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>'
27
+ actual = UiBibz::Ui::Core::Forms::Selects::DropdownSelectField.new('test', { multiple: true, refresh: { target: { url: '/' } } }).render
28
+ expected = '<div class="field-refresh input-group ui_surround_field"><select name="test[]" id="test" class="btn-secondary multi-select-field" multiple="multiple"></select><span data-connect="{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#test&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>'
29
29
 
30
30
  assert_equal expected, actual
31
31
  end
@@ -4,9 +4,9 @@ require 'test_helper'
4
4
 
5
5
  class SelectFieldTest < ActionView::TestCase
6
6
  test 'Select Field' do
7
- options = options_for_select(2.times.map { |i| "option #{i}" })
7
+ options = options_for_select(Array.new(2) { |i| "option #{i}" })
8
8
  actual = UiBibz::Ui::Core::Forms::Selects::SelectField.new('example', option_tags: options).render
9
- expected = "<select name=\"example\" id=\"example\" class=\"select-field form-control custom-select\"><option value=\"option 0\">option 0</option>
9
+ expected = "<select name=\"example\" id=\"example\" class=\"select-field form-control form-select\"><option value=\"option 0\">option 0</option>
10
10
  <option value=\"option 1\">option 1</option></select>"
11
11
 
12
12
  assert_equal expected, actual
@@ -14,7 +14,7 @@ class SelectFieldTest < ActionView::TestCase
14
14
 
15
15
  test 'Select Field refresh' do
16
16
  actual = UiBibz::Ui::Core::Forms::Selects::SelectField.new('example', refresh: { target: { url: '/' } }).render
17
- expected = '<div class="field-refresh input-group ui_surround_field"><select name="example" id="example" class="select-field form-control custom-select"></select><div class="input-group-btn"><span data-connect="{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#example&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>'
17
+ expected = '<div class="field-refresh input-group ui_surround_field"><select name="example" id="example" class="select-field form-control form-select"></select><span data-connect="{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#example&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>'
18
18
 
19
19
  assert_equal expected, actual
20
20
  end
@@ -7,7 +7,7 @@ class SurroundFieldTest < ActionView::TestCase
7
7
  actual = UiBibz::Ui::Core::Forms::Surrounds::SurroundField.new.tap do |sf|
8
8
  sf.glyph 'pencil'
9
9
  end.render
10
- expected = '<div class="input-group ui_surround_field"><span class="input-group-addon"><i class="glyph fas fa-pencil"></i></span></div>'
10
+ expected = '<div class="input-group ui_surround_field"><span class="input-group-text"><i class="glyph fas fa-pencil"></i></span></div>'
11
11
 
12
12
  assert_equal expected, actual
13
13
  end
@@ -16,7 +16,7 @@ class SurroundFieldTest < ActionView::TestCase
16
16
  actual = UiBibz::Ui::Core::Forms::Surrounds::SurroundField.new.tap do |sf|
17
17
  sf.addon 'content addon'
18
18
  end.render
19
- expected = '<div class="input-group ui_surround_field"><span class="input-group-addon">content addon</span></div>'
19
+ expected = '<div class="input-group ui_surround_field"><span class="input-group-text">content addon</span></div>'
20
20
 
21
21
  assert_equal expected, actual
22
22
  end
@@ -51,7 +51,19 @@ class SurroundFieldTest < ActionView::TestCase
51
51
  sf.addon '€'
52
52
  sf.glyph 'pencil'
53
53
  end.render
54
- expected = '<div class="input-group ui_surround_field"><div class="input-group-btn"><button class="btn-secondary btn">Submit</button></div><span class="input-group-addon">€</span><span class="input-group-addon"><i class="glyph fas fa-pencil"></i></span></div>'
54
+ expected = '<div class="input-group ui_surround_field"><div class="input-group-btn"><button class="btn-secondary btn">Submit</button></div><span class="input-group-text">€</span><span class="input-group-text"><i class="glyph fas fa-pencil"></i></span></div>'
55
+
56
+ assert_equal expected, actual
57
+ end
58
+
59
+ test 'surround_field with html' do
60
+ actual = UiBibz::Ui::Core::Forms::Surrounds::SurroundField.new.tap do |sf|
61
+ sf.html 'Content'
62
+ sf.html do
63
+ " Content 2"
64
+ end
65
+ end.render
66
+ expected = "<div class=\"input-group ui_surround_field\">Content Content 2</div>"
55
67
 
56
68
  assert_equal expected, actual
57
69
  end
@@ -5,7 +5,7 @@ require 'test_helper'
5
5
  class MarkdownEditorFieldTest < ActionView::TestCase
6
6
  test 'markdown_editor' do
7
7
  actual = UiBibz::Ui::Core::Forms::Textareas::MarkdownEditorField.new('comments').render
8
- expected = "<textarea name=\"comments\" id=\"comments\" data-provide=\"markdown\" data-iconlibrary=\"fa-5\">
8
+ expected = "<textarea name=\"comments\" id=\"comments\" data-provide=\"markdown\" data-iconlibrary=\"fa\">
9
9
  </textarea>"
10
10
 
11
11
  assert_equal expected, actual
@@ -4,7 +4,7 @@ require 'test_helper'
4
4
 
5
5
  class AutoCompleteFieldTest < ActionView::TestCase
6
6
  test 'auto_complete_field' do
7
- options = options_for_select(2.times.map { |i| "option #{i}" })
7
+ options = options_for_select(Array.new(2) { |i| "option #{i}" })
8
8
  actual = UiBibz::Ui::Core::Forms::Texts::AutoCompleteField.new('test', { option_tags: options }, { id: 'test' }).render
9
9
  expected = "<input type=\"text\" name=\"test\" id=\"test\" class=\"form-control auto-complete-field\" autocomplete=\"true\" list=\"test-datalist\" /><datalist id=\"test-datalist\"><option value=\"option 0\">option 0</option>
10
10
  <option value=\"option 1\">option 1</option></datalist>"
@@ -13,28 +13,28 @@ class AutoCompleteFieldTest < ActionView::TestCase
13
13
  end
14
14
 
15
15
  test 'auto_complete_field with refresh button' do
16
- options = options_for_select(2.times.map { |i| "option #{i}" })
16
+ options = options_for_select(Array.new(2) { |i| "option #{i}" })
17
17
  actual = UiBibz::Ui::Core::Forms::Texts::AutoCompleteField.new('test', { option_tags: options, refresh: { target: { url: '/' } } }, { id: 'test' }).render
18
18
  expected = "<div class=\"field-refresh input-group ui_surround_field\"><input type=\"text\" name=\"test\" id=\"test\" class=\"form-control auto-complete-field\" autocomplete=\"true\" list=\"test-datalist\" /><datalist id=\"test-datalist\"><option value=\"option 0\">option 0</option>
19
- <option value=\"option 1\">option 1</option></datalist><div class=\"input-group-btn\"><span data-connect=\"{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#test-datalist&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>"
19
+ <option value=\"option 1\">option 1</option></datalist><span data-connect=\"{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#test-datalist&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>"
20
20
 
21
21
  assert_equal expected, actual
22
22
  end
23
23
 
24
24
  test 'auto_complete_field with refresh button and append content' do
25
- options = options_for_select(2.times.map { |i| "option #{i}" })
25
+ options = options_for_select(Array.new(2) { |i| "option #{i}" })
26
26
  actual = UiBibz::Ui::Core::Forms::Texts::AutoCompleteField.new('test', { option_tags: options, append: 'Append content', refresh: { target: { url: '/' } } }, { id: 'test' }).render
27
- expected = "<div class=\"field-refresh input-group ui_surround_field\"><span class=\"input-group-addon\">Append content</span><input type=\"text\" name=\"test\" id=\"test\" class=\"form-control auto-complete-field\" autocomplete=\"true\" list=\"test-datalist\" /><datalist id=\"test-datalist\"><option value=\"option 0\">option 0</option>
28
- <option value=\"option 1\">option 1</option></datalist><div class=\"input-group-btn\"><span data-connect=\"{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#test-datalist&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>"
27
+ expected = "<div class=\"field-refresh input-group ui_surround_field\"><span class=\"input-group-text\">Append content</span><input type=\"text\" name=\"test\" id=\"test\" class=\"form-control auto-complete-field\" autocomplete=\"true\" list=\"test-datalist\" /><datalist id=\"test-datalist\"><option value=\"option 0\">option 0</option>
28
+ <option value=\"option 1\">option 1</option></datalist><span data-connect=\"{&quot;events&quot;:&quot;click&quot;,&quot;mode&quot;:&quot;remote&quot;,&quot;target&quot;:{&quot;selector&quot;:&quot;#test-datalist&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>"
29
29
 
30
30
  assert_equal expected, actual
31
31
  end
32
32
 
33
33
  test 'auto_complete_field with prepend content' do
34
- options = options_for_select(2.times.map { |i| "option #{i}" })
34
+ options = options_for_select(Array.new(2) { |i| "option #{i}" })
35
35
  actual = UiBibz::Ui::Core::Forms::Texts::AutoCompleteField.new('test', { option_tags: options, prepend: 'Append content' }, { id: 'test' }).render
36
36
  expected = "<div class=\"input-group ui_surround_field\"><input type=\"text\" name=\"test\" id=\"test\" class=\"form-control auto-complete-field\" autocomplete=\"true\" list=\"test-datalist\" /><datalist id=\"test-datalist\"><option value=\"option 0\">option 0</option>
37
- <option value=\"option 1\">option 1</option></datalist><span class=\"input-group-addon\">Append content</span></div>"
37
+ <option value=\"option 1\">option 1</option></datalist><span class=\"input-group-text\">Append content</span></div>"
38
38
 
39
39
  assert_equal expected, actual
40
40
  end
@@ -12,14 +12,14 @@ class TextFieldTest < ActionView::TestCase
12
12
 
13
13
  test 'text_field with prepend and append' do
14
14
  actual = UiBibz::Ui::Core::Forms::Texts::TextField.new('test', append: '1', prepend: '2').render
15
- expected = '<div class="input-group ui_surround_field"><span class="input-group-addon">1</span><input type="text" name="test" id="test" class="form-control" /><span class="input-group-addon">2</span></div>'
15
+ expected = '<div class="input-group ui_surround_field"><span class="input-group-text">1</span><input type="text" name="test" id="test" class="form-control" /><span class="input-group-text">2</span></div>'
16
16
 
17
17
  assert_equal expected, actual
18
18
  end
19
19
 
20
20
  test 'text_field size' do
21
21
  actual = UiBibz::Ui::Core::Forms::Texts::TextField.new('test', size: :xs, append: '1', prepend: '2').render
22
- expected = '<div class="input-group-xs input-group ui_surround_field"><span class="input-group-addon">1</span><input type="text" name="test" id="test" class="form-control form-control-xs" /><span class="input-group-addon">2</span></div>'
22
+ expected = '<div class="input-group-xs input-group ui_surround_field"><span class="input-group-text">1</span><input type="text" name="test" id="test" class="form-control form-control-xs" /><span class="input-group-text">2</span></div>'
23
23
 
24
24
  assert_equal expected, actual
25
25
  end
@@ -7,7 +7,7 @@ class ColTest < ActionView::TestCase
7
7
 
8
8
  test 'col with options' do
9
9
  actual = ui_col('test', { num: 1, push: 2, offset: 3, pull: 4 }, { class: 'test' })
10
- expected = '<div class="test col-md-1 col-md-push-2 offset-md-3 col-md-pull-4">test</div>'
10
+ expected = '<div class="test col-1 col-push-2 offset-3 col-pull-4">test</div>'
11
11
 
12
12
  assert_equal expected, actual
13
13
  end
@@ -22,11 +22,20 @@ class ColTest < ActionView::TestCase
22
22
  end
23
23
 
24
24
  test 'col' do
25
- actual = ui_col do
25
+ actual = ui_col do
26
26
  'test'
27
27
  end
28
28
  expected = '<div class="col">test</div>'
29
29
 
30
30
  assert_equal expected, actual
31
31
  end
32
+
33
+ test 'col with integer in parameter' do
34
+ actual = ui_col 3 do
35
+ 'test'
36
+ end
37
+ expected = '<div class="col-3">test</div>'
38
+
39
+ assert_equal expected, actual
40
+ end
32
41
  end