ui_bibz 2.4.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. checksums.yaml +4 -4
  2. data/.overcommit.yml +5 -0
  3. data/.rubocop.yml +52 -0
  4. data/.rubocop_todo.yml +25 -0
  5. data/Gemfile +5 -3
  6. data/Gemfile.lock +25 -1
  7. data/Rakefile +8 -6
  8. data/config/initializers/simple_form_init.rb +3 -1
  9. data/config/initializers/will_paginate.rb +11 -6
  10. data/lib/generators/ui_bibz/install_generator.rb +6 -5
  11. data/lib/generators/ui_bibz/templates/ui_bibz_initializer.rb +1 -1
  12. data/lib/tasks/ui_bibz_tasks.rake +2 -0
  13. data/lib/ui_bibz.rb +91 -100
  14. data/lib/ui_bibz/concerns/models/searchable.rb +56 -61
  15. data/lib/ui_bibz/helpers/ui/core/boxes_helper.rb +9 -9
  16. data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +26 -26
  17. data/lib/ui_bibz/helpers/ui/core/icons_helper.rb +6 -6
  18. data/lib/ui_bibz/helpers/ui/core/layouts_helper.rb +5 -5
  19. data/lib/ui_bibz/helpers/ui/core/lists_helper.rb +5 -4
  20. data/lib/ui_bibz/helpers/ui/core/navigations_helper.rb +9 -9
  21. data/lib/ui_bibz/helpers/ui/core/notifications_helper.rb +11 -11
  22. data/lib/ui_bibz/helpers/ui/core/windows_helper.rb +3 -3
  23. data/lib/ui_bibz/helpers/ui/core_helper.rb +2 -0
  24. data/lib/ui_bibz/helpers/ui/ux_helper.rb +12 -12
  25. data/lib/ui_bibz/helpers/utils_helper.rb +8 -11
  26. data/lib/ui_bibz/infos.rb +9 -7
  27. data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +40 -39
  28. data/lib/ui_bibz/inputs/ui_bibz_inputs/base_input.rb +6 -5
  29. data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +8 -6
  30. data/lib/ui_bibz/inputs/ui_bibz_inputs/string_input.rb +18 -18
  31. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_auto_complete_field_input.rb +3 -2
  32. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_box_switch_field_input.rb +3 -2
  33. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_checkbox_field_input.rb +3 -2
  34. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_choice_group_input.rb +6 -5
  35. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_date_picker_field_input.rb +3 -2
  36. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_dropdown_select_field_input.rb +3 -3
  37. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_file_field_input.rb +3 -2
  38. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_formula_field_input.rb +5 -4
  39. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_markdown_editor_field_input.rb +3 -2
  40. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_column_field_input.rb +3 -2
  41. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_select_field_input.rb +3 -3
  42. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_number_field_input.rb +3 -2
  43. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_radio_field_input.rb +7 -7
  44. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_range_field_input.rb +3 -2
  45. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_select_field_input.rb +3 -2
  46. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_switch_field_input.rb +3 -2
  47. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +3 -2
  48. data/lib/ui_bibz/rails/engine.rb +11 -15
  49. data/lib/ui_bibz/ui/base.rb +10 -6
  50. data/lib/ui_bibz/ui/core/boxes/card.rb +31 -32
  51. data/lib/ui_bibz/ui/core/boxes/card_accordion.rb +7 -8
  52. data/lib/ui_bibz/ui/core/boxes/card_column.rb +11 -12
  53. data/lib/ui_bibz/ui/core/boxes/card_deck.rb +11 -12
  54. data/lib/ui_bibz/ui/core/boxes/card_group.rb +11 -12
  55. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_link.rb +5 -6
  56. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_text.rb +5 -6
  57. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_title.rb +5 -6
  58. data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +11 -12
  59. data/lib/ui_bibz/ui/core/boxes/components/card_footer.rb +7 -8
  60. data/lib/ui_bibz/ui/core/boxes/components/card_header.rb +12 -13
  61. data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +6 -7
  62. data/lib/ui_bibz/ui/core/boxes/components/card_list_group.rb +4 -5
  63. data/lib/ui_bibz/ui/core/boxes/components/card_tab_group.rb +5 -6
  64. data/lib/ui_bibz/ui/core/boxes/jumbotron.rb +5 -6
  65. data/lib/ui_bibz/ui/core/component.rb +22 -20
  66. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +14 -15
  67. data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +14 -15
  68. data/lib/ui_bibz/ui/core/forms/buttons/button_link.rb +5 -6
  69. data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +11 -11
  70. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_dropdown.rb +5 -6
  71. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_split_dropdown.rb +5 -6
  72. data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +5 -6
  73. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +10 -11
  74. data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +8 -9
  75. data/lib/ui_bibz/ui/core/forms/choices/components/choice.rb +5 -6
  76. data/lib/ui_bibz/ui/core/forms/choices/radio_field.rb +6 -7
  77. data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +4 -5
  78. data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +22 -23
  79. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_divider.rb +3 -5
  80. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_header.rb +4 -5
  81. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_link.rb +6 -7
  82. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +21 -22
  83. data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +8 -9
  84. data/lib/ui_bibz/ui/core/forms/files/file_field.rb +5 -6
  85. data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +10 -11
  86. data/lib/ui_bibz/ui/core/forms/numbers/number_field.rb +3 -4
  87. data/lib/ui_bibz/ui/core/forms/numbers/range_field.rb +3 -4
  88. data/lib/ui_bibz/ui/core/forms/selects/abstract_select.rb +9 -9
  89. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +6 -7
  90. data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +9 -10
  91. data/lib/ui_bibz/ui/core/forms/selects/multi_select_field.rb +13 -14
  92. data/lib/ui_bibz/ui/core/forms/selects/select_field.rb +6 -7
  93. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_addon.rb +4 -4
  94. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +3 -3
  95. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_group.rb +3 -3
  96. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +3 -3
  97. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_refresh.rb +3 -3
  98. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_checkbox_field.rb +4 -4
  99. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +3 -3
  100. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_radio_field.rb +3 -3
  101. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_switch_field.rb +3 -3
  102. data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +24 -25
  103. data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +4 -5
  104. data/lib/ui_bibz/ui/core/forms/texts/auto_complete_field.rb +6 -7
  105. data/lib/ui_bibz/ui/core/forms/texts/text_field.rb +6 -6
  106. data/lib/ui_bibz/ui/core/icons/components/glyph_counter.rb +5 -6
  107. data/lib/ui_bibz/ui/core/icons/components/glyph_text.rb +5 -6
  108. data/lib/ui_bibz/ui/core/icons/glyph.rb +13 -14
  109. data/lib/ui_bibz/ui/core/icons/glyph_group.rb +16 -17
  110. data/lib/ui_bibz/ui/core/icons/star.rb +7 -9
  111. data/lib/ui_bibz/ui/core/layouts/col.rb +20 -21
  112. data/lib/ui_bibz/ui/core/layouts/container.rb +5 -6
  113. data/lib/ui_bibz/ui/core/layouts/row.rb +4 -5
  114. data/lib/ui_bibz/ui/core/lists/components/list.rb +19 -20
  115. data/lib/ui_bibz/ui/core/lists/components/list/list_body.rb +4 -5
  116. data/lib/ui_bibz/ui/core/lists/components/list/list_header.rb +5 -6
  117. data/lib/ui_bibz/ui/core/lists/list_group.rb +15 -16
  118. data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +5 -6
  119. data/lib/ui_bibz/ui/core/navigations/components/breadcrumb_link.rb +7 -8
  120. data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +6 -7
  121. data/lib/ui_bibz/ui/core/navigations/components/nav_link.rb +12 -13
  122. data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +7 -8
  123. data/lib/ui_bibz/ui/core/navigations/components/nav_link_list.rb +4 -5
  124. data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +8 -9
  125. data/lib/ui_bibz/ui/core/navigations/components/nav_text.rb +8 -9
  126. data/lib/ui_bibz/ui/core/navigations/components/navbar_brand.rb +5 -6
  127. data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +8 -8
  128. data/lib/ui_bibz/ui/core/navigations/components/navbar_nav.rb +6 -7
  129. data/lib/ui_bibz/ui/core/navigations/components/navbar_text.rb +6 -7
  130. data/lib/ui_bibz/ui/core/navigations/components/pagination_link.rb +5 -6
  131. data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +7 -7
  132. data/lib/ui_bibz/ui/core/navigations/link.rb +6 -7
  133. data/lib/ui_bibz/ui/core/navigations/nav.rb +20 -27
  134. data/lib/ui_bibz/ui/core/navigations/navbar.rb +23 -24
  135. data/lib/ui_bibz/ui/core/navigations/pagination.rb +9 -12
  136. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +7 -8
  137. data/lib/ui_bibz/ui/core/navigations/toolbar.rb +14 -15
  138. data/lib/ui_bibz/ui/core/notifications/alert.rb +11 -12
  139. data/lib/ui_bibz/ui/core/notifications/badge.rb +7 -8
  140. data/lib/ui_bibz/ui/core/notifications/components/alert_body.rb +5 -6
  141. data/lib/ui_bibz/ui/core/notifications/components/alert_header.rb +8 -9
  142. data/lib/ui_bibz/ui/core/notifications/components/bar.rb +11 -12
  143. data/lib/ui_bibz/ui/core/notifications/components/toast_body.rb +5 -6
  144. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +7 -8
  145. data/lib/ui_bibz/ui/core/notifications/progress_bar.rb +12 -13
  146. data/lib/ui_bibz/ui/core/notifications/spinner.rb +11 -12
  147. data/lib/ui_bibz/ui/core/notifications/toast.rb +9 -10
  148. data/lib/ui_bibz/ui/core/windows/components/modal_body.rb +4 -5
  149. data/lib/ui_bibz/ui/core/windows/components/modal_footer.rb +4 -5
  150. data/lib/ui_bibz/ui/core/windows/components/modal_header.rb +6 -7
  151. data/lib/ui_bibz/ui/core/windows/modal.rb +8 -9
  152. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +13 -15
  153. data/lib/ui_bibz/ui/extensions/core/component/klass_extension.rb +9 -10
  154. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +22 -21
  155. data/lib/ui_bibz/ui/extensions/core/forms/connect_extension.rb +9 -9
  156. data/lib/ui_bibz/ui/extensions/core/forms/surround_extension.rb +8 -10
  157. data/lib/ui_bibz/ui/ux/containers/components/panel_body.rb +5 -6
  158. data/lib/ui_bibz/ui/ux/containers/components/panel_column.rb +6 -7
  159. data/lib/ui_bibz/ui/ux/containers/components/panel_deck.rb +6 -7
  160. data/lib/ui_bibz/ui/ux/containers/components/panel_footer.rb +5 -6
  161. data/lib/ui_bibz/ui/ux/containers/components/panel_group.rb +6 -7
  162. data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +12 -12
  163. data/lib/ui_bibz/ui/ux/containers/components/panel_tab_group.rb +5 -6
  164. data/lib/ui_bibz/ui/ux/containers/components/panel_toolbar.rb +5 -6
  165. data/lib/ui_bibz/ui/ux/containers/panel.rb +21 -22
  166. data/lib/ui_bibz/ui/ux/tables/components/actions.rb +14 -16
  167. data/lib/ui_bibz/ui/ux/tables/components/as.rb +8 -9
  168. data/lib/ui_bibz/ui/ux/tables/components/column.rb +4 -4
  169. data/lib/ui_bibz/ui/ux/tables/components/columns.rb +4 -3
  170. data/lib/ui_bibz/ui/ux/tables/components/store.rb +5 -7
  171. data/lib/ui_bibz/ui/ux/tables/components/thead.rb +5 -6
  172. data/lib/ui_bibz/ui/ux/tables/extensions/actionable.rb +24 -23
  173. data/lib/ui_bibz/ui/ux/tables/extensions/paginable.rb +8 -10
  174. data/lib/ui_bibz/ui/ux/tables/extensions/searchable.rb +9 -9
  175. data/lib/ui_bibz/ui/ux/tables/extensions/sortable.rb +26 -26
  176. data/lib/ui_bibz/ui/ux/tables/table.rb +32 -39
  177. data/lib/ui_bibz/ui/ux/tables/table_card.rb +18 -26
  178. data/lib/ui_bibz/ui/ux/tables/table_pagination.rb +15 -18
  179. data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.rb +15 -18
  180. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +19 -23
  181. data/lib/ui_bibz/utils/glyph_changer.rb +13 -13
  182. data/lib/ui_bibz/utils/internationalization.rb +10 -7
  183. data/lib/ui_bibz/utils/screwdriver.rb +7 -5
  184. data/test/dummy/Rakefile +3 -1
  185. data/test/dummy/app/controllers/application_controller.rb +2 -0
  186. data/test/dummy/app/controllers/users_controller.rb +15 -14
  187. data/test/dummy/app/helpers/application_helper.rb +2 -0
  188. data/test/dummy/app/models/application_record.rb +2 -0
  189. data/test/dummy/app/models/continent.rb +2 -0
  190. data/test/dummy/app/models/country.rb +2 -0
  191. data/test/dummy/app/models/user.rb +2 -0
  192. data/test/dummy/bin/bundle +3 -1
  193. data/test/dummy/bin/rails +3 -1
  194. data/test/dummy/bin/rake +2 -0
  195. data/test/dummy/bin/setup +10 -8
  196. data/test/dummy/config.ru +2 -0
  197. data/test/dummy/config/application.rb +5 -4
  198. data/test/dummy/config/boot.rb +4 -2
  199. data/test/dummy/config/environment.rb +3 -1
  200. data/test/dummy/config/environments/development.rb +2 -0
  201. data/test/dummy/config/environments/production.rb +2 -0
  202. data/test/dummy/config/environments/test.rb +2 -0
  203. data/test/dummy/config/initializers/assets.rb +2 -0
  204. data/test/dummy/config/initializers/backtrace_silencers.rb +2 -0
  205. data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
  206. data/test/dummy/config/initializers/filter_parameter_logging.rb +2 -0
  207. data/test/dummy/config/initializers/inflections.rb +2 -0
  208. data/test/dummy/config/initializers/mime_types.rb +2 -0
  209. data/test/dummy/config/initializers/session_store.rb +2 -0
  210. data/test/dummy/config/initializers/simple_form_bootstrap.rb +3 -1
  211. data/test/dummy/config/initializers/ui_bibz.rb +1 -1
  212. data/test/dummy/config/initializers/wrap_parameters.rb +2 -0
  213. data/test/dummy/config/routes.rb +2 -0
  214. data/test/dummy/db/migrate/20150123191805_create_users.rb +2 -0
  215. data/test/dummy/db/migrate/20170309084406_continents.rb +2 -0
  216. data/test/dummy/db/migrate/20170309084453_countries.rb +2 -0
  217. data/test/dummy/db/schema.rb +22 -22
  218. data/test/dummy/test/models/user_test.rb +2 -0
  219. data/test/factories/user.rb +6 -4
  220. data/test/simple_form_test.rb +28 -34
  221. data/test/store_test.rb +10 -9
  222. data/test/support/factory_bot.rb +9 -5
  223. data/test/test_helper.rb +8 -8
  224. data/test/ui/core/boxes/card_test.rb +28 -26
  225. data/test/ui/core/boxes/jumbotron_test.rb +4 -3
  226. data/test/ui/core/component_test.rb +4 -4
  227. data/test/ui/core/forms/buttons/button_group_test.rb +8 -7
  228. data/test/ui/core/forms/buttons/button_link_test.rb +16 -14
  229. data/test/ui/core/forms/buttons/button_refresh_test.rb +5 -5
  230. data/test/ui/core/forms/buttons/button_test.rb +25 -23
  231. data/test/ui/core/forms/choices/box_switch_field_test.rb +62 -62
  232. data/test/ui/core/forms/choices/checkbox_field_test.rb +7 -6
  233. data/test/ui/core/forms/choices/choice_group_test.rb +6 -5
  234. data/test/ui/core/forms/choices/radio_field_test.rb +7 -6
  235. data/test/ui/core/forms/dates/date_picker_field_test.rb +12 -11
  236. data/test/ui/core/forms/dropdowns/dropdown_test.rb +12 -11
  237. data/test/ui/core/forms/files/text_field_test.rb +7 -6
  238. data/test/ui/core/forms/numbers/formula_field_test.rb +7 -6
  239. data/test/ui/core/forms/numbers/number_field_test.rb +12 -11
  240. data/test/ui/core/forms/numbers/range_field_test.rb +12 -11
  241. data/test/ui/core/forms/selects/dropdown_select_field_test.rb +61 -60
  242. data/test/ui/core/forms/selects/multi_column_field_test.rb +14 -13
  243. data/test/ui/core/forms/selects/multi_select_field_test.rb +19 -18
  244. data/test/ui/core/forms/selects/select_field_test.rb +13 -13
  245. data/test/ui/core/forms/surrounds/surround_field_test.rb +54 -54
  246. data/test/ui/core/forms/textareas/markdown_editor_field_test.rb +7 -6
  247. data/test/ui/core/forms/texts/auto_complete_field_test.rb +8 -7
  248. data/test/ui/core/forms/texts/text_field_test.rb +17 -16
  249. data/test/ui/core/icons/glyph_group_test.rb +8 -8
  250. data/test/ui/core/icons/glyph_test.rb +4 -4
  251. data/test/ui/core/icons/star_test.rb +37 -36
  252. data/test/ui/core/layouts/col_test.rb +11 -10
  253. data/test/ui/core/layouts/container_test.rb +3 -2
  254. data/test/ui/core/layouts/row_test.rb +4 -3
  255. data/test/ui/core/lists/list_group_test.rb +7 -6
  256. data/test/ui/core/navigations/breadcrumb_test.rb +12 -14
  257. data/test/ui/core/navigations/link_test.rb +9 -8
  258. data/test/ui/core/navigations/nav_test.rb +22 -21
  259. data/test/ui/core/navigations/navbar_test.rb +11 -11
  260. data/test/ui/core/navigations/pagination_test.rb +14 -13
  261. data/test/ui/core/navigations/tab_group_test.rb +22 -21
  262. data/test/ui/core/navigations/toolbar_test.rb +4 -3
  263. data/test/ui/core/notifications/alert_test.rb +5 -4
  264. data/test/ui/core/notifications/badge_test.rb +5 -4
  265. data/test/ui/core/notifications/progress_bar_test.rb +13 -13
  266. data/test/ui/core/notifications/spinner_test.rb +9 -8
  267. data/test/ui/core/notifications/toast_test.rb +3 -2
  268. data/test/ui/core/windows/modal_test.rb +3 -2
  269. data/test/ui/ux/containers/panel_test.rb +7 -6
  270. data/test/ui/ux/tables/table_test.rb +33 -33
  271. data/test/ui_bibz_test.rb +3 -1
  272. data/ui_bibz.gemspec +32 -28
  273. metadata +73 -42
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ui_bibz/ui/core/boxes/components/body/card_body_text'
2
4
  require 'ui_bibz/ui/core/boxes/components/body/card_body_title'
