ui_bibz 2.4.0 → 2.5.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (302) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +4 -0
  3. data/.github/workflows/ruby.yml +2 -2
  4. data/.overcommit.yml +5 -0
  5. data/.rubocop.yml +87 -0
  6. data/.rubocop_todo.yml +25 -0
  7. data/Gemfile +5 -3
  8. data/Gemfile.lock +99 -56
  9. data/README.md +1 -0
  10. data/Rakefile +8 -6
  11. data/app/assets/stylesheets/fix_addon.sass +0 -1
  12. data/config/initializers/simple_form_init.rb +3 -1
  13. data/config/initializers/will_paginate.rb +11 -6
  14. data/lib/generators/ui_bibz/install_generator.rb +6 -5
  15. data/lib/generators/ui_bibz/templates/ui_bibz_initializer.rb +1 -1
  16. data/lib/tasks/ui_bibz_tasks.rake +2 -0
  17. data/lib/ui_bibz.rb +91 -100
  18. data/lib/ui_bibz/concerns/models/searchable.rb +56 -61
  19. data/lib/ui_bibz/helpers/ui/core/boxes_helper.rb +9 -9
  20. data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +26 -26
  21. data/lib/ui_bibz/helpers/ui/core/icons_helper.rb +6 -6
  22. data/lib/ui_bibz/helpers/ui/core/layouts_helper.rb +5 -5
  23. data/lib/ui_bibz/helpers/ui/core/lists_helper.rb +5 -4
  24. data/lib/ui_bibz/helpers/ui/core/navigations_helper.rb +9 -9
  25. data/lib/ui_bibz/helpers/ui/core/notifications_helper.rb +11 -11
  26. data/lib/ui_bibz/helpers/ui/core/windows_helper.rb +3 -3
  27. data/lib/ui_bibz/helpers/ui/core_helper.rb +2 -0
  28. data/lib/ui_bibz/helpers/ui/ux_helper.rb +12 -12
  29. data/lib/ui_bibz/helpers/utils_helper.rb +8 -11
  30. data/lib/ui_bibz/infos.rb +9 -7
  31. data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +40 -39
  32. data/lib/ui_bibz/inputs/ui_bibz_inputs/base_input.rb +6 -5
  33. data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +8 -6
  34. data/lib/ui_bibz/inputs/ui_bibz_inputs/string_input.rb +18 -18
  35. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_auto_complete_field_input.rb +3 -2
  36. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_box_switch_field_input.rb +3 -2
  37. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_checkbox_field_input.rb +3 -2
  38. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_choice_group_input.rb +6 -5
  39. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_date_picker_field_input.rb +3 -2
  40. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_dropdown_select_field_input.rb +3 -3
  41. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_file_field_input.rb +3 -2
  42. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_formula_field_input.rb +5 -4
  43. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_markdown_editor_field_input.rb +3 -2
  44. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_column_field_input.rb +3 -2
  45. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_select_field_input.rb +3 -3
  46. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_number_field_input.rb +4 -2
  47. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_radio_field_input.rb +7 -7
  48. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_range_field_input.rb +3 -2
  49. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_select_field_input.rb +4 -2
  50. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_switch_field_input.rb +3 -2
  51. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +9 -2
  52. data/lib/ui_bibz/rails/engine.rb +11 -15
  53. data/lib/ui_bibz/ui/base.rb +10 -6
  54. data/lib/ui_bibz/ui/core/boxes/card.rb +31 -32
  55. data/lib/ui_bibz/ui/core/boxes/card_accordion.rb +7 -8
  56. data/lib/ui_bibz/ui/core/boxes/card_column.rb +11 -12
  57. data/lib/ui_bibz/ui/core/boxes/card_deck.rb +11 -12
  58. data/lib/ui_bibz/ui/core/boxes/card_group.rb +11 -12
  59. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_link.rb +5 -6
  60. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_text.rb +5 -6
  61. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_title.rb +5 -6
  62. data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +11 -12
  63. data/lib/ui_bibz/ui/core/boxes/components/card_footer.rb +7 -8
  64. data/lib/ui_bibz/ui/core/boxes/components/card_header.rb +12 -13
  65. data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +6 -7
  66. data/lib/ui_bibz/ui/core/boxes/components/card_list_group.rb +4 -5
  67. data/lib/ui_bibz/ui/core/boxes/components/card_tab_group.rb +5 -6
  68. data/lib/ui_bibz/ui/core/boxes/jumbotron.rb +5 -6
  69. data/lib/ui_bibz/ui/core/component.rb +22 -20
  70. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +14 -15
  71. data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +14 -15
  72. data/lib/ui_bibz/ui/core/forms/buttons/button_link.rb +5 -6
  73. data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +11 -11
  74. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_dropdown.rb +5 -6
  75. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_split_dropdown.rb +5 -6
  76. data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +5 -6
  77. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +10 -11
  78. data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +8 -9
  79. data/lib/ui_bibz/ui/core/forms/choices/components/choice.rb +5 -6
  80. data/lib/ui_bibz/ui/core/forms/choices/radio_field.rb +6 -7
  81. data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +4 -5
  82. data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +22 -23
  83. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_divider.rb +3 -5
  84. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_header.rb +4 -5
  85. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_link.rb +6 -7
  86. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +21 -22
  87. data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +8 -9
  88. data/lib/ui_bibz/ui/core/forms/files/file_field.rb +5 -6
  89. data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +10 -11
  90. data/lib/ui_bibz/ui/core/forms/numbers/number_field.rb +3 -4
  91. data/lib/ui_bibz/ui/core/forms/numbers/range_field.rb +3 -4
  92. data/lib/ui_bibz/ui/core/forms/selects/abstract_select.rb +9 -9
  93. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +6 -7
  94. data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +9 -10
  95. data/lib/ui_bibz/ui/core/forms/selects/multi_select_field.rb +13 -14
  96. data/lib/ui_bibz/ui/core/forms/selects/select_field.rb +6 -7
  97. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_addon.rb +4 -4
  98. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +3 -3
  99. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_group.rb +3 -3
  100. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +3 -3
  101. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_refresh.rb +3 -3
  102. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_checkbox_field.rb +4 -4
  103. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +3 -3
  104. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_radio_field.rb +3 -3
  105. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_switch_field.rb +3 -3
  106. data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +24 -25
  107. data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +4 -5
  108. data/lib/ui_bibz/ui/core/forms/texts/auto_complete_field.rb +6 -7
  109. data/lib/ui_bibz/ui/core/forms/texts/text_field.rb +6 -6
  110. data/lib/ui_bibz/ui/core/icons/components/glyph_counter.rb +5 -6
  111. data/lib/ui_bibz/ui/core/icons/components/glyph_text.rb +5 -6
  112. data/lib/ui_bibz/ui/core/icons/glyph.rb +13 -14
  113. data/lib/ui_bibz/ui/core/icons/glyph_group.rb +16 -17
  114. data/lib/ui_bibz/ui/core/icons/star.rb +7 -9
  115. data/lib/ui_bibz/ui/core/layouts/col.rb +20 -21
  116. data/lib/ui_bibz/ui/core/layouts/container.rb +5 -6
  117. data/lib/ui_bibz/ui/core/layouts/row.rb +4 -5
  118. data/lib/ui_bibz/ui/core/lists/components/list.rb +19 -20
  119. data/lib/ui_bibz/ui/core/lists/components/list/list_body.rb +4 -5
  120. data/lib/ui_bibz/ui/core/lists/components/list/list_header.rb +5 -6
  121. data/lib/ui_bibz/ui/core/lists/list_group.rb +15 -16
  122. data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +5 -6
  123. data/lib/ui_bibz/ui/core/navigations/components/breadcrumb_link.rb +7 -8
  124. data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +6 -7
  125. data/lib/ui_bibz/ui/core/navigations/components/nav_link.rb +12 -13
  126. data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +7 -8
  127. data/lib/ui_bibz/ui/core/navigations/components/nav_link_list.rb +4 -5
  128. data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +8 -9
  129. data/lib/ui_bibz/ui/core/navigations/components/nav_text.rb +8 -9
  130. data/lib/ui_bibz/ui/core/navigations/components/navbar_brand.rb +5 -6
  131. data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +8 -8
  132. data/lib/ui_bibz/ui/core/navigations/components/navbar_nav.rb +6 -7
  133. data/lib/ui_bibz/ui/core/navigations/components/navbar_text.rb +6 -7
  134. data/lib/ui_bibz/ui/core/navigations/components/pagination_link.rb +5 -6
  135. data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +7 -7
  136. data/lib/ui_bibz/ui/core/navigations/link.rb +6 -7
  137. data/lib/ui_bibz/ui/core/navigations/nav.rb +20 -27
  138. data/lib/ui_bibz/ui/core/navigations/navbar.rb +23 -24
  139. data/lib/ui_bibz/ui/core/navigations/pagination.rb +9 -12
  140. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +7 -8
  141. data/lib/ui_bibz/ui/core/navigations/toolbar.rb +14 -15
  142. data/lib/ui_bibz/ui/core/notifications/alert.rb +11 -12
  143. data/lib/ui_bibz/ui/core/notifications/badge.rb +7 -8
  144. data/lib/ui_bibz/ui/core/notifications/components/alert_body.rb +5 -6
  145. data/lib/ui_bibz/ui/core/notifications/components/alert_header.rb +8 -9
  146. data/lib/ui_bibz/ui/core/notifications/components/bar.rb +11 -12
  147. data/lib/ui_bibz/ui/core/notifications/components/toast_body.rb +5 -6
  148. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +7 -8
  149. data/lib/ui_bibz/ui/core/notifications/progress_bar.rb +12 -13
  150. data/lib/ui_bibz/ui/core/notifications/spinner.rb +11 -12
  151. data/lib/ui_bibz/ui/core/notifications/toast.rb +9 -10
  152. data/lib/ui_bibz/ui/core/windows/components/modal_body.rb +4 -5
  153. data/lib/ui_bibz/ui/core/windows/components/modal_footer.rb +4 -5
  154. data/lib/ui_bibz/ui/core/windows/components/modal_header.rb +6 -7
  155. data/lib/ui_bibz/ui/core/windows/modal.rb +8 -9
  156. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +13 -15
  157. data/lib/ui_bibz/ui/extensions/core/component/klass_extension.rb +9 -10
  158. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +22 -21
  159. data/lib/ui_bibz/ui/extensions/core/forms/connect_extension.rb +9 -9
  160. data/lib/ui_bibz/ui/extensions/core/forms/surround_extension.rb +8 -10
  161. data/lib/ui_bibz/ui/ux/containers/components/panel_body.rb +5 -6
  162. data/lib/ui_bibz/ui/ux/containers/components/panel_column.rb +6 -7
  163. data/lib/ui_bibz/ui/ux/containers/components/panel_deck.rb +6 -7
  164. data/lib/ui_bibz/ui/ux/containers/components/panel_footer.rb +5 -6
  165. data/lib/ui_bibz/ui/ux/containers/components/panel_group.rb +6 -7
  166. data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +12 -12
  167. data/lib/ui_bibz/ui/ux/containers/components/panel_tab_group.rb +5 -6
  168. data/lib/ui_bibz/ui/ux/containers/components/panel_toolbar.rb +5 -6
  169. data/lib/ui_bibz/ui/ux/containers/panel.rb +21 -22
  170. data/lib/ui_bibz/ui/ux/tables/components/actions.rb +14 -16
  171. data/lib/ui_bibz/ui/ux/tables/components/as.rb +8 -9
  172. data/lib/ui_bibz/ui/ux/tables/components/column.rb +4 -4
  173. data/lib/ui_bibz/ui/ux/tables/components/columns.rb +4 -3
  174. data/lib/ui_bibz/ui/ux/tables/components/store.rb +5 -7
  175. data/lib/ui_bibz/ui/ux/tables/components/thead.rb +5 -6
  176. data/lib/ui_bibz/ui/ux/tables/extensions/actionable.rb +24 -23
  177. data/lib/ui_bibz/ui/ux/tables/extensions/paginable.rb +8 -10
  178. data/lib/ui_bibz/ui/ux/tables/extensions/searchable.rb +9 -9
  179. data/lib/ui_bibz/ui/ux/tables/extensions/sortable.rb +26 -26
  180. data/lib/ui_bibz/ui/ux/tables/table.rb +32 -39
  181. data/lib/ui_bibz/ui/ux/tables/table_card.rb +18 -26
  182. data/lib/ui_bibz/ui/ux/tables/table_pagination.rb +15 -18
  183. data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.rb +15 -18
  184. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +19 -23
  185. data/lib/ui_bibz/utils/glyph_changer.rb +13 -13
  186. data/lib/ui_bibz/utils/internationalization.rb +10 -7
  187. data/lib/ui_bibz/utils/screwdriver.rb +7 -5
  188. data/test/dummy/Rakefile +3 -1
  189. data/test/dummy/app/controllers/application_controller.rb +2 -0
  190. data/test/dummy/app/controllers/users_controller.rb +15 -14
  191. data/test/dummy/app/helpers/application_helper.rb +2 -0
  192. data/test/dummy/app/models/application_record.rb +2 -0
  193. data/test/dummy/app/models/continent.rb +2 -0
  194. data/test/dummy/app/models/country.rb +2 -0
  195. data/test/dummy/app/models/user.rb +3 -0
  196. data/test/dummy/bin/bundle +3 -1
  197. data/test/dummy/bin/rails +3 -1
  198. data/test/dummy/bin/rake +2 -0
  199. data/test/dummy/bin/setup +10 -8
  200. data/test/dummy/config.ru +2 -0
  201. data/test/dummy/config/application.rb +5 -4
  202. data/test/dummy/config/boot.rb +4 -2
  203. data/test/dummy/config/environment.rb +3 -1
  204. data/test/dummy/config/environments/development.rb +2 -0
  205. data/test/dummy/config/environments/production.rb +2 -0
  206. data/test/dummy/config/environments/test.rb +2 -0
  207. data/test/dummy/config/initializers/assets.rb +2 -0
  208. data/test/dummy/config/initializers/backtrace_silencers.rb +2 -0
  209. data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
  210. data/test/dummy/config/initializers/filter_parameter_logging.rb +2 -0
  211. data/test/dummy/config/initializers/inflections.rb +2 -0
  212. data/test/dummy/config/initializers/mime_types.rb +2 -0
  213. data/test/dummy/config/initializers/session_store.rb +2 -0
  214. data/test/dummy/config/initializers/simple_form_bootstrap.rb +3 -1
  215. data/test/dummy/config/initializers/ui_bibz.rb +1 -1
  216. data/test/dummy/config/initializers/wrap_parameters.rb +2 -0
  217. data/test/dummy/config/routes.rb +2 -0
  218. data/test/dummy/db/migrate/20150123191805_create_users.rb +2 -0
  219. data/test/dummy/db/migrate/20170309084406_continents.rb +2 -0
  220. data/test/dummy/db/migrate/20170309084453_countries.rb +2 -0
  221. data/test/dummy/db/schema.rb +22 -22
  222. data/test/dummy/test/models/user_test.rb +2 -0
  223. data/test/factories/user.rb +6 -4
  224. data/test/simple_form_test.rb +33 -39
  225. data/test/store_test.rb +10 -9
  226. data/test/support/factory_bot.rb +9 -5
  227. data/test/test_helper.rb +8 -8
  228. data/test/ui/core/boxes/card_test.rb +28 -26
  229. data/test/ui/core/boxes/jumbotron_test.rb +4 -3
  230. data/test/ui/core/component_test.rb +4 -4
  231. data/test/ui/core/forms/buttons/button_group_test.rb +8 -7
  232. data/test/ui/core/forms/buttons/button_link_test.rb +16 -14
  233. data/test/ui/core/forms/buttons/button_refresh_test.rb +5 -5
  234. data/test/ui/core/forms/buttons/button_test.rb +25 -23
  235. data/test/ui/core/forms/choices/box_switch_field_test.rb +62 -62
  236. data/test/ui/core/forms/choices/checkbox_field_test.rb +7 -6
  237. data/test/ui/core/forms/choices/choice_group_test.rb +6 -5
  238. data/test/ui/core/forms/choices/radio_field_test.rb +7 -6
  239. data/test/ui/core/forms/dates/date_picker_field_test.rb +12 -11
  240. data/test/ui/core/forms/dropdowns/dropdown_test.rb +12 -11
  241. data/test/ui/core/forms/files/text_field_test.rb +7 -6
  242. data/test/ui/core/forms/numbers/formula_field_test.rb +7 -6
  243. data/test/ui/core/forms/numbers/number_field_test.rb +12 -11
  244. data/test/ui/core/forms/numbers/range_field_test.rb +12 -11
  245. data/test/ui/core/forms/selects/dropdown_select_field_test.rb +61 -60
  246. data/test/ui/core/forms/selects/multi_column_field_test.rb +14 -13
  247. data/test/ui/core/forms/selects/multi_select_field_test.rb +19 -18
  248. data/test/ui/core/forms/selects/select_field_test.rb +13 -13
  249. data/test/ui/core/forms/surrounds/surround_field_test.rb +54 -54
  250. data/test/ui/core/forms/textareas/markdown_editor_field_test.rb +7 -6
  251. data/test/ui/core/forms/texts/auto_complete_field_test.rb +8 -7
  252. data/test/ui/core/forms/texts/text_field_test.rb +17 -16
  253. data/test/ui/core/icons/glyph_group_test.rb +8 -8
  254. data/test/ui/core/icons/glyph_test.rb +4 -4
  255. data/test/ui/core/icons/star_test.rb +37 -36
  256. data/test/ui/core/layouts/col_test.rb +11 -10
  257. data/test/ui/core/layouts/container_test.rb +3 -2
  258. data/test/ui/core/layouts/row_test.rb +4 -3
  259. data/test/ui/core/lists/list_group_test.rb +7 -6
  260. data/test/ui/core/navigations/breadcrumb_test.rb +12 -14
  261. data/test/ui/core/navigations/link_test.rb +9 -8
  262. data/test/ui/core/navigations/nav_test.rb +22 -21
  263. data/test/ui/core/navigations/navbar_test.rb +11 -11
  264. data/test/ui/core/navigations/pagination_test.rb +14 -13
  265. data/test/ui/core/navigations/tab_group_test.rb +22 -21
  266. data/test/ui/core/navigations/toolbar_test.rb +4 -3
  267. data/test/ui/core/notifications/alert_test.rb +5 -4
  268. data/test/ui/core/notifications/badge_test.rb +5 -4
  269. data/test/ui/core/notifications/progress_bar_test.rb +13 -13
  270. data/test/ui/core/notifications/spinner_test.rb +9 -8
  271. data/test/ui/core/notifications/toast_test.rb +3 -2
  272. data/test/ui/core/windows/modal_test.rb +3 -2
  273. data/test/ui/ux/containers/panel_test.rb +7 -6
  274. data/test/ui/ux/tables/table_test.rb +33 -33
  275. data/test/ui_bibz_test.rb +3 -1
  276. data/ui_bibz.gemspec +32 -28
  277. data/vendor/assets/fonts/fa-brands-400.eot +0 -0
  278. data/vendor/assets/fonts/fa-brands-400.svg +2 -2
  279. data/vendor/assets/fonts/fa-brands-400.ttf +0 -0
  280. data/vendor/assets/fonts/fa-brands-400.woff +0 -0
  281. data/vendor/assets/fonts/fa-brands-400.woff2 +0 -0
  282. data/vendor/assets/fonts/fa-regular-400.eot +0 -0
  283. data/vendor/assets/fonts/fa-regular-400.svg +2 -2
  284. data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
  285. data/vendor/assets/fonts/fa-regular-400.woff +0 -0
  286. data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
  287. data/vendor/assets/fonts/fa-solid-900.eot +0 -0
  288. data/vendor/assets/fonts/fa-solid-900.svg +241 -3
  289. data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
  290. data/vendor/assets/fonts/fa-solid-900.woff +0 -0
  291. data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
  292. data/vendor/assets/javascripts/all.js +57 -7
  293. data/vendor/assets/javascripts/all.min.js +2 -2
  294. data/vendor/assets/stylesheets/all.min.css +2 -2
  295. data/vendor/assets/stylesheets/fontawesome/_icons.scss +31 -0
  296. data/vendor/assets/stylesheets/fontawesome/_variables.scss +34 -3
  297. data/vendor/assets/stylesheets/fontawesome/brands.scss +1 -1
  298. data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +1 -1
  299. data/vendor/assets/stylesheets/fontawesome/regular.scss +1 -1
  300. data/vendor/assets/stylesheets/fontawesome/solid.scss +1 -1
  301. data/vendor/assets/stylesheets/fontawesome/v4-shims.scss +1 -1
  302. metadata +74 -42
