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
@@ -1,6 +1,7 @@
1
- require "ui_bibz/ui/ux/tables/components/store"
2
- module UiBibz::Ui::Ux::Tables
1
+ # frozen_string_literal: true
3
2
 
3
+ require 'ui_bibz/ui/ux/tables/components/store'
4
+ module UiBibz::Ui::Ux::Tables
4
5
  # Create a TableCard
5
6
  #
6
7
  # This element is an extend of UiBibz::Ui::Core::Boxes::card.
@@ -104,11 +105,8 @@ module UiBibz::Ui::Ux::Tables
104
105
  # end
105
106
  # end
106
107
  class TableCard < UiBibz::Ui::Core::Boxes::Card
107
-
108
- attr_accessor :columns
109
-
110
108
  # See UiBibz::Ui::Core::Boxes::Card.initialize
111
- def initialize content = nil, options = nil, html_options = nil, &block
109
+ def initialize(content = nil, options = nil, html_options = nil, &block)
112
110
  super
113
111
  table_options = (@options[:table_options] || {}).merge({ store: store })
114
112
  @table = UiBibz::Ui::Ux::Tables::Table.new(table_options, @options[:table_html_options])
@@ -120,7 +118,7 @@ module UiBibz::Ui::Ux::Tables
120
118
 
121
119
  content_tag :div, html_options do
122
120
  form_tag(url_for(url_parameters), method: :get) do
123
- store.parameters.with_indifferent_access.reject{ |k,v| default_parameters?(k) || v.blank? }.each do |k,v|
121
+ store.parameters.with_indifferent_access.reject { |k, v| default_parameters?(k) || v.blank? }.each do |k, v|
124
122
  concat tag(:input, type: 'hidden', name: k, value: v)
125
123
  end
126
124
  concat tag(:input, type: 'hidden', name: 'store_id', value: store.id) unless store.id.nil? # if there is more one table in html page
@@ -130,13 +128,13 @@ module UiBibz::Ui::Ux::Tables
130
128
  end
131
129
 
132
130
  # Add table columns item
133
- def columns &block
134
- @table.columns &block
131
+ def columns(&block)
132
+ @table.columns(&block)
135
133
  end
136
134
 
137
135
  # Add table actions item
138
- def actions &block
139
- @table.actions &block
136
+ def actions(&block)
137
+ @table.actions(&block)
140
138
  end
141
139
 
142
140
  # for test
@@ -144,20 +142,17 @@ module UiBibz::Ui::Ux::Tables
144
142
  @table.actions_list
145
143
  end
146
144
 
147
- private
145
+ private
148
146
 
149
147
  def component_html_classes
150
- %w(card table-card)
148
+ %w[card table-card]
151
149
  end
152
150
 
153
151
  def store
154
- @store ||= if @options[:store].nil?
155
- raise 'Store is nil!'
156
- elsif @options[:store].try(:records).nil?
157
- raise 'Store can be created only with "table_search_pagination" method!'
158
- else
159
- Store.new @options.delete(:store) if @options[:store]
160
- end
152
+ raise 'Store is nil!' if @options[:store].nil?
153
+ raise 'Store can be created only with "table_search_pagination" method!' if @options[:store].try(:records).nil?
154
+
155
+ @store ||= Store.new @options[:store]
161
156
  end
162
157
 
163
158
  def init_components
@@ -166,17 +161,15 @@ module UiBibz::Ui::Ux::Tables
166
161
  @items << pagination.render if pagination.paginable?
167
162
  end
168
163
 
169
- def default_parameters?(k)
170
- %w(store_id per_page page search utf8 search controller action link_type).include?(k)
164
+ def default_parameters?(key)
165
+ %w[store_id per_page page search utf8 search controller action link_type].include?(key)
171
166
  end
172
167
 
173
168
  def url_parameters
174
169
  { controller: store.controller, action: store.action, id: store.param_id }
175
170
  end
176
171
 
177
- def table
178
- @table
179
- end
172
+ attr_reader :table
180
173
 
181
174
  def table_html
182
175
  content_tag :div, @table.render, class: 'card-table'
@@ -189,6 +182,5 @@ module UiBibz::Ui::Ux::Tables
189
182
  def pagination
190
183
  @pagination ||= Paginable.new store, @options.merge({ wrap_form: false }), { class: 'card-footer' }
191
184
  end
192
-
193
185
  end
194
186
  end
@@ -1,8 +1,9 @@
1
- #require 'will_paginate'
2
- require "will_paginate-bootstrap4"
3
- require "ui_bibz/ui/ux/tables/components/store"
4
- module UiBibz::Ui::Ux::Tables
1
+ # frozen_string_literal: true
5
2
 