3
5
  require 'ui_bibz/ui/core/boxes/components/body/card_body_link'
4
6
  module UiBibz::Ui::Core::Boxes::Components
5
-
6
7
  # Create a card body
7
8
  #
8
9
  # ==== Attributes
@@ -33,9 +34,8 @@ module UiBibz::Ui::Core::Boxes::Components
33
34
  # end.render
34
35
  #
35
36
  class CardBody < UiBibz::Ui::Core::Component
36
-
37
37
  # See UiBibz::Ui::Core::Component.initialize
38
- def initialize content = nil, options = nil, html_options = nil, &block
38
+ def initialize(content = nil, options = nil, html_options = nil, &block)
39
39
  super
40
40
  @items = [@content]
41
41
  end
@@ -43,7 +43,7 @@ module UiBibz::Ui::Core::Boxes::Components
43
43
  # Render html tag
44
44
  def pre_render
45
45
  if options[:collapse]
46
- content_tag :div, class: join_classes("collapse", show), id: options[:collapse], "data-parent": "##{ options[:parent_collapse] }" do
46
+ content_tag :div, class: join_classes('collapse', show), id: options[:collapse], "data-parent": "##{options[:parent_collapse]}" do
47
47
  content_tag :div, @items.join.html_safe, html_options
48
48
  end