@@ -127,7 +127,6 @@ $input-group-btn-border-color: $input-border-color
127
127
  margin-top: 0.1rem
128
128
 
129
129
  i.glyph
130
- margin-top: 0.4rem
131
130
  font-size: 1.3rem
132
131
 
133
132
 
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  unless defined?(SimpleForm).nil?
2
4
  SimpleForm.setup do |config|
3
5
  # Namespaces where SimpleForm should look for custom input classes that
4
6
  # override default inputs.
5
- config.custom_inputs_namespaces << "UiBibzInputs"
7
+ config.custom_inputs_namespaces << 'UiBibzInputs'
6
8
  end
7
9
  end
@@ -1,9 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'will_paginate/view_helpers/action_view'
2
4
 
3
5
  module WillPaginate
4
6
  module ActionView
5
7
  def will_paginate(collection = nil, options = {})
6
- options, collection = collection, nil if collection.is_a? Hash
8
+ if collection.is_a? Hash
9
+ options = collection
10
+ collection = nil
11
+ end
7
12
  collection ||= infer_collection_from_controller
8
13
 
9
14
  options = options.symbolize_keys
@@ -21,10 +26,10 @@ module WillPaginate
21
26
  def to_html
22
27
  list_items = pagination.map do |item|
23
28
  case item