3
+ # require 'will_paginate'
4
+ require 'will_paginate-bootstrap4'
5
+ require 'ui_bibz/ui/ux/tables/components/store'
6
+ module UiBibz::Ui::Ux::Tables
6
7
  # Create a pagination for table
7
8
  #
8
9
  # ==== Attributes
@@ -27,11 +28,11 @@ module UiBibz::Ui::Ux::Tables
27
28
  class TablePagination < UiBibz::Ui::Base
28
29
  include WillPaginate::ActionView
29
30
  include ActionView
30
- #include WillPaginate::ActionView::BootstrapLinkRenderer
31
+ # include WillPaginate::ActionView::BootstrapLinkRenderer
31
32
 
32
33
  # Initialize pagination with component item
33
34
  # pagination require WillPaginate gem
34
- def initialize options = nil, html_options = nil
35
+ def initialize(options = nil, html_options = nil)
35
36
  @pagination = UiBibz::Ui::Core::Component.new nil, options, html_options
36
37
  end
37
38
 
@@ -41,25 +42,21 @@ module UiBibz::Ui::Ux::Tables
41
42
  paginate_parameters = paginate_parameters.merge({ store_id: store.id }) unless store.id.nil?
42
43
  paginate_parameters = paginate_parameters.merge(store.parameters)
43
44
  paginate_parameters = paginate_parameters.merge({ link_type: 'pagination' })
44
- will_paginate(store.records, params: paginate_parameters.with_indifferent_access.reject{|k,v| default_parameters?(k) || v.blank? }, renderer: WillPaginate::ActionView::BootstrapLinkRenderer)
45
+ will_paginate(store.records, params: paginate_parameters.with_indifferent_access.reject { |k, v| default_parameters?(k) || v.blank? }, renderer: WillPaginate::ActionView::BootstrapLinkRenderer)
45
46
  end
46
47
 
47
- private
48
+ private
48
49
 
49
- def default_parameters?(k)
50
- %w(per_page page link_type).include?(k)
50
+ def default_parameters?(key)
51
+ %w[per_page page link_type].include?(key)
51
52
  end
52
53
 
53
54
  # Store must be generated by *table_search_pagination* method
54
55
  def store
55
- @store ||= if @pagination.options[:store].nil?
56
- raise 'Store is nil!'
57
- elsif @pagination.options[:store].try(:records).nil?
58
- raise 'Store can be created only with "table_search_pagination" method!'
59
- else
60
- Store.new @pagination.options.delete :store
61
- end
62
- end
56
+ raise 'Store is nil!' if @pagination.options[:store].nil?
57
+ raise 'Store can be created only with "table_search_pagination" method!' if @pagination.options[:store].try(:records).nil?
63
58
 
59
+ @store ||= Store.new @pagination.options[:store]
60
+ end
64
61
  end
65
62
  end
@@ -1,6 +1,7 @@
1
- require "ui_bibz/ui/ux/tables/components/store"
2
- module UiBibz::Ui::Ux::Tables
1
+ # frozen_string_literal: true
3
2
 
3
+ require 'ui_bibz/ui/ux/tables/components/store'
4
+ module UiBibz::Ui::Ux::Tables
4
5
  # Create a select pagination per page
5
6
  #
6
7
  # ==== Attributes
@@ -27,7 +28,7 @@ module UiBibz::Ui::Ux::Tables
27
28
 
28
29
  # Initialize per_page_field with component item
29
30
  # per_page_field require WillPaginate gem
30
- def initialize options = nil, html_options = nil
31
+ def initialize(options = nil, html_options = nil)
31
32
  @per_page_field = UiBibz::Ui::Core::Component.new nil, options, html_options
32
33
  end
33
34
 
@@ -42,16 +43,13 @@ module UiBibz::Ui::Ux::Tables
42
43
  end
43
44
  end
44
45
 
45
- private
46
+ private
46
47
 
47
48
  def store
48
- @store ||= if @per_page_field.options[:store].nil?
49
- raise 'Store is nil!'
50
- elsif @per_page_field.options[:store].try(:records).nil?
51
- raise 'Store can be created only with "table_search_pagination" method!'
52
- else
53
- Store.new @per_page_field.options.delete :store
54
- end
49
+ raise 'Store is nil!' if @per_page_field.options[:store].nil?
50
+ raise 'Store can be created only with "table_search_pagination" method!' if @per_page_field.options[:store].try(:records).nil?
51
+
52
+ @store ||= Store.new @per_page_field.options[:store]
55
53
  end