49
49
  else
@@ -51,31 +51,30 @@ module UiBibz::Ui::Core::Boxes::Components
51
51
  end
52
52
  end
53
53
 
54
- def title content = nil, options = nil, html_options = nil, &block
54
+ def title(content = nil, options = nil, html_options = nil, &block)
55
55
  @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyTitle.new(content, options, html_options, &block).render
56
56
  end
57
57
 
58
- def link content = nil, options = nil, html_options = nil, &block
58
+ def link(content = nil, options = nil, html_options = nil, &block)
59
59
  @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyLink.new(content, options, html_options, &block).render
60
60
  end
61
61
 
62
- def text content = nil, options = nil, html_options = nil, &block
62
+ def text(content = nil, options = nil, html_options = nil, &block)
63
63
  @items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyText.new(content, options, html_options, &block).render
64
64
  end
65
65
 
66
- private
66
+ private
67
67
 
68
68
  def component_html_classes
69
- ["card-body", outline]
69
+ ['card-body', outline]
70
70
  end
71
71
 
72
72
  def outline
73
- "text-#{ @options[:status] }" if @options[:outline]
73
+ "text-#{@options[:status]}" if @options[:outline]
74
74
  end
75
75
 
76
76
  def show
77
- "show" if @options[:show]
77
+ 'show' if @options[:show]
78
78
  end