24
- when Integer
25
- page_number(item)
26
- else
27
- send(item)
29
+ when Integer
30
+ page_number(item)
31
+ else
32
+ send(item)
28
33
  end
29
34
  end.join(@options[:link_separator])
30
35
 
@@ -33,7 +38,7 @@ module WillPaginate
33
38
  end
34
39
 
35
40
  def container_attributes
36
- super.except(*[:link_options])
41
+ super.except(:link_options)
37
42
  end
38
43
 
39
44
  protected
@@ -1,16 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails/generators'
2
4
  module UiBibz
3
5
  module Generators
4
6
  class InstallGenerator < ::Rails::Generators::Base
5
- source_root File.expand_path("../templates", __FILE__)
6
- desc "Creates Ui Bibz initializer for your application"
7
+ source_root File.expand_path('templates', __dir__)
8
+ desc 'Creates Ui Bibz initializer for your application'
7
9
 
8
10
  def copy_initializer
9
- template "ui_bibz_initializer.rb", "config/initializers/ui_bibz.rb"
11
+ template 'ui_bibz_initializer.rb', 'config/initializers/ui_bibz.rb'
10
12
 
11
- puts "Install complete in config/initializers/ui_bibz.rb. Now you can configure the library!"
13
+ puts 'Install complete in config/initializers/ui_bibz.rb. Now you can configure the library!'
12
14
  end