56
54
 
57
55
  def url_parameters
@@ -61,7 +59,7 @@ module UiBibz::Ui::Ux::Tables
61
59
  def per_page_html
62
60
  content_tag :div, class: 'table-pagination-per-page' do
63
61
  concat results_count_html
64
- concat UiBibz::Utils::Internationalization.new("ui_bibz.table.pagination.per_page", default: "Per page: ").translate
62
+ concat UiBibz::Utils::Internationalization.new('ui_bibz.table.pagination.per_page', default: 'Per page: ').translate
65
63
  concat select_tag('per_page', options_for_select([5, 10, 20, 30, 50, 100, 200, 500], store.per_page), class: 'form-control')
66
64
  end
67
65
  end
@@ -69,8 +67,8 @@ module UiBibz::Ui::Ux::Tables
69
67
  def per_page_html_in_wrap
70
68
  content_tag :div, class: 'table-pagination-per-page' do
71
69
  concat results_count_html
72
- concat UiBibz::Utils::Internationalization.new("ui_bibz.table.pagination.per_page", default: "Per page: ").translate
73
- store.parameters.with_indifferent_access.reject{ |k, v| default_parameters?(k) || v.blank? }.each do |k,v|
70
+ concat UiBibz::Utils::Internationalization.new('ui_bibz.table.pagination.per_page', default: 'Per page: ').translate
71
+ store.parameters.with_indifferent_access.reject { |k, v| default_parameters?(k) || v.blank? }.each do |k, v|
74
72
  concat tag(:input, type: 'hidden', name: k, value: v)
75
73
  end
76
74
  concat select_tag('per_page', options_for_select([5, 10, 20, 30, 50, 100, 200, 500], store.per_page), class: 'form-control')
@@ -79,7 +77,7 @@ module UiBibz::Ui::Ux::Tables
79
77
  end
80
78
 
81
79
  def results_count_html
82
- "#{ page_entries_info store.records } | ".html_safe
80
+ "#{page_entries_info store.records} | ".html_safe
83
81
  end
84
82
 
85
83
  def from_current_results
@@ -90,9 +88,8 @@ module UiBibz::Ui::Ux::Tables
90
88
  store.limit_value * store.current_page
91
89
  end
92
90
 
93
- def default_parameters?(k)
94
- %w(store_id search controller action page link_type utf8).include?(k)
91
+ def default_parameters?(key)
92
+ %w[store_id search controller action page link_type utf8].include?(key)
95
93
  end
96
-
97
94
  end
98
95
  end
@@ -1,11 +1,11 @@
1
- require "ui_bibz/ui/ux/tables/components/store"
2
- module UiBibz::Ui::Ux::Tables
1
+ # frozen_string_literal: true
3
2
 
3
+ require 'ui_bibz/ui/ux/tables/components/store'
4
+ module UiBibz::Ui::Ux::Tables
4
5
  class TableSearchField < UiBibz::Ui::Core::Component
5
-
6
6
  # Initialize search_field with component item
7
- def initialize content = nil, options = nil, html_options = nil
8
- html_options = options
7
+ def initialize(content = nil, options = nil, html_options = nil)
8
+ html_options = options # rubocop:disable Lint/ShadowedArgument
9
9
  options = content
10
10
  content = nil
11
11
  super
@@ -22,22 +22,19 @@ module UiBibz::Ui::Ux::Tables
22
22
  end
23
23
  end
24
24
 
25
- private
25
+ private
26
26
 
27
27
  def url_parameters
28
- #{ controller: store.controller, action: store.action, id: store.param_id }
28
+ # { controller: store.controller, action: store.action, id: store.param_id }
29
29
  store.parameters
30
30
  end
31
31
 
32
32
  # Store must be generated by *table_search_pagination* method
33
33
  def store
34
- @store ||= if @options[:store].nil?
35
- raise 'Store is nil!'
36
- elsif @options[:store].try(:records).nil?
37
- raise 'Store can be created only with "table_search_pagination" method!'
38
- else
39
- Store.new @options.delete :store
40
- end
34
+ raise 'Store is nil!' if @options[:store].nil?
35
+ raise 'Store can be created only with "table_search_pagination" method!' if @options[:store].try(:records).nil?
36
+
37
+ @store ||= Store.new @options[:store]
41
38
  end
42
39
 
43
40
  def search_field_html
@@ -53,7 +50,7 @@ module UiBibz::Ui::Ux::Tables
53
50
  def search_field_html_in_wrap
54
51
  content_tag :div, html_options do
55
52
  concat content_tag(:span, UiBibz::Ui::Core::Icons::Glyph.new('search').render, class: 'input-group-addon')