79
-
80
79
  end
81
80
  end
@@ -1,5 +1,6 @@
1
- module UiBibz::Ui::Core::Boxes::Components
1
+ # frozen_string_literal: true
2
2
 
3
+ module UiBibz::Ui::Core::Boxes::Components
3
4
  # Create a card footer
4
5
  #
5
6
  # ==== Attributes
@@ -30,9 +31,8 @@ module UiBibz::Ui::Core::Boxes::Components
30
31
  # end.render
31
32
  #
32
33
  class CardFooter < UiBibz::Ui::Core::Component
33
-
34
34
  # See UiBibz::Ui::Core::Component.initialize
35
- def initialize content = nil, options = nil, html_options = nil, &block
35
+ def initialize(content = nil, options = nil, html_options = nil, &block)
36
36
  super
37
37
  end
38
38
 
@@ -41,19 +41,18 @@ module UiBibz::Ui::Core::Boxes::Components
41
41
  content_tag :div, glyph_and_content_html, html_options
42
42
  end
43
43
 
44
- private
44
+ private
45
45
 
46
46
  def muted
47
- "text-muted" unless @options[:muted].nil?
47
+ 'text-muted' unless @options[:muted].nil?
48
48
  end
49
49
 
50
50
  def component_html_classes
51
- ["card-footer", muted, outline]
51
+ ['card-footer', muted, outline]
52
52
  end
