ui_bibz 3.0.13 → 4.0.0.beta3

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 (294) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +3 -3
  3. data/.github/workflows/linter.yml +13 -12
  4. data/.overcommit.yml +6 -0
  5. data/.rubocop.yml +6 -0
  6. data/.ruby-version +1 -1
  7. data/Gemfile +19 -12
  8. data/Gemfile.lock +178 -138
  9. data/app/assets/config/ui_bibz.js +12 -0
  10. data/app/assets/javascripts/forms/formula.js +82 -0
  11. data/app/assets/javascripts/forms/input-connected.js +132 -0
  12. data/app/assets/javascripts/forms/jquery.multi-select-extend.js +52 -0
  13. data/app/assets/javascripts/forms.js +160 -0
  14. data/app/assets/javascripts/interfaces.js +56 -0
  15. data/app/assets/javascripts/tables.js +49 -0
  16. data/app/assets/javascripts/ui_bibz_js.js +37 -0
  17. data/app/assets/stylesheets/navigations/_nav.sass +2 -0
  18. data/app/assets/stylesheets/navigations/_navbar.sass +12 -0
  19. data/app/assets/stylesheets/navigations/_progress_bar.sass +2 -0
  20. data/app/assets/stylesheets/navigations/_toolbar.sass +3 -0
  21. data/app/assets/stylesheets/sass/_boxes.sass +1 -0
  22. data/app/assets/stylesheets/sass/_containers.sass +2 -0
  23. data/app/assets/stylesheets/sass/_fixes.sass +2 -0
  24. data/app/assets/stylesheets/sass/_forms.sass +8 -0
  25. data/app/assets/stylesheets/sass/_navigations.sass +4 -0
  26. data/app/assets/stylesheets/sass/_notifications.sass +4 -0
  27. data/app/assets/stylesheets/sass/_tables.sass +2 -0
  28. data/app/assets/stylesheets/sass/_variables_mixins_functions.sass +3 -0
  29. data/app/assets/stylesheets/sass/boxes/_card.sass +4 -0
  30. data/app/assets/stylesheets/sass/containers/_panel.scss +330 -0
  31. data/app/assets/stylesheets/sass/forms/_bootstrap_select.sass +5 -0
  32. data/app/assets/stylesheets/sass/forms/_button.sass +3 -0
  33. data/app/assets/stylesheets/sass/forms/_date_picker.sass +3 -0
  34. data/app/assets/stylesheets/sass/forms/_form_check.sass +10 -0
  35. data/app/assets/stylesheets/sass/forms/_formula_field.sass +17 -0
  36. data/app/assets/stylesheets/sass/forms/_multiselect.sass +44 -0
  37. data/app/assets/stylesheets/sass/forms/_range.sass +44 -0
  38. data/app/assets/stylesheets/sass/forms/_slider.sass +136 -0
  39. data/app/assets/stylesheets/sass/forms/_surround_field.sass +25 -0
  40. data/app/assets/stylesheets/sass/notifications/_badge.sass +5 -0
  41. data/app/assets/stylesheets/sass/notifications/_glyph.sass +3 -0
  42. data/app/assets/stylesheets/sass/notifications/_star.sass +2 -0
  43. data/app/assets/stylesheets/sass/notifications/_toast.sass +3 -0
  44. data/app/assets/stylesheets/sass/tables/_table.sass +39 -0
  45. data/app/assets/stylesheets/sass/tables/_table_card.sass +39 -0
  46. data/app/assets/stylesheets/ui_bibz.sass +26 -0
  47. data/bin/test +3 -5
  48. data/config/importmap.rb +19 -0
  49. data/config/initializers/assets.rb +5 -0
  50. data/config/initializers/will_paginate.rb +1 -3
  51. data/lib/ui_bibz/builders/data_html_options_builder.rb +118 -0
  52. data/lib/ui_bibz/builders/html_classes_builder.rb +89 -0
  53. data/lib/ui_bibz/builders/html_options_builder.rb +22 -0
  54. data/lib/ui_bibz/factory_methods/component_initialize_factory_method.rb +33 -0
  55. data/lib/ui_bibz/helpers/ui/core/boxes_helper.rb +12 -12
  56. data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +50 -50
  57. data/lib/ui_bibz/helpers/ui/core/icons_helper.rb +6 -6
  58. data/lib/ui_bibz/helpers/ui/core/layouts_helper.rb +2 -2
  59. data/lib/ui_bibz/helpers/ui/core/lists_helper.rb +2 -2
  60. data/lib/ui_bibz/helpers/ui/core/navigations_helper.rb +12 -12
  61. data/lib/ui_bibz/helpers/ui/core/notifications_helper.rb +4 -4
  62. data/lib/ui_bibz/helpers/ui/core/windows_helper.rb +10 -2
  63. data/lib/ui_bibz/helpers/ui/ux_helper.rb +2 -2
  64. data/lib/ui_bibz/helpers/utils_helper.rb +2 -2
  65. data/lib/ui_bibz/infos.rb +3 -3
  66. data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +12 -12
  67. data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +1 -1
  68. data/lib/ui_bibz/rails/engine.rb +21 -4
  69. data/lib/ui_bibz/strategies/component_initialize_abstract_strategy.rb +27 -0
  70. data/lib/ui_bibz/strategies/component_initialize_block_strategy.rb +31 -0
  71. data/lib/ui_bibz/strategies/component_initialize_hash_strategy.rb +18 -0
  72. data/lib/ui_bibz/strategies/component_initialize_standard_strategy.rb +18 -0
  73. data/lib/ui_bibz/ui/concerns/card_itemable_concern.rb +4 -4
  74. data/lib/ui_bibz/ui/concerns/notification_concern.rb +1 -1
  75. data/lib/ui_bibz/ui/core/boxes/card.rb +1 -1
  76. data/lib/ui_bibz/ui/core/boxes/card_accordion.rb +4 -4
  77. data/lib/ui_bibz/ui/core/boxes/card_column.rb +1 -1
  78. data/lib/ui_bibz/ui/core/boxes/card_deck.rb +1 -1
  79. data/lib/ui_bibz/ui/core/boxes/card_grid.rb +0 -3
  80. data/lib/ui_bibz/ui/core/boxes/card_group.rb +1 -1
  81. data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +9 -9
  82. data/lib/ui_bibz/ui/core/boxes/components/card_col.rb +2 -2
  83. data/lib/ui_bibz/ui/core/boxes/components/card_list_group.rb +1 -1
  84. data/lib/ui_bibz/ui/core/boxes/components/card_row.rb +1 -1
  85. data/lib/ui_bibz/ui/core/component.rb +13 -62
  86. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +3 -1
  87. data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +11 -11
  88. data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +7 -7
  89. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +2 -2
  90. data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +5 -6
  91. data/lib/ui_bibz/ui/core/forms/choices/components/choice.rb +1 -1
  92. data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +15 -15
  93. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_link.rb +1 -1
  94. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +5 -5
  95. data/lib/ui_bibz/ui/core/forms/numbers/slider_field.rb +1 -1
  96. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +10 -10
  97. data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +2 -2
  98. data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +32 -32
  99. data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +7 -8
  100. data/lib/ui_bibz/ui/core/icons/components/glyph_text.rb +1 -1
  101. data/lib/ui_bibz/ui/core/icons/glyph.rb +4 -3
  102. data/lib/ui_bibz/ui/core/layouts/row.rb +2 -2
  103. data/lib/ui_bibz/ui/core/lists/components/list.rb +4 -4
  104. data/lib/ui_bibz/ui/core/lists/list_group.rb +1 -1
  105. data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +6 -4
  106. data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +1 -2
  107. data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +6 -5
  108. data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +2 -2
  109. data/lib/ui_bibz/ui/core/navigations/nav.rb +10 -6
  110. data/lib/ui_bibz/ui/core/navigations/navbar.rb +21 -19
  111. data/lib/ui_bibz/ui/core/navigations/pagination.rb +3 -3
  112. data/lib/ui_bibz/ui/core/navigations/toolbar.rb +5 -5
  113. data/lib/ui_bibz/ui/core/notifications/alert.rb +4 -5
  114. data/lib/ui_bibz/ui/core/notifications/badge.rb +6 -2
  115. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +1 -1
  116. data/lib/ui_bibz/ui/core/notifications/progress_bar.rb +3 -3
  117. data/lib/ui_bibz/ui/core/notifications/toast.rb +8 -9
  118. data/lib/ui_bibz/ui/core/windows/components/offcanvas_body.rb +47 -0
  119. data/lib/ui_bibz/ui/core/windows/components/offcanvas_header.rb +54 -0
  120. data/lib/ui_bibz/ui/core/windows/modal.rb +9 -9
  121. data/lib/ui_bibz/ui/core/windows/offcanvas.rb +84 -0
  122. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +4 -20
  123. data/lib/ui_bibz/ui/extensions/core/component/klass_extension.rb +11 -19
  124. data/lib/ui_bibz/ui/extensions/core/forms/connect_extension.rb +1 -1
  125. data/lib/ui_bibz/ui/ux/containers/components/panel_column.rb +3 -3
  126. data/lib/ui_bibz/ui/ux/containers/components/panel_deck.rb +3 -3
  127. data/lib/ui_bibz/ui/ux/containers/components/panel_group.rb +3 -3
  128. data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +4 -4
  129. data/lib/ui_bibz/ui/ux/containers/panel.rb +13 -13
  130. data/lib/ui_bibz/ui/ux/tables/components/actions.rb +4 -4
  131. data/lib/ui_bibz/ui/ux/tables/components/column.rb +1 -1
  132. data/lib/ui_bibz/ui/ux/tables/components/columns.rb +2 -2
  133. data/lib/ui_bibz/ui/ux/tables/extensions/sortable.rb +1 -1
  134. data/lib/ui_bibz/ui/ux/tables/table.rb +5 -5
  135. data/lib/ui_bibz/ui/ux/tables/table_card.rb +6 -6
  136. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +1 -1
  137. data/lib/ui_bibz/utils/breakdown_class_name_generator.rb +3 -3
  138. data/lib/ui_bibz/utils/screwdriver.rb +1 -1
  139. data/lib/ui_bibz/view_objects/glyph_component_view_object.rb +38 -0
  140. data/lib/ui_bibz.rb +25 -0
  141. data/test/builders/data_html_classes_builder_test.rb +37 -0
  142. data/test/builders/html_classes_builder_test.rb +76 -0
  143. data/test/dummy/Rakefile +1 -1
  144. data/test/dummy/app/assets/stylesheets/application.css +1 -15
  145. data/test/dummy/app/channels/application_cable/channel.rb +6 -0
  146. data/test/dummy/app/channels/application_cable/connection.rb +6 -0
  147. data/test/dummy/app/jobs/application_job.rb +9 -0
  148. data/test/dummy/app/mailers/application_mailer.rb +6 -0
  149. data/test/dummy/app/views/layouts/application.html.erb +10 -12
  150. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  151. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  152. data/test/dummy/bin/rails +3 -3
  153. data/test/dummy/bin/rake +2 -2
  154. data/test/dummy/bin/setup +12 -12
  155. data/test/dummy/config/application.rb +13 -17
  156. data/test/dummy/config/boot.rb +3 -3
  157. data/test/dummy/config/database.yml +2 -2
  158. data/test/dummy/config/environment.rb +1 -1
  159. data/test/dummy/config/environments/development.rb +21 -16
  160. data/test/dummy/config/environments/production.rb +16 -41
  161. data/test/dummy/config/environments/test.rb +19 -8
  162. data/test/dummy/config/importmap.rb +11 -0
  163. data/test/dummy/config/initializers/content_security_policy.rb +21 -24
  164. data/test/dummy/config/initializers/filter_parameter_logging.rb +6 -2
  165. data/test/dummy/config/initializers/inflections.rb +4 -4
  166. data/test/dummy/config/initializers/permissions_policy.rb +12 -0
  167. data/test/dummy/config/locales/en.yml +13 -3
  168. data/test/dummy/config/puma.rb +7 -2
  169. data/test/dummy/config/storage.yml +5 -5
  170. data/test/dummy/config.ru +2 -1
  171. data/test/simple_form_test.rb +24 -24
  172. data/test/ui/core/boxes/card_test.rb +2 -1
  173. data/test/ui/core/component_test.rb +2 -2
  174. data/test/ui/core/forms/buttons/button_group_test.rb +1 -1
  175. data/test/ui/core/forms/buttons/button_link_test.rb +1 -1
  176. data/test/ui/core/forms/buttons/button_refresh_test.rb +1 -1
  177. data/test/ui/core/forms/buttons/button_test.rb +2 -2
  178. data/test/ui/core/forms/choices/box_switch_field_test.rb +10 -10
  179. data/test/ui/core/forms/choices/checkbox_field_test.rb +1 -1
  180. data/test/ui/core/forms/choices/choice_group_test.rb +1 -1
  181. data/test/ui/core/forms/dropdowns/dropdown_test.rb +1 -1
  182. data/test/ui/core/forms/numbers/formula_field_test.rb +1 -1
  183. data/test/ui/core/forms/selects/dropdown_select_field_test.rb +2 -2
  184. data/test/ui/core/forms/selects/select_field_test.rb +1 -1
  185. data/test/ui/core/forms/surrounds/surround_field_test.rb +4 -4
  186. data/test/ui/core/forms/texts/auto_complete_field_test.rb +2 -2
  187. data/test/ui/core/icons/glyph_test.rb +8 -4
  188. data/test/ui/core/icons/star_test.rb +12 -6
  189. data/test/ui/core/navigations/breadcrumb_test.rb +1 -1
  190. data/test/ui/core/navigations/link_test.rb +1 -1
  191. data/test/ui/core/navigations/nav_test.rb +11 -0
  192. data/test/ui/core/notifications/alert_test.rb +1 -1
  193. data/test/ui/core/notifications/badge_test.rb +3 -3
  194. data/test/ui/core/notifications/popover_test.rb +4 -4
  195. data/test/ui/core/notifications/spinner_test.rb +1 -1
  196. data/test/ui/core/notifications/toast_test.rb +1 -1
  197. data/test/ui/core/notifications/tooltip_test.rb +4 -4
  198. data/test/ui/core/windows/offcanvas_test.rb +27 -0
  199. data/test/ui/ux/containers/panel_test.rb +1 -1
  200. data/test/ui/ux/tables/table_test.rb +3 -3
  201. data/test/view_objects/glyph_component_view_object_test.rb +17 -0
  202. data/ui_bibz.gemspec +6 -20
  203. data/vendor/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
  204. data/vendor/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  205. data/vendor/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
  206. data/vendor/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  207. data/vendor/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
  208. data/vendor/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  209. data/vendor/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
  210. data/vendor/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
  211. data/vendor/assets/javascripts/bootstrap-markdown.js +1 -1555
  212. data/vendor/assets/javascripts/bootstrap-multiselect.min.js +40 -1176
  213. data/vendor/assets/javascripts/bootstrap-switch.min.js +9 -21
  214. data/vendor/assets/javascripts/bs-custom-file-input.min.js +0 -1
  215. data/vendor/assets/javascripts/fontawesome/all.js +5977 -0
  216. data/vendor/assets/javascripts/fontawesome/all.min.js +6 -0
  217. data/vendor/assets/javascripts/fontawesome/brands.js +749 -0
  218. data/vendor/assets/javascripts/fontawesome/brands.min.js +6 -0
  219. data/vendor/assets/javascripts/fontawesome/conflict-detection.js +1138 -0
  220. data/vendor/assets/javascripts/fontawesome/conflict-detection.min.js +6 -0
  221. data/vendor/assets/javascripts/fontawesome/fontawesome.js +3126 -0
  222. data/vendor/assets/javascripts/fontawesome/fontawesome.min.js +6 -0
  223. data/vendor/assets/javascripts/fontawesome/regular.js +445 -0
  224. data/vendor/assets/javascripts/fontawesome/regular.min.js +6 -0
  225. data/vendor/assets/javascripts/fontawesome/solid.js +1672 -0
  226. data/vendor/assets/javascripts/fontawesome/solid.min.js +6 -0
  227. data/vendor/assets/javascripts/fontawesome/v4-shims.js +225 -0
  228. data/vendor/assets/javascripts/fontawesome/v4-shims.min.js +6 -0
  229. data/vendor/assets/javascripts/fuzzysort.js +562 -0
  230. data/vendor/assets/javascripts/jquery-3.7.0.min.js +2 -0
  231. data/vendor/assets/javascripts/jquery.multi-select.min.js +725 -1
  232. data/vendor/assets/stylesheets/bootstrap-multiselect.sass +115 -0
  233. data/vendor/assets/stylesheets/bootstrap-switch.scss +211 -0
  234. data/vendor/assets/stylesheets/fontawesome/_animated.scss +142 -9
  235. data/vendor/assets/stylesheets/fontawesome/_bordered-pulled.scss +13 -13
  236. data/vendor/assets/stylesheets/fontawesome/_core.scss +28 -6
  237. data/vendor/assets/stylesheets/fontawesome/_fixed-width.scss +2 -1
  238. data/vendor/assets/stylesheets/fontawesome/_functions.scss +57 -0
  239. data/vendor/assets/stylesheets/fontawesome/_icons.scss +7 -1438
  240. data/vendor/assets/stylesheets/fontawesome/_list.scss +4 -4
  241. data/vendor/assets/stylesheets/fontawesome/_mixins.scss +53 -34
  242. data/vendor/assets/stylesheets/fontawesome/_rotated-flipped.scss +25 -18
  243. data/vendor/assets/stylesheets/fontawesome/_screen-reader.scss +12 -3
  244. data/vendor/assets/stylesheets/fontawesome/_shims.scss +640 -664
  245. data/vendor/assets/stylesheets/fontawesome/_sizing.scss +16 -0
  246. data/vendor/assets/stylesheets/fontawesome/_stacked.scss +5 -4
  247. data/vendor/assets/stylesheets/fontawesome/_variables.scss +4896 -1393
  248. data/vendor/assets/stylesheets/fontawesome/brands.scss +17 -10
  249. data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +7 -2
  250. data/vendor/assets/stylesheets/fontawesome/regular.scss +13 -10
  251. data/vendor/assets/stylesheets/fontawesome/solid.scss +13 -11
  252. data/vendor/assets/stylesheets/fontawesome/v4-shims.scss +6 -1
  253. data/vendor/assets/stylesheets/multi-select.css +92 -0
  254. metadata +120 -348
  255. data/.gitlab-ci.yml +0 -17
  256. data/.travis.yml +0 -24
  257. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +0 -70
  258. data/structure.md +0 -68
  259. data/test/dummy/README.rdoc +0 -28
  260. data/test/dummy/app/assets/javascripts/application.js +0 -13
  261. data/test/dummy/app/javascripts/packs/index.js +0 -3
  262. data/test/dummy/config/initializers/application_controller_renderer.rb +0 -9
  263. data/test/dummy/config/initializers/assets.rb +0 -14
  264. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -8
  265. data/test/dummy/config/initializers/cookies_serializer.rb +0 -7
  266. data/test/dummy/config/initializers/mime_types.rb +0 -5
  267. data/test/dummy/config/initializers/session_store.rb +0 -5
  268. data/test/dummy/config/initializers/ui_bibz.rb +0 -5
  269. data/test/dummy/config/initializers/wrap_parameters.rb +0 -16
  270. data/test/dummy/config/secrets.yml +0 -22
  271. data/test/dummy/config/spring.rb +0 -8
  272. data/test/dummy/test/models/user_test.rb +0 -9
  273. data/vendor/assets/fonts/fa-brands-400.eot +0 -0
  274. data/vendor/assets/fonts/fa-brands-400.svg +0 -3570
  275. data/vendor/assets/fonts/fa-brands-400.ttf +0 -0
  276. data/vendor/assets/fonts/fa-brands-400.woff +0 -0
  277. data/vendor/assets/fonts/fa-brands-400.woff2 +0 -0
  278. data/vendor/assets/fonts/fa-regular-400.eot +0 -0
  279. data/vendor/assets/fonts/fa-regular-400.svg +0 -803
  280. data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
  281. data/vendor/assets/fonts/fa-regular-400.woff +0 -0
  282. data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
  283. data/vendor/assets/fonts/fa-solid-900.eot +0 -0
  284. data/vendor/assets/fonts/fa-solid-900.svg +0 -4938
  285. data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
  286. data/vendor/assets/fonts/fa-solid-900.woff +0 -0
  287. data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
  288. data/vendor/assets/javascripts/all.js +0 -4441
  289. data/vendor/assets/javascripts/all.min.js +0 -5
  290. data/vendor/assets/stylesheets/all.min.css +0 -5
  291. data/vendor/assets/stylesheets/fontawesome/_larger.scss +0 -23
  292. data/vendor/assets/stylesheets/svg-with-js.css +0 -5
  293. /data/{test/dummy/app/mailers/.keep → app/assets/stylesheets/sass/forms/_dropdown.sass} +0 -0
  294. /data/{test/dummy/app/views/users/index.html.erb → app/assets/stylesheets/sass/forms/_input_refresh_button.sass} +0 -0