13
15
  end
14
16
  end
15
17
  end
16
-
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  UiBibz.configure do |config|
3
4
  config.fontawesomejs = true
4
5
  end
5
-
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # desc "Explaining what the task does"
2
4
  # task :ui_bibz do
3
5
  # # Task goes here
@@ -1,40 +1,37 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'action_view'
2
4
  require 'will_paginate'
3
5
  require 'will-paginate-i18n'
4
6
 
5
7
  module UiBibzForm
6
-
7
- autoload :UiBibzFormBuilder, "ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder"
8
-
8
+ autoload :UiBibzFormBuilder, 'ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder'
9
9
  end
10
10
 
11
11
  module UiBibzInputs
12
-
13
- autoload :BaseInput, "ui_bibz/inputs/ui_bibz_inputs/base_input"
14
- autoload :CollectionInput, "ui_bibz/inputs/ui_bibz_inputs/collection_input"
15
- autoload :StringInput, "ui_bibz/inputs/ui_bibz_inputs/string_input"
16
- autoload :UiAutoCompleteFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_auto_complete_field_input"
17
- autoload :UiChoiceGroupInput, "ui_bibz/inputs/ui_bibz_inputs/ui_choice_group_input"
18
- autoload :UiDatePickerFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_date_picker_field_input"
19
- autoload :UiDropdownSelectFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_dropdown_select_field_input"
20
- autoload :UiFormulaFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_formula_field_input"
21
- autoload :UiMarkdownEditorFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_markdown_editor_field_input"
22
- autoload :UiMultiColumnFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_multi_column_field_input"
23
- autoload :UiMultiSelectFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_multi_select_field_input"
24
- autoload :UiNumberFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_number_field_input"
25
- autoload :UiRadioFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_radio_field_input"
26
- autoload :UiSelectFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_select_field_input"
27
- autoload :UiBoxSwitchFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_box_switch_field_input"
28
- autoload :UiSwitchFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_switch_field_input"
29
- autoload :UiTextFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input"
30
- autoload :UiFileFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_file_field_input"
31
- autoload :UiRangeFieldInput, "ui_bibz/inputs/ui_bibz_inputs/ui_range_field_input"
32
-
12
+ autoload :BaseInput, 'ui_bibz/inputs/ui_bibz_inputs/base_input'
13
+ autoload :CollectionInput, 'ui_bibz/inputs/ui_bibz_inputs/collection_input'
14
+ autoload :StringInput, 'ui_bibz/inputs/ui_bibz_inputs/string_input'
15
+ autoload :UiAutoCompleteFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_auto_complete_field_input'
16
+ autoload :UiChoiceGroupInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_choice_group_input'
17
+ autoload :UiDatePickerFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_date_picker_field_input'
18
+ autoload :UiDropdownSelectFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_dropdown_select_field_input'
19
+ autoload :UiFormulaFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_formula_field_input'
20
+ autoload :UiMarkdownEditorFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_markdown_editor_field_input'
21
+ autoload :UiMultiColumnFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_multi_column_field_input'
22
+ autoload :UiMultiSelectFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_multi_select_field_input'
23
+ autoload :UiNumberFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_number_field_input'
24
+ autoload :UiRadioFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_radio_field_input'
25
+ autoload :UiSelectFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_select_field_input'
26
+ autoload :UiBoxSwitchFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_box_switch_field_input'
27
+ autoload :UiSwitchFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_switch_field_input'
28
+ autoload :UiTextFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input'
29
+ autoload :UiFileFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_file_field_input'
30
+ autoload :UiRangeFieldInput, 'ui_bibz/inputs/ui_bibz_inputs/ui_range_field_input'
33
31
  end