53
53
 
54
54
  def outline
55
- "text-#{ @options[:status] } border-#{ @options[:status] } bg-transparent" if @options[:outline]
55
+ "text-#{@options[:status]} border-#{@options[:status]} bg-transparent" if @options[:outline]
56
56
  end
57
-
58
57
  end
59
58
  end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ui_bibz/ui/core/boxes/components/card_tab_group'
2
4
  module UiBibz::Ui::Core::Boxes::Components
3
-
4
5
  # Create a card header
5
6
  #
6
7
  # ==== Attributes
@@ -38,9 +39,8 @@ module UiBibz::Ui::Core::Boxes::Components
38
39
  # end.render
39
40
  #
40
41
  class CardHeader < UiBibz::Ui::Core::Component
41
-
42
42
  # See UiBibz::Ui::Core::Component.initialize
43
- def initialize content = nil, options = nil, html_options = nil, &block
43
+ def initialize(content = nil, options = nil, html_options = nil, &block)
44
44
  super
45
45
  end
46
46
 
@@ -49,23 +49,22 @@ module UiBibz::Ui::Core::Boxes::Components
49
49
  content_tag :div, glyph_and_content_html, html_options
50
50
  end
51
51
 
52
- def tab_group content = nil, options = nil, html_options = nil, &block
53
- if is_tap(content, options)
54
- @content = CardTabGroup.new(content, options, html_options).tap(&block).render
55
- else
56
- @content = CardTabGroup.new(content, options, html_options, &block).render
57
- end
52
+ def tab_group(content = nil, options = nil, html_options = nil, &block)
53
+ @content = if tap?(content, options)
54
+ CardTabGroup.new(content, options, html_options).tap(&block).render
55
+ else
56
+ CardTabGroup.new(content, options, html_options, &block).render
57
+ end
58
58
  end