@@ -58,7 +58,7 @@ module UiBibz::Ui::Core::Notifications
58
58
  include UiBibz::Ui::Concerns::HtmlConcern
59
59
 
60
60
  # See UiBibz::Ui::Core::Component.initialize
61
- def initialize(content = nil, options = nil, html_options = nil, &block)
61
+ def initialize(...)
62
62
  super
63
63
  @items = []
64
64
  end
@@ -68,8 +68,8 @@ module UiBibz::Ui::Core::Notifications
68
68
  content_tag :div, bars.join.html_safe, html_options
69
69
  end
70
70
 
71
- def bar(content = nil, options = nil, html_options = nil, &block)
72
- @items << UiBibz::Ui::Core::Notifications::Components::Bar.new(content, options, html_options, &block).render
71
+ def bar(content = nil, options = nil, html_options = nil, &)
72
+ @items << UiBibz::Ui::Core::Notifications::Components::Bar.new(content, options, html_options, &).render
73
73
  end
74
74
 
75
75
  private
@@ -56,7 +56,7 @@ module UiBibz::Ui::Core::Notifications
56
56
  #
57
57
  class Toast < UiBibz::Ui::Core::Component
58
58
  # See UiBibz::Ui::Core::Component.initialize
59
- def initialize(content = nil, options = nil, html_options = nil, &block)
59
+ def initialize(...)
60
60
  super