56
- store.parameters.with_indifferent_access.reject{ |k,_| default_parameters?(k) }.each do |k,v|
53
+ store.parameters.with_indifferent_access.reject { |k, _| default_parameters?(k) }.each do |k, v|
57
54
  concat tag(:input, type: 'hidden', name: k, value: v)
58
55
  end
59
56
  concat tag(:input, type: 'hidden', name: 'store_id', value: store.id) unless store.id.nil? # if there is more one table in html page
@@ -76,7 +73,7 @@ module UiBibz::Ui::Ux::Tables
76
73
  end
77
74
 
78
75
  def component_html_classes
79
- %w(input-group input-group-sm table-search-field)
76
+ %w[input-group input-group-sm table-search-field]
80
77
  end
81
78
 
82
79
  def search_placeholder_field
@@ -86,7 +83,7 @@ module UiBibz::Ui::Ux::Tables
86
83
  def searchable_attributes_sentence
87
84
  store.searchable_attributes.map do |i|
88
85
  attribute_name = underscorize_hash(i)
89
- UiBibz::Utils::Internationalization.new("ui_bibz.grid.searchable.field.searchable_attributes.#{ model_name }.#{ attribute_name }", default: [translate_searchable_attributes_by_active_record(attribute_name), attribute_name.to_s.humanize]).translate
86
+ UiBibz::Utils::Internationalization.new("ui_bibz.grid.searchable.field.searchable_attributes.#{model_name}.#{attribute_name}", default: [translate_searchable_attributes_by_active_record(attribute_name), attribute_name.to_s.humanize]).translate
90
87
  end.to_sentence(locale: I18n.locale)
91
88
  end
92
89
 
@@ -94,17 +91,16 @@ module UiBibz::Ui::Ux::Tables
94
91
  store.model.to_s.underscore
95
92
  end
96
93
 
97
- def translate_searchable_attributes_by_active_record attr
94
+ def translate_searchable_attributes_by_active_record(attr)
98
95
  store.model.human_attribute_name(attr)
99
96
  end
100
97
 
101
- def underscorize_hash attr
102
- attr.kind_of?(Hash) ? "#{ attr.keys.first }_#{ attr.values.first }".to_sym : attr
98
+ def underscorize_hash(attr)
99
+ attr.is_a?(Hash) ? "#{attr.keys.first}_#{attr.values.first}".to_sym : attr
103
100
  end
104
101
 
105
- def default_parameters?(k)
106
- %w(store_id search controller action utf8 link_type).include?(k)
102
+ def default_parameters?(key)
103
+ %w[store_id search controller action utf8 link_type].include?(key)
107
104
  end
108
-
109
105
  end
110
106
  end
@@ -1,16 +1,17 @@
1
- # Glyph changer
2
- #
3
- # => ui_link 'My link', url: '#', glyph: { type: :group, items: [{ name: 'circle', stataus: :danger },{ name: 'times', inverse: true, transform:'shrink-6'}] }
1
+ # frozen_string_literal: true
2
+
4
3
  module UiBibz::Utils
4
+ # Glyph changer
5
+ #
6
+ # => ui_link 'My link', url: '#', glyph: { type: :group, items: [{ name: 'circle', stataus: :danger },{ name: 'times', inverse: true, transform:'shrink-6'}] }
5
7
  class GlyphChanger
6
-
7
- def initialize glyph_options, options = {}
8
+ def initialize(glyph_options, options = {})
8
9
  @glyph_options = glyph_options
9
10
  @options = options
10
11
  end
11
12
 
12
13
  def render
13
- @glyph_options.kind_of?(Hash) ? glyph_or_glyph_group : glyph_by_hash
14
+ @glyph_options.is_a?(Hash) ? glyph_or_glyph_group : glyph_by_hash
14
15
  end
15
16
 
16
17
  private
@@ -23,21 +24,21 @@ module UiBibz::Utils
23
24
  glyph_name = @glyph_options.try(:[], :name)
24
25
  glyph_opts = @glyph_options
25
26
  glyph_html_opts = @options[:html_options] || {}
26
- #glyph_html_opts = glyph_html_opts.merge(@options[:text] ? {} : { title: @options[:content] })
27
+ # glyph_html_opts = glyph_html_opts.merge(@options[:text] ? {} : { title: @options[:content] })
27
28
  glyph_items = @glyph_options.try(:[], :items) || []
28
29
 
29
30
  [glyph_name, glyph_opts, glyph_html_opts, glyph_items]
30
31
  end
31
32
 
32
33
  def glyph_by_hash