59
59
 
60
- private
60
+ private
61
61
 
62
62
  def component_html_classes
63
- ["card-header", outline]
63
+ ['card-header', outline]
64
64
  end
65
65
 
66
66
  def outline
67
- "text-#{ @options[:status] } border-#{ @options[:status] } bg-transparent" if @options[:outline]
67
+ "text-#{@options[:status]} border-#{@options[:status]} bg-transparent" if @options[:outline]
68
68
  end
69
-
70
69
  end
71
70
  end
@@ -1,5 +1,6 @@
1
- module UiBibz::Ui::Core::Boxes::Components
1
+ # frozen_string_literal: true
2
2
 
3
+ module UiBibz::Ui::Core::Boxes::Components
3
4
  # Create a card image
4
5
  #
5
6
  # ==== Attributes
@@ -32,27 +33,25 @@ module UiBibz::Ui::Core::Boxes::Components
32
33
  # end.render
33
34
  #
34
35
  class CardImage < UiBibz::Ui::Core::Component
35
-
36
36
  # See UiBibz::Ui::Core::Component.initialize
37
- def initialize content = nil, options = nil, html_options = nil, &block
37
+ def initialize(content = nil, options = nil, html_options = nil, &block)
38
38
  super
39
39
  end
40
40
 
41
41
  # Render html tag
42
42
  def pre_render
43
- #image_tag content, html_options
43
+ # image_tag content, html_options
44
44
  image_tag content, html_options
45
45
  end
46
46
 
47
- private
47
+ private
48
48
 
49
49
  def component_html_classes
50
50
  position
51
51
  end
52
52
 
53
53
  def position
54
- "card-img-#{ @options[:position] || :top }"
54
+ "card-img-#{@options[:position] || :top}"
55
55
  end
56
-
57
56
  end
58
57
  end
@@ -1,5 +1,6 @@
1
- module UiBibz::Ui::Core::Boxes::Components
1
+ # frozen_string_literal: true
2
2
 
3
+ module UiBibz::Ui::Core::Boxes::Components
3
4
  # Create a card list_group
4
5
  #
5
6
  # ==== Attributes
@@ -30,9 +31,8 @@ module UiBibz::Ui::Core::Boxes::Components
30
31
  # end.render
31
32
  #
32
33
  class CardListGroup < UiBibz::Ui::Core::Lists::ListGroup
33
-
34
34
  # See UiBibz::Ui::Core::Component.initialize
35
- def initialize content = nil, options = nil, html_options = nil, &block
35
+ def initialize(content = nil, options = nil, html_options = nil, &block)
36
36
  super
37
37
  @lists = []
38
38
  end
@@ -40,8 +40,7 @@ module UiBibz::Ui::Core::Boxes::Components
40
40
  protected
41
41
 
42
42
  def component_html_classes
43
- ["list-group-flush", "list-group"]
43
+ %w[list-group-flush list-group]
44
44
  end
45
-
46
45
  end
47
46
  end
@@ -1,5 +1,6 @@
1
- module UiBibz::Ui::Core::Boxes::Components
1
+ # frozen_string_literal: true
2
2
 
3
+ module UiBibz::Ui::Core::Boxes::Components
3
4
  # Create a card tab group
4
5
  #
5
6
  # This element is an extend of UiBibz::Ui::Core::Navigation::TabGroup.
@@ -11,16 +12,14 @@ module UiBibz::Ui::Core::Boxes::Components
11
12
  # * +html_options+ - Html Options of element
12
13
  #
13
14
  class CardTabGroup < UiBibz::Ui::Core::Navigations::TabGroup
14
-
15
- def initialize content = nil, options = nil, html_options = nil, &block
15
+ def initialize(content = nil, options = nil, html_options = nil, &block)
16
16
  super
17
17
  end
18
18
 
19
- private
19
+ private
20
20
 
21
21
  def component_html_classes
22
- super << "card-header-tabs"
22
+ super << 'card-header-tabs'
23
23
  end
24
-
25
24
  end
26
25
  end
@@ -1,5 +1,6 @@
1
- module UiBibz::Ui::Core::Boxes
1
+ # frozen_string_literal: true
2
2
 