61
61
  body(@content) unless @tapped
62
62
  end
@@ -70,19 +70,19 @@ module UiBibz::Ui::Core::Notifications
70
70
  end
71
71
 
72
72
  # Add Header which is a component
73
- def header(content = nil, options = nil, html_options = nil, &block)
74
- @header = UiBibz::Ui::Core::Notifications::Components::ToastHeader.new(content, options, html_options, &block).render
73
+ def header(content = nil, options = nil, html_options = nil, &)
74
+ @header = UiBibz::Ui::Core::Notifications::Components::ToastHeader.new(content, options, html_options, &).render
75
75
  end
76
76
 
77
77
  # Add Body which is a component
78
- def body(content = nil, options = nil, html_options = nil, &block)
78
+ def body(content = nil, options = nil, html_options = nil, &)
79
79
  @body = if @header.nil?
80
80
  content_tag :div, class: 'd-flex' do
81
- concat UiBibz::Ui::Core::Notifications::Components::ToastBody.new(content, options, html_options, &block).render
81
+ concat UiBibz::Ui::Core::Notifications::Components::ToastBody.new(content, options, html_options, &).render
82
82
  concat close_html if (options || {})[:closable]
83
83
  end
84
84
  else
85
- UiBibz::Ui::Core::Notifications::Components::ToastBody.new(content, options, html_options, &block).render
85
+ UiBibz::Ui::Core::Notifications::Components::ToastBody.new(content, options, html_options, &).render
86
86
  end