34
32
 
35
33
  module UiBibz
36
-
37
- @@configured = false
34
+ @@configured = false # rubocop:disable Style/ClassVars
38
35
 
39
36
  # Configuration of Ui Bibz
40
37
  class << self
@@ -47,7 +44,7 @@ module UiBibz
47
44
 
48
45
  def self.configure
49
46
  self.configuration ||= Configuration.new
50
- @@configured = true
47
+ @@configured = true # rubocop:disable Style/ClassVars
51
48
  yield(configuration)
52
49
  end
53
50
 
@@ -63,162 +60,156 @@ module UiBibz
63
60
 
64
61
  # Add modules
65
62
  module Utils
66
- autoload :Screwdriver, "ui_bibz/utils/screwdriver"
67
- autoload :GlyphChanger, "ui_bibz/utils/glyph_changer"
63
+ autoload :Screwdriver, 'ui_bibz/utils/screwdriver'
64
+ autoload :GlyphChanger, 'ui_bibz/utils/glyph_changer'
68
65
  end
69
66
 
70
67
  module Ui
71
68
  # Base
72
- autoload :Base, "ui_bibz/ui/base"
69
+ autoload :Base, 'ui_bibz/ui/base'
73
70
 
74
71
  # Core
75
72
  module Core
76
-
77
73
  module Boxes
78
- autoload :Card, "ui_bibz/ui/core/boxes/card"
79
- autoload :CardAccordion, "ui_bibz/ui/core/boxes/card_accordion"
80
- autoload :CardColumn, "ui_bibz/ui/core/boxes/card_column"
81
- autoload :CardDeck, "ui_bibz/ui/core/boxes/card_deck"
82
- autoload :CardGroup, "ui_bibz/ui/core/boxes/card_group"
83
- autoload :Jumbotron, "ui_bibz/ui/core/boxes/jumbotron"
74
+ autoload :Card, 'ui_bibz/ui/core/boxes/card'
75
+ autoload :CardAccordion, 'ui_bibz/ui/core/boxes/card_accordion'
76
+ autoload :CardColumn, 'ui_bibz/ui/core/boxes/card_column'
77
+ autoload :CardDeck, 'ui_bibz/ui/core/boxes/card_deck'
78
+ autoload :CardGroup, 'ui_bibz/ui/core/boxes/card_group'
79
+ autoload :Jumbotron, 'ui_bibz/ui/core/boxes/jumbotron'
84
80
  end
85
81
 
86
82
  module Forms
87
-
88
83
  module Dropdowns
89
- autoload :Dropdown, "ui_bibz/ui/core/forms/dropdowns/dropdown"
90
- autoload :SplitDropdown, "ui_bibz/ui/core/forms/dropdowns/split_dropdown"
84
+ autoload :Dropdown, 'ui_bibz/ui/core/forms/dropdowns/dropdown'
85
+ autoload :SplitDropdown, 'ui_bibz/ui/core/forms/dropdowns/split_dropdown'
91
86
  end
92
87
 
93
88
  module Dates
94
- autoload :DatePickerField, "ui_bibz/ui/core/forms/dates/date_picker_field"
89
+ autoload :DatePickerField, 'ui_bibz/ui/core/forms/dates/date_picker_field'
95
90
  end
96
91
 
97
92
  module Choices
98
- autoload :SwitchField, "ui_bibz/ui/core/forms/choices/switch_field"
99
- autoload :BoxSwitchField, "ui_bibz/ui/core/forms/choices/box_switch_field"
100
- autoload :CheckboxField, "ui_bibz/ui/core/forms/choices/checkbox_field"
101
- autoload :RadioField, "ui_bibz/ui/core/forms/choices/radio_field"
102
- autoload :ChoiceGroup, "ui_bibz/ui/core/forms/choices/choice_group"
93
+ autoload :SwitchField, 'ui_bibz/ui/core/forms/choices/switch_field'
94
+ autoload :BoxSwitchField, 'ui_bibz/ui/core/forms/choices/box_switch_field'
95
+ autoload :CheckboxField, 'ui_bibz/ui/core/forms/choices/checkbox_field'
96
+ autoload :RadioField, 'ui_bibz/ui/core/forms/choices/radio_field'
97
+ autoload :ChoiceGroup, 'ui_bibz/ui/core/forms/choices/choice_group'
103
98
  end
104
99
 
105
100
  module Files
106
- autoload :FileField, "ui_bibz/ui/core/forms/files/file_field"
101
+ autoload :FileField, 'ui_bibz/ui/core/forms/files/file_field'
107
102
  end
108
103
 
109
104
  module Numbers
110
- autoload :FormulaField, "ui_bibz/ui/core/forms/numbers/formula_field"
111
- autoload :NumberField, "ui_bibz/ui/core/forms/numbers/number_field"
112
- autoload :RangeField, "ui_bibz/ui/core/forms/numbers/range_field"
105
+ autoload :FormulaField, 'ui_bibz/ui/core/forms/numbers/formula_field'
106
+ autoload :NumberField, 'ui_bibz/ui/core/forms/numbers/number_field'
107
+ autoload :RangeField, 'ui_bibz/ui/core/forms/numbers/range_field'
113
108
  end
114
109
 
115
110
  module Selects