3
+ module UiBibz::Ui::Core::Boxes
3
4
  # Create a jumbotron
4
5
  #
5
6
  # This element is an extend of UiBibz::Ui::Core::Component.
@@ -41,9 +42,8 @@ module UiBibz::Ui::Core::Boxes
41
42
  # end
42
43
  #
43
44
  class Jumbotron < UiBibz::Ui::Core::Component
44
-
45
45
  # See UiBibz::Ui::Core::Boxes::Component.initialize
46
- def initialize content = nil, options = nil, html_options = nil, &block
46
+ def initialize(content = nil, options = nil, html_options = nil, &block)
47
47
  super
48
48
  end
49
49
 
@@ -58,15 +58,14 @@ module UiBibz::Ui::Core::Boxes
58
58
  end
59
59
  end
60
60
 
61
- private
61
+ private
62
62
 
63
63
  def component_html_classes
64
64
  ['jumbotron', fluid]
65
65
  end
66
66
 
67
67
  def fluid
68
- "jumbotron-fluid" unless options[:fluid].nil?
68
+ 'jumbotron-fluid' unless options[:fluid].nil?
69
69
  end
70
-
71
70
  end
72
71
  end
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'haml'
2
4
  require 'ui_bibz/ui/extensions/core/component/klass_extension'
3
5
  require 'ui_bibz/ui/extensions/core/component/glyph_extension'
4
6
  require 'ui_bibz/ui/extensions/core/component/popover_extension'
5
7
  module UiBibz::Ui::Core
6
-
7
8
  # Creates a component of the given +name+ using options created by the set of +options+.
8
9
  #
9
10
  # ==== Attributes
@@ -16,7 +17,7 @@ module UiBibz::Ui::Core
16
17
  #
17
18
  # You can add HTML attributes using the +html_options+.
18
19
  # You can pass arguments in options attribute:
19
- # * +status+ - status of élement with symbol value:
20
+ # * +status+ - status of element with symbol value:
20
21
  # (+:default+, +:primary+, +:info+, +:warning+, +:danger+)
21
22
  # * +glyph+ - Add glyph with name or hash options
22
23
  # * +name+ - String
@@ -45,8 +46,8 @@ module UiBibz::Ui::Core
45
46
  include PopoverExtension
46
47
 
47
48
  # Constants
48
- STATUSES = %i(primary secondary success danger warning info light dark)
49
- SIZES = %i(lg md sm)
49
+ STATUSES = %i[primary secondary success danger warning info light dark].freeze
50
+ SIZES = %i[lg md sm].freeze
50
51
 
51
52
  attr_accessor :content, :html_options, :options
52
53
 
@@ -55,22 +56,24 @@ module UiBibz::Ui::Core
55
56
  # if a block is sent, variable 'content' does not exit.
56
57
  # * Options of component is defined in hash options
57
58
  # * Html options is defined in hash html_options
58
- def initialize content = nil, options = nil, html_options = nil, &block
59
+ def initialize(content = nil, options = nil, html_options = nil, &block)
59
60
  if !block.nil?
60
- @html_options, @options = options, content
61
+ @html_options = options
62
+ @options = content
61
63
  read_cache = Rails.cache.read(@options.try(:[], :cache))
62
64
  if read_cache.nil?
63
- context = eval("self", block.binding)
65
+ context = eval('self', block.binding) # rubocop:disable Style/EvalWithLocation
64
66
  @content = context.capture(&block)
65
67
  else
66
68
  @content = read_cache
67
69
  end
70
+ elsif content.is_a?(Hash)
71
+ @html_options = options
72
+ @options = content
68
73
  else
69
- if content.kind_of?(Hash)
70
- @html_options, @options = options, content
71
- else
72
- @html_options, @options, @content = html_options, options, content
73
- end
74
+ @html_options = html_options
75
+ @options = options
76
+ @content = content
74
77
  end
75
78
  @html_options = (@html_options || {}).with_indifferent_access
76
79
  @options = (@options || {}).with_indifferent_access
@@ -89,11 +92,11 @@ module UiBibz::Ui::Core
89
92
  end
90
93
 
91
94
  # Know if component is tapped or not
92
- def is_tap content, options
93
- (content[:tap] if content.kind_of?(Hash)) || (options[:tap] unless options.nil?)
95
+ def tap?(content, options)
96
+ (content[:tap] if content.is_a?(Hash)) || (options[:tap] unless options.nil?)
94
97
  end
95
98
 
96
- protected
99
+ protected
97
100
 
98
101
  # Override this method to add html classes
99
102
  # Accept Array or String
@@ -136,17 +139,17 @@ module UiBibz::Ui::Core
136
139
  end
137
140
 
138
141
  # Add html data arguments
139
- def add_html_data name, value = true
142
+ def add_html_data(name, value = true)
140
143
  html_options[:data] = {} if html_options[:data].nil?