87
87
  end
88
88
 
@@ -106,8 +106,7 @@ module UiBibz::Ui::Core::Notifications
106
106
  end
107
107
 
108
108
  def component_html_data
109
- super
110
- add_html_data 'bs-autohide', value: options[:auto_hide] if options[:auto_hide]
109
+ @data_html_options_builder.add 'bs-autohide', value: options[:auto_hide]
111
110
  end
112
111
 
113
112
  def status
@@ -131,7 +130,7 @@ module UiBibz::Ui::Core::Notifications
131
130
  end
132
131
 
133
132
  def close_button_classes
134
- UiBibz::Utils::Screwdriver.join_classes('btn-close', 'me-2', 'm-auto', white_btn_color)
133
+ UiBibz::Builders::HtmlClassesBuilder.join_classes('btn-close', 'me-2', 'm-auto', white_btn_color)
135
134
  end
136
135
  end
137
136
  end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module UiBibz::Ui::Core::Windows::Components
4
+ # Create a offcanvas body
5
+ #
6
+ # ==== Attributes
7
+ #
8
+ # * +content+ - Content of element
9
+ # * +options+ - Options of element
10
+ # * +html_options+ - Html Options of element
11
+ #
12
+ # ==== Options
13
+ #
14
+ # You can add HTML attributes using the +html_options+.
15
+ # You can pass arguments in options attribute:
16
+ #
17
+ # ==== Signatures
18
+ #
19
+ # UiBibz::Ui::Core::OffcanvasBody.new(content, options = nil, html_options = nil)
20
+ #
21
+ # UiBibz::Ui::Core::OffcanvasBody.new(options = nil, html_options = nil) do
22
+ # content
23
+ # end
24
+ #
25
+ # ==== Examples
26
+ #
27
+ # UiBibz::Ui::Core::OffcanvasBody.new.render
28
+ #
29
+ # UiBibz::Ui::Core::OffcanvasBody.new do
30
+ # 'Exemple'
31
+ # end.render
32
+ #
33
+ class OffcanvasBody < UiBibz::Ui::Core::Component
34
+ # See UiBibz::Ui::Core::Component.initialize
35
+
36
+ # Render html tag
37
+ def pre_render
38
+ content_tag :div, content, html_options
39
+ end
40
+
41
+ private
42
+
43
+ def component_html_classes
44
+ 'offcanvas-body'
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module UiBibz::Ui::Core::Windows::Components
4
+ # Create a offcanvas header
5
+ #
6
+ # ==== Attributes
7
+ #
8
+ # * +content+ - Content of element
9
+ # * +options+ - Options of element
10
+ # * +html_options+ - Html Options of element
11
+ #
12
+ # ==== Options
13
+ #
14
+ # You can add HTML attributes using the +html_options+.
15
+ # You can pass arguments in options attribute:
16
+ #
17
+ # ==== Signatures
18
+ #
19
+ # UiBibz::Ui::Core::OffcanvasHeader.new(content, options = nil, html_options = nil)
20
+ #
21
+ # UiBibz::Ui::Core::CarHeader.new(options = nil, html_options = nil) do
22
+ # content
23
+ # end
24
+ #
25
+ # ==== Examples
26
+ #
27
+ # UiBibz::Ui::Core::OffcanvasHeader.new.render
28
+ #
29
+ # UiBibz::Ui::Core::OffcanvasHeader.new do
30
+ # 'Exemple'
31
+ # end.render
32
+ #
33
+ class OffcanvasHeader < UiBibz::Ui::Core::Component
34
+ # See UiBibz::Ui::Core::Component.initialize
35
+
36
+ # Render html tag
37
+ def pre_render
38
+ content_tag :div, html_options do
39
+ concat content_tag :h5, glyph_and_content_html, class: 'offcanvas-title'
40
+ concat close_button_html
41
+ end
42
+ end
43
+
44
+ private
45
+
46
+ def component_html_classes
47
+ 'offcanvas-header'
48
+ end
49
+
50
+ def close_button_html
51
+ content_tag :button, '', class: 'btn-close', 'data-bs-dismiss' => 'offcanvas', 'aria-label' => 'Close'
52
+ end
53
+ end
54
+ end
@@ -73,22 +73,22 @@ module UiBibz::Ui::Core::Windows
73
73
  end
