ui_bibz 2.4.0 → 2.5.0

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 (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,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ui_bibz/ui/ux/containers/components/panel_header'
2
4
  require 'ui_bibz/ui/ux/containers/components/panel_body'
3
5
  require 'ui_bibz/ui/ux/containers/components/panel_footer'
@@ -6,7 +8,6 @@ require 'ui_bibz/ui/ux/containers/components/panel_deck'
6
8
  require 'ui_bibz/ui/ux/containers/components/panel_group'
7
9
  require 'ui_bibz/ui/ux/containers/components/panel_column'
8
10
  module UiBibz::Ui::Ux::Containers
9
-
10
11
  # Create a Panel
11
12
  #
12
13
  # This element is an extend of UiBibz::Ui::Core::Boxes::Card
@@ -38,8 +39,7 @@ module UiBibz::Ui::Ux::Containers
38
39
  # end
39
40
  #
40
41
  class Panel < UiBibz::Ui::Core::Component
41
-
42
- def initialize content = nil, options = nil, html_options = nil, &block
42
+ def initialize(content = nil, options = nil, html_options = nil, &block)
43
43
  super
44
44
  @items = []
45
45
  end
@@ -48,46 +48,46 @@ module UiBibz::Ui::Ux::Containers
48
48
  content_tag :div, html_structure, html_options
49
49
  end
50
50
 
51
- def toolbar content = nil, options = nil, html_options = nil, &block
51
+ def toolbar(content = nil, options = nil, html_options = nil, &block)
52
52
  @items << UiBibz::Ui::Ux::Containers::Components::PanelToolbar.new(content, options, html_options).tap(&block).render
53
53
  end
54
54
 
55
- def deck content = nil, options = nil, html_options = nil, &block
55
+ def deck(content = nil, options = nil, html_options = nil, &block)
56
56
  @items << UiBibz::Ui::Ux::Containers::Components::PanelDeck.new(content, options, html_options).tap(&block).render
57
57
  end
58
58
 
59
- def column content = nil, options = nil, html_options = nil, &block
59
+ def column(content = nil, options = nil, html_options = nil, &block)
60
60
  @items << UiBibz::Ui::Ux::Containers::Components::PanelColumn.new(content, options, html_options).tap(&block).render
61
61
  end
62
62
 
63
- def group content = nil, options = nil, html_options = nil, &block
63
+ def group(content = nil, options = nil, html_options = nil, &block)
64
64
  @items << UiBibz::Ui::Ux::Containers::Components::PanelGroup.new(content, options, html_options).tap(&block).render
65
65
  end
66
66
 
67
- def panel content = nil, options = nil, html_options = nil, &block
67
+ def panel(content = nil, options = nil, html_options = nil, &block)
68
68
  @items << UiBibz::Ui::Ux::Containers::Panel.new(content, options, html_options).tap(&block).render
69
69
  end
70
70
 
71
- def body content = nil, options = nil, html_options = nil, &block
71
+ def body(content = nil, options = nil, html_options = nil, &block)
72
72
  @items << UiBibz::Ui::Ux::Containers::Components::PanelBody.new(content, options, html_options, &block).render
73
73
  end
74
74
 
75
75
  # Add Header which is a component
76
- def header content = nil, options = nil, html_options = nil, &block
77
- if is_tap(content, options)
78
- @header = UiBibz::Ui::Ux::Containers::Components::PanelHeader.new(content, options, html_options).tap(&block).render
79
- else
80
- @header = UiBibz::Ui::Ux::Containers::Components::PanelHeader.new(content, options, html_options, &block).render
81
- end
76
+ def header(content = nil, options = nil, html_options = nil, &block)
77
+ @header = if tap?(content, options)
78
+ UiBibz::Ui::Ux::Containers::Components::PanelHeader.new(content, options, html_options).tap(&block).render
79
+ else
80
+ UiBibz::Ui::Ux::Containers::Components::PanelHeader.new(content, options, html_options, &block).render
81
+ end
82
82
  end
83
83
 
84
84
  # Add Header which is a component
85
- def footer content = nil, options = nil, html_options = nil, &block
86
- if is_tap(content, options)
87
- @footer = UiBibz::Ui::Ux::Containers::Components::PanelFooter.new(content, options, html_options).tap(&block).render
88
- else
89
- @footer = UiBibz::Ui::Ux::Containers::Components::PanelFooter.new(content, options, html_options, &block).render
90
- end
85
+ def footer(content = nil, options = nil, html_options = nil, &block)
86
+ @footer = if tap?(content, options)
87
+ UiBibz::Ui::Ux::Containers::Components::PanelFooter.new(content, options, html_options).tap(&block).render
88
+ else
89
+ UiBibz::Ui::Ux::Containers::Components::PanelFooter.new(content, options, html_options, &block).render
90
+ end
91
91
  end
92
92
 
93
93
  private
@@ -99,6 +99,5 @@ module UiBibz::Ui::Ux::Containers
99
99
  def component_html_classes
100
100
  super << 'panel'
101
101
  end
102
-
103
102
  end
104
103
  end
@@ -1,17 +1,18 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ui_bibz/ui/core/forms/dropdowns/components/dropdown_header'
2
4
  require 'ui_bibz/ui/core/forms/dropdowns/components/dropdown_divider'
3
5
  require 'ui_bibz/ui/core/forms/dropdowns/components/dropdown_link'
4
6
  module UiBibz::Ui::Ux::Tables
5
7
  class Actions
6
-
7
- def initialize store
8
+ def initialize(store)
8
9
  @store = store
9
10
  @actions = []
10
11
  @action_order = -1
11
12
  end
12
13
 
13
14
  # Add link action in table
14
- def link content = nil, options = nil, html_options = nil, &block
15
+ def link(content = nil, options = nil, html_options = nil, &block)
15
16
  @actions << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownLink.new(content, options, html_options, &block).render
16
17
  end
17
18
 
@@ -19,11 +20,11 @@ module UiBibz::Ui::Ux::Tables
19
20
  @actions << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownDivider.new.render
20
21
  end
21
22
 
22
- def header content = nil, options = nil, html_options = nil, &block
23
+ def header(content = nil, options = nil, html_options = nil, &block)
23
24
  @actions << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownHeader.new(content, options, html_options, &block).render
24
25
  end
25
26
 
26
- def html content
27
+ def html(content)
27
28
  @actions << content
28
29
  end
29
30
 
@@ -31,7 +32,7 @@ module UiBibz::Ui::Ux::Tables
31
32
  @actions = []
32
33
  end
33
34
 
34
- def format &block
35
+ def format(&block)
35
36
  @format_action = block
36
37
  end
37
38
 
@@ -44,34 +45,31 @@ module UiBibz::Ui::Ux::Tables
44
45
  @actions
45
46
  end
46
47
 
47
- def format_action
48
- @format_action
49
- end
48
+ attr_reader :format_action
50
49
 
51
- private
50
+ private
52
51
 
53
52
  def defaults_actions
54
53
  [
55
54
  UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownLink.new(show_name, url: { controller: @store.controller, action: 'show', id: :id }, glyph: 'eye').render,
56
- UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownLink.new(edit_name, url:{ controller: @store.controller, action: 'edit', id: :id }, glyph: 'pencil').render,
57
- UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownLink.new(delete_name, { glyph: 'trash', url: { controller: @store.controller, action: 'destroy', id: :id }, link_html_options: { data: { confirm: 'Are you sure?', method: :delete }}}).render
55
+ UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownLink.new(edit_name, url: { controller: @store.controller, action: 'edit', id: :id }, glyph: 'pencil').render,
56
+ UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownLink.new(delete_name, { glyph: 'trash', url: { controller: @store.controller, action: 'destroy', id: :id }, link_html_options: { data: { confirm: 'Are you sure?', method: :delete } } }).render
58
57
  ]
59
58
  end
60
59
 
61
60
  def show_name
62
61
  defaults = ['ui_bibz.table.actions.defaults.show', 'Show']
63
- UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{ @store.model.to_s.underscore }.show", default: defaults).translate
62
+ UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{@store.model.to_s.underscore}.show", default: defaults).translate
64
63
  end
65
64
 
66
65
  def edit_name
67
66
  defaults = ['ui_bibz.table.actions.defaults.edit', 'Edit']
68
- UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{ @store.model.to_s.underscore }.edit", default: defaults).translate
67
+ UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{@store.model.to_s.underscore}.edit", default: defaults).translate
69
68
  end
70
69
 
71
70
  def delete_name
72
71
  defaults = ['ui_bibz.table.actions.defaults.delete', 'Delete']
73
- UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{ @store.model.to_s.underscore }.delete", default: defaults).translate
72
+ UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{@store.model.to_s.underscore}.delete", default: defaults).translate
74
73
  end
75
-
76
74
  end
77
75
  end
@@ -1,10 +1,10 @@
1
- module UiBibz::Ui::Ux::Tables
1
+ # frozen_string_literal: true
2
2
 
3
+ module UiBibz::Ui::Ux::Tables
3
4
  # As
4
5
  #
5
6
  class As
6
-
7
- def initialize col, record, content, table_options
7
+ def initialize(col, record, content, table_options)
8
8
  @col = col
9
9
  @record = record
10
10
  @content = content
@@ -26,17 +26,16 @@ module UiBibz::Ui::Ux::Tables
26
26
  private
27
27
 
28
28
  def boolean_render
29
- if @content == true
30
- glyph = UiBibz::Ui::Core::Icons::Glyph.new('check-circle', status: :success)
31
- else
32
- glyph = UiBibz::Ui::Core::Icons::Glyph.new('minus-circle', status: :danger)
33
- end
29
+ glyph = if @content == true
30
+ UiBibz::Ui::Core::Icons::Glyph.new('check-circle', status: :success)
31
+ else
32
+ UiBibz::Ui::Core::Icons::Glyph.new('minus-circle', status: :danger)
33
+ end
34
34
  glyph.render
35
35
  end
36
36
 
37
37
  def progress_render
38
38
  UiBibz::Ui::Core::Notifications::ProgressBar.new(@content, @col.progress_options).render
39
39
  end
40
-
41
40
  end
42
41
  end
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module UiBibz::Ui::Ux::Tables
2
4
  class Column < UiBibz::Ui::Core::Component
5
+ attr_accessor :hidden, :link, :name, :input_options, :class, :as, :data_index, :date_format, :sort, :format, :count, :custom_sort, :parent, :id, :progress_options
3
6
 
4
- attr_accessor :hidden, :link, :name, :input_options, :class, :as, :data_index, :date_format, :sort, :format, :date_format, :count, :custom_sort, :parent, :id, :progress_options
5
-
6
- def initialize content = nil, options = nil, html_options = nil, &block
7
+ def initialize(content = nil, options = nil, html_options = nil, &block)
7
8
  super
8
9
  @data_index = @content
9
10
  @id = @options[:column_id] || @data_index
@@ -34,6 +35,5 @@ module UiBibz::Ui::Ux::Tables
34
35
  def hidden?
35
36
  @hidden == true
36
37
  end
37
-
38
38
  end
39
39
  end
@@ -1,12 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module UiBibz::Ui::Ux::Tables
2
4
  class Columns
3
-
4
- def initialize columns = nil
5
+ def initialize(columns = nil)
5
6
  @columns = columns || []
6
7
  end
7
8
 
8
9
  # Add column in table
9
- def column data_index = nil, options = nil, html_options = nil, &block
10
+ def column(data_index = nil, options = nil, html_options = nil, &block)
10
11
  @columns << Column.new(data_index, options, html_options, &block)
11
12
  end
12
13
 
@@ -1,12 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ui_bibz/ui/ux/tables/components/columns'
2
4
  require 'ui_bibz/ui/ux/tables/components/column'
3
5
  module UiBibz::Ui::Ux::Tables
4
6
  class Store
5
-
6
7
  attr_accessor :records
7
8
 
8
9
  # Store Use WillPaginate store methods
9
- def initialize store
10
+ def initialize(store)
10
11
  @records = store.records
11
12
  @store = store
12
13
  @model = store.model
@@ -53,12 +54,10 @@ module UiBibz::Ui::Ux::Tables
53
54
  end
54
55
 
55
56
  def columns
56
- @columns ||= Columns.new model.new.attributes.keys.map{ |record| Column.new(record, { name: record.humanize }) }
57
+ @columns ||= Columns.new(model.new.attributes.keys.map { |record| Column.new(record, { name: record.humanize }) })
57
58
  end
58
59
 
59
- def model
60
- @model
61
- end
60
+ attr_reader :model
62
61
 
63
62
  def search
64
63
  @store.search
@@ -83,6 +82,5 @@ module UiBibz::Ui::Ux::Tables
83
82
  def param_id
84
83
  @store.param_id
85
84
  end
86
-
87
85
  end
88
86
  end
@@ -1,5 +1,6 @@
1
- module UiBibz::Ui::Ux::Tables
1
+ # frozen_string_literal: true
2
2
 
3
+ module UiBibz::Ui::Ux::Tables
3
4
  # Create a Thead
4
5
  #
5
6
  # This element is an extend of UiBibz::Ui::Core::Component.
@@ -14,7 +15,7 @@ module UiBibz::Ui::Ux::Tables
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
  # (+:inverse+, +:default+)
19
20
  #
20
21
  # ==== Signatures
@@ -30,9 +31,8 @@ module UiBibz::Ui::Ux::Tables
30
31
  # UiBibz::Ui::Ux::Thead.new(content, { status: :inverse }).render
31
32
  #
32
33
  class Thead < 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
 
@@ -44,8 +44,7 @@ module UiBibz::Ui::Ux::Tables
44
44
  private
45
45
 
46
46
  def status
47
- "thead-#{ @options[:status] }" unless @options[:status].nil?
47
+ "thead-#{@options[:status]}" unless @options[:status].nil?
48
48
  end
49
-
50
49
  end
51
50
  end
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module UiBibz::Ui::Ux::Tables
2
4
  class Actionable < UiBibz::Ui::Base
3
-
4
- def initialize store, options, actions = nil
5
+ def initialize(store, options, actions = nil)
5
6
  @store = store
6
7
  @options = options
7
8
  @actions = actions
@@ -11,35 +12,36 @@ module UiBibz::Ui::Ux::Tables
11
12
  @options[:actionable].nil? ? true : @options[:actionable]
12
13
  end
13
14
 
14
- def header ths
15
+ def header(ths)
15
16
  ths << content_tag(:th, '', class: 'action') if actionable?
16
17
  ths
17
18
  end
18
19
 
19
- def body record, tds
20
+ def body(record, tds)
20
21
  tds << td_action(record) if actionable?
21
22
  tds
22
23
  end
23
24
 
24
- private
25
+ private
25
26
 
26
27
  def default_actions?
27
28
  @options[:default_actions].nil? ? true : @options[:default_actions]
28
29
  end
29
30
 
30
- def dropdown_action record
31
- unless @actions.nil?
32
- @actions.format_action.call(record) unless @actions.format_action.nil?
33
- unless (default_actions? != true && @actions.raw_list.empty?)
34
- UiBibz::Ui::Core::Forms::Dropdowns::Dropdown.new(dropdown_action_name, { position: :right, size: :sm, glyph: actions_glyph }, { class: 'dropdown-action' }).tap do |d|
35
- actions_links(record).each do |l|
36
- d.html l.to_s.html_safe
37
- end
38
- # Maybe remove this line
39
- @actions.reset unless @actions.format_action.nil?
40
- end.render
31
+ def dropdown_action(record)
32
+ return if @action.nil?
33
+
34
+ @actions.format_action&.call(record)
35
+
36
+ return if default_actions? != true && @actions.raw_list.empty?
37
+
38
+ UiBibz::Ui::Core::Forms::Dropdowns::Dropdown.new(dropdown_action_name, { position: :right, size: :sm, glyph: actions_glyph }, { class: 'dropdown-action' }).tap do |d|
39
+ actions_links(record).each do |l|
40
+ d.html l.to_s.html_safe
41
41
  end
42
- end
42
+ # Maybe remove this line
43
+ @actions.reset unless @actions.format_action.nil?
44
+ end.render
43
45
  end
44
46
 
45
47
  def actions_glyph
@@ -47,17 +49,16 @@ module UiBibz::Ui::Ux::Tables
47
49
  end
48
50
 
49
51
  def dropdown_action_name
50
- defaults = ["ui_bibz.table.actions.defaults.title", 'Actions']
51
- UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{ @store.model.to_s.underscore }.title", default: defaults).translate
52
+ defaults = ['ui_bibz.table.actions.defaults.title', 'Actions']
53
+ UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{@store.model.to_s.underscore}.title", default: defaults).translate
52
54
  end
53
55
 
54
- def actions_links record
55
- @actions.list.compact.map{ |l| inject_url(l, record) }
56
+ def actions_links(record)
57
+ @actions.list.compact.map { |l| inject_url(l, record) }
56
58
  end
57
59
 
58
- def td_action record
60
+ def td_action(record)
59
61
  content_tag :td, dropdown_action(record)
60
62
  end
61
-
62
63
  end
63
64
  end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module UiBibz::Ui::Ux::Tables
2
4
  class Paginable < UiBibz::Ui::Base
3
5
  include WillPaginate::ActionView
4
6
 
5
- def initialize store, options, html_options = nil
7
+ def initialize(store, options, html_options = nil)
6
8
  @store = store
7
9
  @options = options
8
10
  @html_options = html_options
@@ -21,17 +23,13 @@ module UiBibz::Ui::Ux::Tables
21
23
  @options[:paginable].nil? ? true : @options[:paginable]
22
24
  end
23
25
 
24
- private
26
+ private
25
27
 
26
28
  def store
27
- @store ||= if @search_field.options[:store].nil?
28
- raise 'Store is nil!'
29
- elsif @search_field.options[:store].try(:records).nil?
30
- raise 'Store can be created only with "table_search_pagination" method!'
31
- else
32
- Store.new @search_field.options.delete :store
33
- end
34
- end
29
+ raise 'Store is nil!' if @search_field.options[:store].nil?
30
+ raise 'Store can be created only with "table_search_pagination" method!' if @search_field.options[:store].try(:records).nil?
35
31
 
32
+ @store ||= Store.new @search_field.options[:store]
33
+ end
36
34
  end
37
35
  end