116
- autoload :AbstractSelect, "ui_bibz/ui/core/forms/selects/abstract_select"
117
- autoload :DropdownSelectField, "ui_bibz/ui/core/forms/selects/dropdown_select_field"
118
- autoload :SelectField, "ui_bibz/ui/core/forms/selects/select_field"
119
- autoload :MultiColumnField, "ui_bibz/ui/core/forms/selects/multi_column_field"
120
- autoload :MultiSelectField, "ui_bibz/ui/core/forms/selects/multi_select_field"
111
+ autoload :AbstractSelect, 'ui_bibz/ui/core/forms/selects/abstract_select'
112
+ autoload :DropdownSelectField, 'ui_bibz/ui/core/forms/selects/dropdown_select_field'
113
+ autoload :SelectField, 'ui_bibz/ui/core/forms/selects/select_field'
114
+ autoload :MultiColumnField, 'ui_bibz/ui/core/forms/selects/multi_column_field'
115
+ autoload :MultiSelectField, 'ui_bibz/ui/core/forms/selects/multi_select_field'
121
116
  end
122
117
 
123
118
  module Buttons
124
- autoload :Button, "ui_bibz/ui/core/forms/buttons/button"
125
- autoload :ButtonGroup, "ui_bibz/ui/core/forms/buttons/button_group"
126
- autoload :ButtonLink, "ui_bibz/ui/core/forms/buttons/button_link"
127
- autoload :ButtonRefresh, "ui_bibz/ui/core/forms/buttons/button_refresh"
119
+ autoload :Button, 'ui_bibz/ui/core/forms/buttons/button'
120
+ autoload :ButtonGroup, 'ui_bibz/ui/core/forms/buttons/button_group'
121
+ autoload :ButtonLink, 'ui_bibz/ui/core/forms/buttons/button_link'
122
+ autoload :ButtonRefresh, 'ui_bibz/ui/core/forms/buttons/button_refresh'
128
123
  end
129
124
 
130
125
  module Surrounds
131
- autoload :SurroundField, "ui_bibz/ui/core/forms/surrounds/surround_field"
126
+ autoload :SurroundField, 'ui_bibz/ui/core/forms/surrounds/surround_field'
132
127
  end
133
128
 
134
129
  module Texts
135
- autoload :AutoCompleteField, "ui_bibz/ui/core/forms/texts/auto_complete_field"
136
- autoload :TextField, "ui_bibz/ui/core/forms/texts/text_field"
130
+ autoload :AutoCompleteField, 'ui_bibz/ui/core/forms/texts/auto_complete_field'
131
+ autoload :TextField, 'ui_bibz/ui/core/forms/texts/text_field'
137
132
  end
138
133
 
139
134
  module Textareas
140
- autoload :MarkdownEditorField, "ui_bibz/ui/core/forms/textareas/markdown_editor_field"
135
+ autoload :MarkdownEditorField, 'ui_bibz/ui/core/forms/textareas/markdown_editor_field'
141
136
  end
142
-
143
137
  end
144
138
 
145
139
  module Icons
146
- autoload :Glyph, "ui_bibz/ui/core/icons/glyph"
147
- autoload :GlyphGroup, "ui_bibz/ui/core/icons/glyph_group"
148
- autoload :Star, "ui_bibz/ui/core/icons/star"
140
+ autoload :Glyph, 'ui_bibz/ui/core/icons/glyph'
141
+ autoload :GlyphGroup, 'ui_bibz/ui/core/icons/glyph_group'
142
+ autoload :Star, 'ui_bibz/ui/core/icons/star'
149
143
  end
150
144
 
151
145
  module Layouts
152
- autoload :Row, "ui_bibz/ui/core/layouts/row"
153
- autoload :Col, "ui_bibz/ui/core/layouts/col"
154
- autoload :Container, "ui_bibz/ui/core/layouts/container"
146
+ autoload :Row, 'ui_bibz/ui/core/layouts/row'
147
+ autoload :Col, 'ui_bibz/ui/core/layouts/col'
148
+ autoload :Container, 'ui_bibz/ui/core/layouts/container'
155
149
  end
156
150
 
157
151
  module Lists
158
- autoload :ListGroup, "ui_bibz/ui/core/lists/list_group"
159
- autoload :List, "ui_bibz/ui/core/lists/components/list"
152
+ autoload :ListGroup, 'ui_bibz/ui/core/lists/list_group'
153
+ autoload :List, 'ui_bibz/ui/core/lists/components/list'
160
154
  end
161
155
 
162
156
  module Navigations
163
- autoload :Breadcrumb, "ui_bibz/ui/core/navigations/breadcrumb"
164
- autoload :Link, "ui_bibz/ui/core/navigations/link"
165
- autoload :Nav, "ui_bibz/ui/core/navigations/nav"
166
- autoload :Navbar, "ui_bibz/ui/core/navigations/navbar"
167
- autoload :Pagination, "ui_bibz/ui/core/navigations/pagination"
168
- autoload :TabGroup, "ui_bibz/ui/core/navigations/tab_group"
169
- autoload :Toolbar, "ui_bibz/ui/core/navigations/toolbar"
157
+ autoload :Breadcrumb, 'ui_bibz/ui/core/navigations/breadcrumb'
158
+ autoload :Link, 'ui_bibz/ui/core/navigations/link'
159
+ autoload :Nav, 'ui_bibz/ui/core/navigations/nav'
160
+ autoload :Navbar, 'ui_bibz/ui/core/navigations/navbar'
161
+ autoload :Pagination, 'ui_bibz/ui/core/navigations/pagination'
162
+ autoload :TabGroup, 'ui_bibz/ui/core/navigations/tab_group'
163
+ autoload :Toolbar, 'ui_bibz/ui/core/navigations/toolbar'
170
164
  end
171
165
 
172
166
  module Notifications
173
- autoload :Alert, "ui_bibz/ui/core/notifications/alert"
174
- autoload :Badge, "ui_bibz/ui/core/notifications/badge"
175
- autoload :ProgressBar, "ui_bibz/ui/core/notifications/progress_bar"
176
- autoload :Spinner, "ui_bibz/ui/core/notifications/spinner"
177
- autoload :Toast, "ui_bibz/ui/core/notifications/toast"
167
+ autoload :Alert, 'ui_bibz/ui/core/notifications/alert'
168
+ autoload :Badge, 'ui_bibz/ui/core/notifications/badge'
169
+ autoload :ProgressBar, 'ui_bibz/ui/core/notifications/progress_bar'
170
+ autoload :Spinner, 'ui_bibz/ui/core/notifications/spinner'
171
+ autoload :Toast, 'ui_bibz/ui/core/notifications/toast'
178
172
  end
179
173
 
180
174
  module Windows
181
- autoload :Modal, "ui_bibz/ui/core/windows/modal"
175
+ autoload :Modal, 'ui_bibz/ui/core/windows/modal'
182
176
  end
183
177
 
184
178
  # Other section
185
- autoload :Component, "ui_bibz/ui/core/component"
179
+ autoload :Component, 'ui_bibz/ui/core/component'
186
180
  end