33
- if @glyph_options.kind_of?(Hash)
34
+ if @glyph_options.is_a?(Hash)
34
35
  glyph_name, glyph_opts, glyph_html_opts = format_opts
35
36
  else
36
37
  glyph_name = @glyph_options
37
38
  glyph_opts = @options
38
- #title = [(@options[:content] unless @options[:text]), ("<kbd>#{ @options[:shortcut] }</kbd>" unless @options[:shortcut].nil?)].compact.join(" ")
39
+ # title = [(@options[:content] unless @options[:text]), ("<kbd>#{ @options[:shortcut] }</kbd>" unless @options[:shortcut].nil?)].compact.join(" ")
39
40
  glyph_html_opts = @options[:html_options] || {}
40
- # glyph_html_opts = glyph_html_opts.merge(title.blank? ? {} : { title: title.html_safe })
41
+ # glyph_html_opts = glyph_html_opts.merge(title.blank? ? {} : { title: title.html_safe })
41
42
  end
42
43
 
43
44
  UiBibz::Ui::Core::Icons::Glyph.new(glyph_name, glyph_opts, glyph_html_opts).render unless glyph_name.nil?
@@ -47,11 +48,10 @@ module UiBibz::Utils
47
48
  _, glyph_opts, glyph_html_opts, glyph_items = format_opts
48
49
 
49
50
  UiBibz::Ui::Core::Icons::GlyphGroup.new(glyph_opts, glyph_html_opts).tap do |gg|
50
- glyph_items.each do|item|
51
- gg.send(item[:type] ||:glyph, item[:name] || item[:content], item, item[:html_options] || {})
51
+ glyph_items.each do |item|
52
+ gg.send(item[:type] || :glyph, item[:name] || item[:content], item, item[:html_options] || {})
52
53
  end
53
54
  end.render
54
55
  end
55
-
56
56
  end
57
57
  end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Transalte with array of translation
2
4
  #
3
5
  # => UiBibz::Utils::Internationalization.new("ui_bibz.table.actions.#{ @store.model.to_s.underscore }.show", default: defaults).translate
4
6
  module UiBibz::Utils
7
+ # Internalizations methods to translate can be used outside of Ui Bibz
5
8
  class Internationalization
6
-
7
- def initialize translation, options = {}
9
+ def initialize(translation, options = {})
8
10
  @translation = translation
9
11
  @options = options
10
12
  end
@@ -13,7 +15,7 @@ module UiBibz::Utils
13
15
  I18n.t(@translation, options_with_default)
14
16
  end
15
17
 
16
- private
18
+ private
17
19
 
18
20
  def options_with_default
19
21
  @options[:default] = translate_default unless @options[:default].nil?
@@ -21,13 +23,14 @@ module UiBibz::Utils
21
23
  end
22
24
 
23
25
  # To know if translation missing
24
- def i18n_set? key
25
- I18n.t key, :raise => true rescue false
26
+ def i18n_set?(key)
27
+ I18n.t key, raise: true
28
+ rescue StandardError
29
+ false
26
30
  end
27
31
 
28
32
  def translate_default
29
- I18n.t([*@options[:default]].select{ |translation| i18n_set? translation }.first, default: [*@options[:default]].last)
33
+ I18n.t([*@options[:default]].select { |translation| i18n_set? translation }.first, default: [*@options[:default]].last)
30
34
  end
31
-
32
35
  end
33
36
  end
@@ -1,20 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module UiBibz::Utils
4
+ # Utils methods can be used outside of Ui Bibz
2
5
  class Screwdriver
3
6
  include Singleton
4
7
 
5
- def self.join_classes *classes
8
+ def self.join_classes(*classes)
6
9
  klasses = [*classes].flatten.map(&:to_s).compact.uniq.reject(&:blank?)
7
10
  klasses.empty? ? nil : klasses
8
11
  end
9
12
 
10
- def self.exclude_classes html_classes, *classes
11
- klasses = (html_classes || []).flatten.map(&:to_s).reject{ |klass_name| [*classes].flatten.include?(klass_name.to_s) || klass_name.blank? }
13
+ def self.exclude_classes(html_classes, *classes)
14
+ klasses = (html_classes || []).flatten.map(&:to_s).reject { |klass_name| [*classes].flatten.include?(klass_name.to_s) || klass_name.blank? }
12
15
  klasses.empty? ? nil : klasses
13
16
  end
14
17
 
15
- def self.uniq_word_in_string str
18
+ def self.uniq_word_in_string(str)
16
19
  str.split(/\s/).uniq
17
20
  end
18
-
19
21
  end
20
22
  end