141
- value = value.kind_of?(String) ? value.strip : value
144
+ value = value.is_a?(String) ? value.strip : value
142
145
  html_options[:data].update(Hash[name, value])
143
146
  end
144
147
 
145
- def is_disabled?
148
+ def disabled?
146
149
  options[:state] == :disabled || html_options[:disabled]
147
150
  end
148
151
 
149
- private
152
+ private
150
153
 
151
154
  def render_with_or_without_cache
152
155
  if options[:cache]
@@ -182,6 +185,5 @@ module UiBibz::Ui::Core
182
185
  initialize_component_html_classes
183
186
  initialize_component_html_options
184
187
  end
185
-
186
188
  end
187
189
  end
@@ -1,5 +1,6 @@
1
- module UiBibz::Ui::Core::Forms::Buttons
1
+ # frozen_string_literal: true
2
2
 
3
+ module UiBibz::Ui::Core::Forms::Buttons
3
4
  # Create a button
4
5
  #
5
6
  # This element is an extend of UiBibz::Ui::Core::Component.
@@ -14,7 +15,7 @@ module UiBibz::Ui::Core::Forms::Buttons
14
15
  #
15
16
  # You can add HTML attributes using the +html_options+.
16
17
  # You can pass arguments in options attribute:
17
- # * +status+ - status of élement with symbol value:
18
+ # * +status+ - status of element with symbol value:
18
19
  # (+:primary+, +:secondary+, +:info+, +:warning+, +:danger+, +:link+)
19
20
  # * +size+
20
21
  # (+:xs+, +:sm+, +:lg+)
@@ -52,13 +53,12 @@ module UiBibz::Ui::Core::Forms::Buttons
52
53
  # content
53
54
  # end
54
55
  class Button < UiBibz::Ui::Core::Component
55
-
56
56
  # Render html tag
57
57
  def pre_render
58
58
  button_html_tag
59
59
  end
60
60
 
61
- protected
61
+ protected
62
62
 
63
63
  def button_html_tag
64
64
  content_tag :button, html_options do
@@ -85,34 +85,34 @@ module UiBibz::Ui::Core::Forms::Buttons
85
85
  # Must be flat hash not deep hash
86
86
  {
87
87
  "data-toggle": :collapse,
88
- "data-target": "##{ options[:collapse] }",
88
+ "data-target": "##{options[:collapse]}",
89
89
  "aria-controls": options[:collapse],
90
90
  "aria-expanded": options[:expand_collapse].nil? ? false : options[:expand_collapse]
91
91
  }
92
92
  end
93
93
 
94
94
  def status
95
- ["btn", outline, options[:status] || "secondary"].compact.join('-')
95
+ ['btn', outline, options[:status] || 'secondary'].compact.join('-')
96
96
  end
97
97
 
98
98
  def outline
99
- "outline" unless options[:outline].nil?
99
+ 'outline' unless options[:outline].nil?
100
100
  end
101
101
 
102
102
  def toggle
103
- { "data-toggle" => 'button', "aria-pressed" => false, "autocomplete" => "off" }
103
+ { 'data-toggle' => 'button', 'aria-pressed' => false, 'autocomplete' => 'off' }
104
104
  end
105
105
 
106
106
  def active_html_options
107
- { "aria-pressed" => true }
107
+ { 'aria-pressed' => true }
108
108
  end
109
109
 
110
110
  def type
111
- "btn-block" if options[:type] == :block
111
+ 'btn-block' if options[:type] == :block
112
112
  end
113
113
 
114
114
  def without_text
115
- "without-text" unless options[:text].nil?
115
+ 'without-text' unless options[:text].nil?
116
116
  end
117
117
 
118
118
  def action
@@ -120,7 +120,7 @@ module UiBibz::Ui::Core::Forms::Buttons
120
120
  end
121
121
 
122
122
  def badge_html
123
- if options[:badge].kind_of? Hash
123
+ if options[:badge].is_a? Hash
124
124
  options[:badge][:status] = options[:badge][:status] || options[:status] || :secondary
125
125
  UiBibz::Ui::Core::Notifications::Badge.new(options[:badge].delete(:content), options[:badge]).render
126
126
 
@@ -131,15 +131,14 @@ module UiBibz::Ui::Core::Forms::Buttons
131
131
 
132
132
  def spinner_html
133
133
  opts = { size: :sm, tag: :span, class: options[:text] == false ? nil : 'mr-2' }
134
- opts = opts.merge(options[:spinner]) if options[:spinner].kind_of? Hash
134
+ opts = opts.merge(options[:spinner]) if options[:spinner].is_a? Hash
135
135
 
136
136
  UiBibz::Ui::Core::Notifications::Spinner.new(nil, opts).render
137
137
  end
138
138
 
139
139
  # :lg, :sm or :xs
140
140
  def size
141
- "btn-#{ options[:size] }" if options[:size]
141
+ "btn-#{options[:size]}" if options[:size]
142
142
  end
143
-
144
143
  end
145
144
  end