187
181
 
188
182
  # Ux
189
183
  module Ux
190
-
191
184
  # Table section
192
185
  module Tables
193
- autoload :Table, "ui_bibz/ui/ux/tables/table"
194
- autoload :TableCard, "ui_bibz/ui/ux/tables/table_card"
195
- autoload :TableSearchField, "ui_bibz/ui/ux/tables/table_search_field"
196
- autoload :TablePagination, "ui_bibz/ui/ux/tables/table_pagination"
197
- autoload :TablePaginationPerPage, "ui_bibz/ui/ux/tables/table_pagination_per_page"
186
+ autoload :Table, 'ui_bibz/ui/ux/tables/table'
187
+ autoload :TableCard, 'ui_bibz/ui/ux/tables/table_card'
188
+ autoload :TableSearchField, 'ui_bibz/ui/ux/tables/table_search_field'
189
+ autoload :TablePagination, 'ui_bibz/ui/ux/tables/table_pagination'
190
+ autoload :TablePaginationPerPage, 'ui_bibz/ui/ux/tables/table_pagination_per_page'
198
191
  end
199
192
 
200
193
  module Containers
201
- autoload :Panel, "ui_bibz/ui/ux/containers/panel"
194
+ autoload :Panel, 'ui_bibz/ui/ux/containers/panel'
202
195
  end
203
-
204
196
  end
205
197
  end
206
198
 
207
199
  module Helpers
208
200
  module Ui
209
- autoload :CoreHelper, "ui_bibz/helpers/ui/core_helper"
210
- autoload :UxHelper, "ui_bibz/helpers/ui/ux_helper"
201
+ autoload :CoreHelper, 'ui_bibz/helpers/ui/core_helper'
202
+ autoload :UxHelper, 'ui_bibz/helpers/ui/ux_helper'
211
203
  module Core end
212
204
  end
213
- autoload :UtilsHelper, "ui_bibz/helpers/utils_helper"
205
+ autoload :UtilsHelper, 'ui_bibz/helpers/utils_helper'
214
206
  end
215
207
 
216
208
  module Concerns
217
209
  module Models
218
- autoload :Searchable, "ui_bibz/concerns/models/searchable"
210
+ autoload :Searchable, 'ui_bibz/concerns/models/searchable'
219
211
  end
220
212
  end
221
-
222
213
  end
223
214
 
224
- require "ui_bibz/rails/engine"
215
+ require 'ui_bibz/rails/engine'
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module UiBibz::Concerns::Models::Searchable
2
4
  extend ActiveSupport::Concern
3
5
 
4
6
  included do
5
7
  # Maybe create a class to put all methods of table_search_pagination
6
- def self.table_search_pagination params, session, args = {}
8
+ def self.table_search_pagination(params, session, args = {})
7
9
  @params = params.permit!
8
10
  @session = session
9
11
  @arguments = args
@@ -12,22 +14,20 @@ module UiBibz::Concerns::Models::Searchable
12
14
  OpenStruct.new(generate_parameters)
13
15
  end
14
16
 
15
- private
16
-
17
17
  def self.generate_parameters
18
18
  {
19
- controller: @params[:controller],
20
- param_id: @params[:id],
21
- params: @params,
22
- direction: @params[:direction],
23
- search: @params[:search],
24
- sort: @params[:sort],
25
- action: @params[:action],
26
- column_id: @params[:column_id],
27
- id: @arguments[:store_id],
28
- records: search_sort_paginate,
19
+ controller: @params[:controller],
20
+ param_id: @params[:id],
21
+ params: @params,
22
+ direction: @params[:direction],
23
+ search: @params[:search],
24
+ sort: @params[:sort],
25
+ action: @params[:action],
26
+ column_id: @params[:column_id],
27
+ id: @arguments[:store_id],
28
+ records: search_sort_paginate,
29
29
  searchable_attributes: @searchable_attributes,
30
- model: create_model
30
+ model: create_model
31
31
  }
32
32
  end
33
33
 
@@ -37,22 +37,20 @@ module UiBibz::Concerns::Models::Searchable
37
37
 
38
38
  # If there is more one table in html page
39
39
  def self.initialize_params
40
- @tmp_params = {}
41
- if self.is_good_store_id?
42
- @tmp_params = {
43
- search: @params[:search],
44
- per_page: @params[:per_page],
45
- page: self.new_search? ? nil : @params[:page],
46
- sort: @params[:sort],
47
- direction: @params[:direction]
48
- }
49
- end
40
+ return unless good_store_id?
41
+
42
+ @tmp_params = {
43
+ search: @params[:search],
44
+ per_page: @params[:per_page],
45
+ page: new_search? ? nil : @params[:page],
46
+ sort: @params[:sort],
47
+ direction: @params[:direction]
48
+ }
50
49
  end
51
50
 
52
-
53
51
  def self.search
54
52
  sql = all
55
- column_args = get_column_args
53
+ column_args = fetch_column_args
56
54
 
57
55
  # Add joins
58
56
  sql = joins(column_args[:joins]) if column_args[:joins]
@@ -69,91 +67,90 @@ module UiBibz::Concerns::Models::Searchable
69
67
  generate_sql sql, column_args
70
68
  end
71
69
 
72
- def self.generate_sql sql, column_args
70
+ def self.generate_sql(sql, column_args)
73
71
  column_args[:count].nil? ? generate_default_sql(sql) : generate_count_sql(sql)
74
72
  end
75
73
 
76
- def self.generate_default_sql sql
77
- if is_sorting?
78
- sql.paginate(:page => @tmp_params[:page], per_page: @session[:per_page])
74
+ def self.generate_default_sql(sql)
75
+ if sorting?
76
+ sql.paginate(page: @tmp_params[:page], per_page: @session[:per_page])
79
77
  else
80
- sql.reorder(order_sql).paginate(:page => @tmp_params[:page], per_page: @session[:per_page])
78
+ sql.reorder(order_sql).paginate(page: @tmp_params[:page], per_page: @session[:per_page])
81
79
  end
82
80
  end
83
81
 
84
- def self.generate_count_sql sql
85
- sq = "SELECT * FROM (#{ sql.group(table_name + '.id').to_sql }) countable ORDER BY countable.count #{ @tmp_params[:direction] || asc }"
86
- self.paginate_by_sql(sq, :page => @tmp_params[:page], per_page: @session[:per_page])
82
+ def self.generate_count_sql(sql)
83
+ sq = "SELECT * FROM (#{sql.group(table_name + '.id').to_sql}) countable ORDER BY countable.count #{@tmp_params[:direction] || asc}"
84
+ paginate_by_sql(sq, page: @tmp_params[:page], per_page: @session[:per_page])
87
85
  end