74
74
  end
75
75
 
76
- def header(content = nil, options = nil, html_options = nil, &block)
77
- @header = UiBibz::Ui::Core::Windows::Components::ModalHeader.new(content, options, html_options, &block)
76
+ def header(content = nil, options = nil, html_options = nil, &)
77
+ @header = UiBibz::Ui::Core::Windows::Components::ModalHeader.new(content, options, html_options, &)
78
78
  end
79
79
 
80
- def footer(content = nil, options = nil, html_options = nil, &block)
81
- @footer = UiBibz::Ui::Core::Windows::Components::ModalFooter.new(content, options, html_options, &block)
80
+ def footer(content = nil, options = nil, html_options = nil, &)
81
+ @footer = UiBibz::Ui::Core::Windows::Components::ModalFooter.new(content, options, html_options, &)
82
82
  end
83
83
 
84
- def body(content = nil, options = nil, html_options = nil, &block)
85
- @body = UiBibz::Ui::Core::Windows::Components::ModalBody.new(content, options, html_options, &block)
84
+ def body(content = nil, options = nil, html_options = nil, &)
85
+ @body = UiBibz::Ui::Core::Windows::Components::ModalBody.new(content, options, html_options, &)
86
86
  end
87
87
 
88
88
  private
89
89
 
90
90
  def modal_dialog_classes
91
- UiBibz::Utils::Screwdriver.join_classes('modal-dialog', fullscreen_size, size, position, scrollable)
91
+ UiBibz::Builders::HtmlClassesBuilder.join_classes('modal-dialog', fullscreen_size, size, position, scrollable)
92
92
  end
93
93
 
94
94
  def component_html_classes
@@ -146,8 +146,8 @@ module UiBibz::Ui::Core::Windows
146
146
  def backdrop
147
147
  return unless @options[:backdrop]
148
148
 
149
- add_html_data 'bs-backdrop', value: @options[:backdrop]
150
- add_html_data 'bs-keyboard', value: 'false'
149
+ @data_html_options_builder.add 'bs-backdrop', value: @options[:backdrop]
150
+ @data_html_options_builder.add 'bs-keyboard', value: 'false'
151
151
  end
152
152
  end
153
153
  end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ui_bibz/ui/core/windows/components/offcanvas_header'
4
+ require 'ui_bibz/ui/core/windows/components/offcanvas_body'
5
+ module UiBibz::Ui::Core::Windows
6
+ # Create a offcanvas
7
+ #
8
+ # This element is an extend of UiBibz::Ui::Core::Component.
9
+ #
10
+ # ==== Attributes
11
+ #
12
+ # * +content+ - Content of element
13
+ # * +options+ - Options of element
14
+ # * +html_options+ - Html Options of element
15
+ #
16
+ # ==== Options
17
+ #
18
+ # You can add HTML attributes using the +html_options+.
19
+ # You can pass arguments in options attribute:
20
+ # * +status+ - status of element with +symbol+ value:
21
+ # (+:primary+, +:secondary+, +:info+, +:warning+, +:danger+)
22
+ # * +size+ - Size of element with +symbol+ value:
23
+ # (+:xs+, +:sm+, +:lg+)
24
+ # * +position+ - Position vertical or horizontal with +symbol+ value:
25
+ # (+:vertical+, +:horizontal+)
26
+ #
27
+ # ==== Signatures
28
+ #
29
+ # UiBibz::Ui::Core::Windows::Offcanvas.new(options = nil, html_options = nil) do |bt|
30
+ # ...
31
+ # end
32
+ #
33
+ # ==== Examples
34
+ #
35
+ class Offcanvas < UiBibz::Ui::Core::Component
36
+ # Render html tag
37
+ def pre_render
38
+ content_tag :div, html_options do
39
+ concat @header&.render
40
+ concat @body&.render
41
+ end
42
+ end
43
+
44
+ def header(content = nil, options = nil, html_options = nil, &)
45
+ @header = UiBibz::Ui::Core::Windows::Components::OffcanvasHeader.new(content, options, html_options, &)
46
+ end
47
+
48
+ def body(content = nil, options = nil, html_options = nil, &)
49
+ @body = UiBibz::Ui::Core::Windows::Components::OffcanvasBody.new(content, options, html_options, &)
50
+ end
51
+
52
+ private
53
+
54
+ def component_html_classes
55
+ ['offcanvas', position]
56
+ end
57
+
58
+ def component_html_options
59
+ { tabindex: '-1' }
60
+ end
61
+
62
+ def position
63
+ "offcanvas-#{options[:position] || 'start'}"
64
+ end
65
+
66
+ def component_html_data
67
+ super
68
+ backdrop
69
+ scrollable
70
+ end
71
+
72
+ def backdrop
73
+ return unless @options[:backdrop]
74
+
75
+ @data_html_options_builder.add 'bs-backdrop', value: @options[:backdrop]
76
+ end
77
+
78
+ def scrollable
79
+ return unless @options[:scrollable]
80
+
81
+ @data_html_options_builder.add 'bs-scroll', value: @options[:scrollable]
82
+ end
83
+ end
84
+ end
@@ -3,26 +3,10 @@
3
3
  module GlyphExtension
4
4
  # Render glyph and content html
5
5
  def glyph_and_content_html(content_html = nil)
6
- options[:glyph] ? generate_glyph(content_html) : content_html || content
7
- end
8
-
9
- # Render glyph html
10
- def generate_glyph(content_html)
11
- glyph_options = if options[:glyph].is_a?(Hash)
12
- options[:glyph]
13
- elsif options[:glyph]
14
- { name: options[:glyph] }
15
- else
16
- {}
17
- end
18
-
19
- glyph_options = glyph_options.tap do |h|
20
- h[:text] = options[:text]
21
- h[:label] = options[:label] || content_html || content
22
- h[:shortcut] = options[:shortcut] unless options[:shortcut].nil?
6
+ if options[:glyph]
7
+ UiBibz::ViewObjects::GlyphComponentViewObject.new(options, content_html || content).render
8
+ else
9
+ content_html || content
23
10
  end
24
-
25
- # UiBibz::Utils::GlyphChanger.new(glyph_options[:name], glyph_options).render unless glyph_options[:name].nil?
26
- UiBibz::Ui::Core::Icons::Glyph.new(glyph_options[:name], glyph_options).render if glyph_options[:name].present?
27
11
  end
28
12
  end
@@ -2,47 +2,43 @@
2
2
 
3
3
  module KlassExtension
4
4
  def join_classes(*classes)
5
- UiBibz::Utils::Screwdriver.join_classes classes
5
+ UiBibz::Builders::HtmlClassesBuilder.join_classes classes
6
6
  end
7
7
 
8
8
  def exclude_classes(arr, *classes)
9
- UiBibz::Utils::Screwdriver.exclude_classes arr, classes
9
+ UiBibz::Builders::HtmlClassesBuilder.exclude_classes arr, classes
10
10
  end
11
11
 
12
12
  # Override this method to add a status class
13
13
  def status; end
14
14
 
15
+ # TODO: Refactor
16
+ # Not very clean but it's the only way to remove classes to html_options
15
17
  def exclude_classes_in_html_options(*classes)
16
- html_options[:class] = exclude_classes html_options[:class], classes
18
+ html_options[:class] = exclude_classes [html_options[:class], options[:classes]], classes
17
19
  end
18
20
 
19
21
  private
20
22
 
21
23
  def initialize_component_html_classes