88
86
 
89
- def self.generate_select_count_sort_query sql, column_args
90
- sql.select("#{ table_name }.*, count(#{ column_args[:column] }.*)")
87
+ def self.generate_select_count_sort_query(sql, column_args)
88
+ sql.select("#{table_name}.*, count(#{column_args[:column]}.*)")
91
89
  end
92
90
 
93
- def self.generate_parent_sort_query sql
94
- sql.select("#{ table_name }2.*, #{ @tmp_params[:sort] } AS parent_name").from("#{ table_name } #{ table_name }2").joins("LEFT OUTER JOIN #{ table_name } ON #{ table_name }2.parent_id = #{ table_name }.id")
91
+ def self.generate_parent_sort_query(sql)
92
+ sql.select("#{table_name}2.*, #{@tmp_params[:sort]} AS parent_name").from("#{table_name} #{table_name}2").joins("LEFT OUTER JOIN #{table_name} ON #{table_name}2.parent_id = #{table_name}.id")
95
93
  end
96
94
 
97
- def self.get_column_args
95
+ def self.fetch_column_args
98
96
  column_args = {}
99
- if !@arguments[:sortable].nil? && @params[:custom_sort]
100
- column_args = [@arguments[:sortable]].flatten.detect{|f| f[:column] = @params[:column_name] } || {}
101
- end
97
+ column_args = [@arguments[:sortable]].flatten.detect { |f| f[:column] = @params[:column_name] } || {} if !@arguments[:sortable].nil? && @params[:custom_sort]
102
98
  column_args
103
99
  end
104
100
 
105
- def self.is_sorting?
101
+ def self.sorting?
106
102
  @tmp_params[:sort].nil? || @tmp_params[:direction].nil?
107
103
  end
108
104
 
109
- def self.search_by_query sql
105
+ def self.search_by_query(sql)
110
106
  raise 'Add searchable_attributes method in Model' if @searchable_attributes.nil?
107
+
111
108
  sql_query = []
112
109
  sql_attributes = {}
113
110
  search_patterns = @tmp_params[:search].strip.gsub(/(?<=[\\s])\\s*|^\\s+|\\s+$/, '').downcase
114
111
 
115
112
  search_patterns_tmp = search_patterns.scan(/"(.*?)"/).flatten
116
113
  search_patterns = search_patterns.gsub(/"(.*?)"/, '').split(' ')
117
- search_patterns << search_patterns_tmp
114
+ search_patterns << search_patterns_tmp
118
115
 
119
116
  search_patterns.flatten.each_with_index do |pattern, i|
120
117
  sql_subquery = []
121
118
  @searchable_attributes.each do |attribute|
122
- if attribute.kind_of?(Hash)
119
+ if attribute.is_a?(Hash)
123
120
  if attribute == :as
124
- attribute.values.each do |value|
125
- sql_subquery << "lower(#{ value }) LIKE :#{ value }_#{ i }"
126
- sql_attributes = sql_attributes.merge(Hash["#{ value }_#{ i }".to_sym, "%#{ pattern }%"])
121
+ attribute.each_value do |value|
122
+ sql_subquery << "lower(#{value}) LIKE :#{value}_#{i}"
123
+ sql_attributes = sql_attributes.merge(Hash["#{value}_#{i}".to_sym, "%#{pattern}%"])
127
124
  end
128
125
  else
129
126
  key_name = attribute.keys.first.to_s.pluralize
130
- attribute.values.each do |value|
131
- sql_subquery << "lower(#{ key_name }.#{ value }) LIKE :#{ key_name }_#{ value }_#{ i }"
132
- sql_attributes = sql_attributes.merge(Hash["#{ key_name }_#{ value }_#{ i }".to_sym, "%#{ pattern }%"])
127
+ attribute.each_value do |value|
128
+ sql_subquery << "lower(#{key_name}.#{value}) LIKE :#{key_name}_#{value}_#{i}"
129
+ sql_attributes = sql_attributes.merge(Hash["#{key_name}_#{value}_#{i}".to_sym, "%#{pattern}%"])
133
130
  end
134
131
  end
135
132
  else
136
- sql_subquery << "lower(#{ self.to_s.underscore.pluralize.split('/').last }.#{ attribute }) LIKE :#{ attribute }_#{ i }"
137
- sql_attributes = sql_attributes.merge(Hash["#{ attribute }_#{ i }".to_sym, "%#{ pattern }%"])
133
+ sql_subquery << "lower(#{to_s.underscore.pluralize.split('/').last}.#{attribute}) LIKE :#{attribute}_#{i}"
134
+ sql_attributes = sql_attributes.merge(Hash["#{attribute}_#{i}".to_sym, "%#{pattern}%"])
138
135
  end
139
136
  end
140
- sql_query << "(" + sql_subquery.join(' OR ') + ")"
137
+ sql_query << '(' + sql_subquery.join(' OR ') + ')'
141
138
  end
142
139
 
143
140
  sql.where([sql_query.join(' AND '), sql_attributes])
144
141
  end
145
142
 
146
143
  def self.order_sql
147
- self.is_sorting? ? "#{ self.table_name }.id asc" : "#{ @tmp_params[:sort]} #{ @tmp_params[:direction] }"
144
+ sorting? ? "#{table_name}.id asc" : "#{@tmp_params[:sort]} #{@tmp_params[:direction]}"
148
145
  end
149
146
 
150
147
  def self.search_sort_paginate
151
148
  @session[:per_page] = @tmp_params[:per_page] unless @tmp_params[:per_page].nil?
152
- self.search
149
+ search
153
150
  end
154
151
 
155
152
  # If there's several table in the same page
156
- def self.is_good_store_id?
153
+ def self.good_store_id?
157
154
  @arguments[:store_id] == @params[:store_id]
158
155
  end
159
156
 
@@ -163,7 +160,6 @@ module UiBibz::Concerns::Models::Searchable
163
160
  end
164
161
 
165
162
  module ClassMethods
166
-
167
163
  # => searchable_attributes :name, :address
168
164
  # or
169
165
  # => searchable_attributes user: :name
@@ -172,9 +168,8 @@ module UiBibz::Concerns::Models::Searchable
172
168
  # or
173
169
  # => search_attributes :name, as: [:mybuildcolumn1, :mybuild_column2]
174
170
  #
175
- def searchable_attributes *args
171
+ def searchable_attributes(*args)
176
172
  @searchable_attributes ||= args
177
173
  end
178
174
  end
179
-
180
175
  end