22
- cls = [
23
- original_html_options,
24
+ html_classes_builder = UiBibz::Builders::HtmlClassesBuilder.new
25
+ html_classes_builder.add [
26
+ html_options[:class],
27
+ options[:class],
24
28
  state,
25
29
  status,
26
30
  effect,
27
- options_classes,
28
31
  connect,
29
32
  component_html_classes
30
33
  ]
31
- html_options[:class] = join_classes(cls)
32
- end
33
-
34
- def original_html_options
35
- transform_classes_to_array(html_options[:class])
34
+ # html_options[:class] = html_classes_builder.output
35
+ html_classes_builder.output
36
36
  end
37
37
 
38
38
  def effect
39
39
  options[:effect]
40
40
  end
41
41
 
42
- def options_classes
43
- transform_classes_to_array(options[:class])
44
- end
45
-
46
42
  def state
47
43
  options[:state] unless options[:state].nil?
48
44
  end
@@ -50,8 +46,4 @@ module KlassExtension
50
46
  def connect
51
47
  'ui-bibz-connect' unless options[:connect].nil?
52
48
  end
53
-
54
- def transform_classes_to_array(classes)
55
- UiBibz::Utils::Screwdriver.uniq_word_in_string(classes.is_a?(String) ? classes : classes.join(' ')) unless classes.nil?
56
- end
57
49
  end
@@ -26,6 +26,6 @@ module ConnectExtension
26
26
  end
27
27
 
28
28
  def connect_options
29
- add_html_data('connect', value: options[:connect]) if options[:connect]
29
+ @data_html_options_builder.add('connect', value: options[:connect])
30
30
  end
31
31
  end
@@ -26,7 +26,7 @@ module UiBibz::Ui::Ux::Containers::Components
26
26
  include UiBibz::Ui::Concerns::HtmlConcern
27
27
 
28
28
  # See UiBibz::Ui::Core::Component.initialize
29
- def initialize(content = nil, options = nil, html_options = nil, &block)
29
+ def initialize(...)
30
30
  super
31
31
  @items = []
32
32
  end
@@ -36,8 +36,8 @@ module UiBibz::Ui::Ux::Containers::Components
36
36
  content_tag :div, @items.join.html_safe, html_options
37
37
  end
38
38
 
39
- def panel(content = nil, options = nil, html_options = nil, &block)
40
- @items << UiBibz::Ui::Ux::Containers::Panel.new(content, options, html_options).tap(&block).render
39
+ def panel(content = nil, options = nil, html_options = nil, &)
40
+ @items << UiBibz::Ui::Ux::Containers::Panel.new(content, options, html_options).tap(&).render
41
41
  end
42
42
 
43
43
  private
@@ -26,7 +26,7 @@ module UiBibz::Ui::Ux::Containers::Components
26
26
  include UiBibz::Ui::Concerns::HtmlConcern
27
27
 
28
28
  # See UiBibz::Ui::Core::Component.initialize
29
- def initialize(content = nil, options = nil, html_options = nil, &block)
29
+ def initialize(...)
30
30
  super
31
31
  @items = []
32
32
  end
@@ -38,8 +38,8 @@ module UiBibz::Ui::Ux::Containers::Components
38
38
  end
39
39
  end
40
40
 
41
- def panel(content = nil, options = nil, html_options = nil, &block)
42
- @items << UiBibz::Ui::Ux::Containers::Panel.new(content, options, html_options).tap(&block).render
41
+ def panel(content = nil, options = nil, html_options = nil, &)
42
+ @items << UiBibz::Ui::Ux::Containers::Panel.new(content, options, html_options).tap(&).render
43
43
  end
44
44
 
45
45
  private
@@ -24,7 +24,7 @@ module UiBibz::Ui::Ux::Containers::Components
24
24
  include UiBibz::Ui::Concerns::HtmlConcern
25
25
 
26
26
  # See UiBibz::Ui::Core::Component.initialize
27
- def initialize(content = nil, options = nil, html_options = nil, &block)
27
+ def initialize(...)
28
28
  super
29
29
  @items = []
30
30
  end
@@ -34,8 +34,8 @@ module UiBibz::Ui::Ux::Containers::Components
34
34
  content_tag :div, @items.join.html_safe, html_options
35
35
  end
36
36
 
37
- def panel(content = nil, options = nil, html_options = nil, &block)
38
- @items << UiBibz::Ui::Ux::Containers::Panel.new(content, options, html_options).tap(&block).render
37
+ def panel(content = nil, options = nil, html_options = nil, &)
38
+ @items << UiBibz::Ui::Ux::Containers::Panel.new(content, options, html_options).tap(&).render
39
39
  end
40
40
 
41
41
  private
@@ -43,12 +43,12 @@ module UiBibz::Ui::Ux::Containers::Components
43
43
  end
44
44
  end
45
45
 
46
- def title(content = nil, options = nil, html_options = nil, &block)
47
- @content = PanelHeaderTitle.new(content, options, html_options, &block).render
46
+ def title(content = nil, options = nil, html_options = nil, &)
47
+ @content = PanelHeaderTitle.new(content, options, html_options, &).render
48
48
  end
49
49
 
50
- def actions(content = nil, options = nil, html_options = nil, &block)
51
- @actions = UiBibz::Ui::Core::Forms::Buttons::ButtonGroup.new(content, options, html_options).tap(&block).render
50
+ def actions(content = nil, options = nil, html_options = nil, &)
51
+ @actions = UiBibz::Ui::Core::Forms::Buttons::ButtonGroup.new(content, options, html_options).tap(&).render
52
52
  end
53
53
 
54
54
  def tab_group(content = nil, options = nil, html_options = nil, &block)
@@ -41,7 +41,7 @@ module UiBibz::Ui::Ux::Containers
41
41
  class Panel < UiBibz::Ui::Core::Component
42
42
  include UiBibz::Ui::Concerns::HtmlConcern
43
43
 
44
- def initialize(content = nil, options = nil, html_options = nil, &block)
44
+ def initialize(...)
45
45
  super
46
46
  @items = []
47
47
  end
@@ -50,28 +50,28 @@ module UiBibz::Ui::Ux::Containers
50
50
  content_tag :div, html_structure, html_options
51
51
  end
52
52
 
53
- def toolbar(content = nil, options = nil, html_options = nil, &block)
54
- @items << UiBibz::Ui::Ux::Containers::Components::PanelToolbar.new(content, options, html_options).tap(&block).render
53
+ def toolbar(content = nil, options = nil, html_options = nil, &)
54
+ @items << UiBibz::Ui::Ux::Containers::Components::PanelToolbar.new(content, options, html_options).tap(&).render
55
55
  end
56
56
 
57
- def deck(content = nil, options = nil, html_options = nil, &block)
58
- @items << UiBibz::Ui::Ux::Containers::Components::PanelDeck.new(content, options, html_options).tap(&block).render
57
+ def deck(content = nil, options = nil, html_options = nil, &)
58
+ @items << UiBibz::Ui::Ux::Containers::Components::PanelDeck.new(content, options, html_options).tap(&).render
59
59
  end
60
60
 
61
- def column(content = nil, options = nil, html_options = nil, &block)
62
- @items << UiBibz::Ui::Ux::Containers::Components::PanelColumn.new(content, options, html_options).tap(&block).render
61
+ def column(content = nil, options = nil, html_options = nil, &)
62
+ @items << UiBibz::Ui::Ux::Containers::Components::PanelColumn.new(content, options, html_options).tap(&).render
63
63
  end
64
64
 
65
- def group(content = nil, options = nil, html_options = nil, &block)
66
- @items << UiBibz::Ui::Ux::Containers::Components::PanelGroup.new(content, options, html_options).tap(&block).render
65
+ def group(content = nil, options = nil, html_options = nil, &)
66
+ @items << UiBibz::Ui::Ux::Containers::Components::PanelGroup.new(content, options, html_options).tap(&).render
67
67
  end
68
68
 
69
- def panel(content = nil, options = nil, html_options = nil, &block)
70
- @items << UiBibz::Ui::Ux::Containers::Panel.new(content, options, html_options).tap(&block).render
69
+ def panel(content = nil, options = nil, html_options = nil, &)
70
+ @items << UiBibz::Ui::Ux::Containers::Panel.new(content, options, html_options).tap(&).render
71
71
  end
72
72
 
73
- def body(content = nil, options = nil, html_options = nil, &block)
74
- @items << UiBibz::Ui::Ux::Containers::Components::PanelBody.new(content, options, html_options, &block).render
73
+ def body(content = nil, options = nil, html_options = nil, &)
74
+ @items << UiBibz::Ui::Ux::Containers::Components::PanelBody.new(content, options, html_options, &).render
75
75
  end
76
76
 
77
77
  # Add Header which is a component
@@ -12,16 +12,16 @@ module UiBibz::Ui::Ux::Tables
12
12
  end
13
13
 
14
14
  # Add link action in table
15
- def link(content = nil, options = nil, html_options = nil, &block)
16
- @actions << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownLink.new(content, options, html_options, &block).render
15
+ def link(content = nil, options = nil, html_options = nil, &)
16
+ @actions << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownLink.new(content, options, html_options, &).render
17
17
  end
18
18
 
19
19
  def divider
20
20
  @actions << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownDivider.new.render
21
21
  end
22
22
 
23
- def header(content = nil, options = nil, html_options = nil, &block)
24
- @actions << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownHeader.new(content, options, html_options, &block).render
23
+ def header(content = nil, options = nil, html_options = nil, &)
24
+ @actions << UiBibz::Ui::Core::Forms::Dropdowns::Components::DropdownHeader.new(content, options, html_options, &).render
25
25
  end
26
26
 
27
27
  def html(content)
@@ -6,7 +6,7 @@ module UiBibz::Ui::Ux::Tables
6
6
  :date_format, :sort, :format, :count, :custom_sort, :parent, :id, :progress_options,
7
7
  :sortable
8
8
 
9
- def initialize(content = nil, options = nil, html_options = nil, &block)
9
+ def initialize(content = nil, options = nil, html_options = nil, &)
10
10
  super
11
11
  @data_index = @content
12
12
  @id = @options[:column_id] || @data_index
@@ -7,8 +7,8 @@ module UiBibz::Ui::Ux::Tables
7
7
  end
8
8
 
9
9
  # Add column in table
10
- def column(data_index = nil, options = nil, html_options = nil, &block)
11
- @columns << Column.new(data_index, options, html_options, &block)
10
+ def column(data_index = nil, options = nil, html_options = nil, &)
11
+ @columns << Column.new(data_index, options, html_options, &)
12
12
  end
13
13
 
14
14
  # Get all columns
@@ -58,7 +58,7 @@ module UiBibz::Ui::Ux::Tables
58
58
  search: @store.search,
59
59
  sort: sort_name,
60
60
  column_id: @column.id,
61
- direction: direction,
61
+ direction:,
62
62
  only_path: true
63
63
  }
64
64
  args = args.merge({ id: @store.param_id }) if @store.param_id
@@ -96,20 +96,20 @@ module UiBibz::Ui::Ux::Tables
96
96
  # end
97
97
  class Table < UiBibz::Ui::Core::Component
98
98
  # See UiBibz::Ui::Core::Component.initialize
99
- def initialize(content = nil, options = nil, html_options = nil, &block)
99
+ def initialize(...)
100
100
  super
101
101
  @columns = Columns.new
102
102
  @actions = Actions.new store
103
103
  end
104
104
 
105
105
  # Add table columns items
106
- def columns(&block)
107
- @columns.tap(&block)
106
+ def columns(&)
107
+ @columns.tap(&)
108
108
  end
109
109
 
110
110
  # Add table actions items
111
- def actions(&block)
112
- @actions.tap(&block)
111
+ def actions(&)
112
+ @actions.tap(&)
113
113
  end
114
114
 
115
115
  # for test
@@ -108,9 +108,9 @@ module UiBibz::Ui::Ux::Tables
108
108
  include UiBibz::Ui::Concerns::HtmlConcern
109
109
 
110
110
  # See UiBibz::Ui::Core::Boxes::Card.initialize
111
- def initialize(content = nil, options = nil, html_options = nil, &block)
111
+ def initialize(...)
112
112
  super
113
- table_options = (@options[:table_options] || {}).merge({ store: store })
113
+ table_options = (@options[:table_options] || {}).merge({ store: })
114
114
  @table = UiBibz::Ui::Ux::Tables::Table.new(table_options, @options[:table_html_options])
115
115
  end
116
116
 
@@ -130,13 +130,13 @@ module UiBibz::Ui::Ux::Tables
130
130
  end
131
131
 
132
132
  # Add table columns item
133
- def columns(&block)
134
- @table.columns(&block)
133
+ def columns(&)
134
+ @table.columns(&)
135
135
  end
136
136
 
137
137
  # Add table actions item
138
- def actions(&block)
139
- @table.actions(&block)
138
+ def actions(&)
139
+ @table.actions(&)
140
140
  end
141
141
 
142
142
  # for test
@@ -40,7 +40,7 @@ module UiBibz::Ui::Ux::Tables
40
40
  def search_field_html
41
41
  # add surround_field maybe ?
42
42
  content_tag :div, html_options do
43
- concat content_tag(:span, UiBibz::Ui::Core::Icons::Glyph.new('search').render, class: 'input-group-text')
43
+ concat content_tag(:span, UiBibz::Ui::Core::Icons::Glyph.new('magnifying-glass').render, class: 'input-group-text')
44
44
  concat tag(:input, type: 'search', value: search_content, name: 'search', class: 'form-control', placeholder: search_placeholder_field)
45
45
  concat tag(:input, type: 'hidden', name: 'store_id', value: store.id) unless store.id.nil? # if there is more one table in html page
46
46
  concat tag(:input, type: 'hidden', name: 'link_type', value: 'search')