avo 0.5.0.beta5 → 0.5.0.beta10

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of avo might be problematic. Click here for more details.

Files changed (275) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +47 -48
  3. data/Gemfile.lock +28 -22
  4. data/Rakefile +14 -14
  5. data/app/components/avo/common/badge_viewer_component.html.erb +1 -1
  6. data/app/components/avo/common/gravatar_viewer_component.html.erb +2 -2
  7. data/app/components/avo/common/gravatar_viewer_component.rb +2 -1
  8. data/app/components/avo/common/multiple_file_viewer_component.rb +1 -1
  9. data/app/components/avo/common/single_file_viewer_component.rb +1 -1
  10. data/app/components/avo/edit/field_wrapper_component.rb +3 -3
  11. data/app/components/avo/edit/fields/trix_field_component.html.erb +1 -1
  12. data/app/components/avo/index/field_wrapper_component.html.erb +1 -1
  13. data/app/components/avo/index/field_wrapper_component.rb +1 -1
  14. data/app/components/avo/index/fields/belongs_to_field_component.html.erb +1 -5
  15. data/app/components/avo/index/fields/boolean_group_field_component.html.erb +1 -1
  16. data/app/components/avo/index/fields/gravatar_field_component.html.erb +2 -1
  17. data/app/components/avo/index/fields/has_one_field_component.html.erb +1 -5
  18. data/app/components/avo/index/fields/id_field_component.html.erb +1 -1
  19. data/app/components/avo/index/grid_item_component.html.erb +2 -2
  20. data/app/components/avo/index/grid_item_component.rb +10 -9
  21. data/app/components/avo/index/resource_controls_component.html.erb +12 -4
  22. data/app/components/avo/index/resource_controls_component.rb +2 -2
  23. data/app/components/avo/panel_component.rb +7 -6
  24. data/app/components/avo/resource_component.rb +4 -3
  25. data/app/components/avo/show/field_wrapper_component.html.erb +1 -1
  26. data/app/components/avo/show/field_wrapper_component.rb +3 -3
  27. data/app/components/avo/show/fields/boolean_group_field_component.html.erb +1 -1
  28. data/app/components/avo/show/fields/external_image_field_component.html.erb +1 -1
  29. data/app/components/avo/views/resource_edit_component.rb +4 -3
  30. data/app/components/avo/views/resource_index_component.rb +8 -7
  31. data/app/components/avo/views/resource_new_component.rb +4 -3
  32. data/app/components/avo/views/resource_show_component.html.erb +14 -2
  33. data/app/components/avo/views/resource_show_component.rb +21 -21
  34. data/app/controllers/avo/actions_controller.rb +34 -33
  35. data/app/controllers/avo/application_controller.rb +124 -116
  36. data/app/controllers/avo/attachments_controller.rb +3 -3
  37. data/app/controllers/avo/base_controller.rb +80 -87
  38. data/app/controllers/avo/home_controller.rb +2 -2
  39. data/app/controllers/avo/relations_controller.rb +29 -28
  40. data/app/controllers/avo/resources_controller.rb +1 -1
  41. data/app/controllers/avo/search_controller.rb +20 -19
  42. data/app/helpers/avo/application_helper.rb +49 -43
  43. data/app/helpers/avo/resources_helper.rb +11 -11
  44. data/app/mailers/avo/application_mailer.rb +2 -2
  45. data/app/{frontend/css → packs/entrypoints}/application.css +12 -11
  46. data/app/{frontend/packs → packs/entrypoints}/application.js +9 -3
  47. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.eot +0 -0
  48. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.svg +0 -0
  49. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.ttf +0 -0
  50. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.woff +0 -0
  51. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.woff2 +0 -0
  52. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.eot +0 -0
  53. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.svg +0 -0
  54. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.ttf +0 -0
  55. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.woff +0 -0
  56. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.woff2 +0 -0
  57. data/app/{frontend → packs}/images/logo.png +0 -0
  58. data/app/{frontend → packs}/importmap.json.erb +0 -0
  59. data/app/{frontend → packs}/js/controllers/action_controller.js +0 -0
  60. data/app/{frontend → packs}/js/controllers/actions_picker_controller.js +0 -0
  61. data/app/{frontend → packs}/js/controllers/alerts_controller.js +0 -0
  62. data/app/{frontend → packs}/js/controllers/attachments_controller.js +0 -0
  63. data/app/{frontend → packs}/js/controllers/boolean_filter_controller.js +0 -0
  64. data/app/{frontend → packs}/js/controllers/fields/code_field_controller.js +14 -14
  65. data/app/{frontend → packs}/js/controllers/fields/date_field_controller.js +0 -0
  66. data/app/{frontend → packs}/js/controllers/fields/simple_mde_controller.js +0 -0
  67. data/app/{frontend → packs}/js/controllers/filter_controller.js +20 -3
  68. data/app/{frontend → packs}/js/controllers/hidden_input_controller.js +0 -0
  69. data/app/{frontend → packs}/js/controllers/item_selector_controller.js +0 -0
  70. data/app/{frontend → packs}/js/controllers/modal_controller.js +0 -0
  71. data/app/{frontend → packs}/js/controllers/per_page_controller.js +5 -1
  72. data/app/{frontend → packs}/js/controllers/select_filter_controller.js +0 -0
  73. data/app/{frontend → packs}/js/controllers/tippy_controller.js +0 -0
  74. data/app/{frontend → packs}/js/controllers/toggle_panel_controller.js +0 -0
  75. data/app/{frontend → packs}/js/helpers/cast_boolean.js +0 -0
  76. data/app/{frontend → packs}/js/toastr.js +1 -0
  77. data/app/{frontend/css → packs/stylesheets}/alerts.css +0 -0
  78. data/app/packs/stylesheets/components/code.css +11 -0
  79. data/app/{frontend/css → packs/stylesheets}/components/status.css +0 -0
  80. data/app/{frontend/css → packs/stylesheets}/fonts.css +0 -0
  81. data/app/{frontend/css → packs/stylesheets}/loader.css +0 -0
  82. data/app/{frontend/css → packs/stylesheets}/pagination.css +0 -0
  83. data/app/{frontend/css → packs/stylesheets}/tailwindcss/base.css +0 -0
  84. data/app/{frontend/css → packs/stylesheets}/tailwindcss/components.css +0 -0
  85. data/app/{frontend/css → packs/stylesheets}/tailwindcss/utilities.css +0 -0
  86. data/app/{frontend/css → packs/stylesheets}/tooltips.css +0 -0
  87. data/app/{frontend/css → packs/stylesheets}/typography.css +0 -0
  88. data/app/{frontend → packs}/svgs/arrow-circle-right.svg +0 -0
  89. data/app/{frontend → packs}/svgs/arrow-left.svg +0 -0
  90. data/app/{frontend → packs}/svgs/avocado.svg +0 -0
  91. data/app/{frontend → packs}/svgs/badge-check-sm.svg +0 -0
  92. data/app/{frontend → packs}/svgs/check-circle.svg +0 -0
  93. data/app/{frontend → packs}/svgs/chevron-down.svg +0 -0
  94. data/app/{frontend → packs}/svgs/chevron-up.svg +0 -0
  95. data/app/{frontend → packs}/svgs/code.svg +0 -0
  96. data/app/{frontend → packs}/svgs/color-swatch.svg +0 -0
  97. data/app/{frontend → packs}/svgs/document-text.svg +0 -0
  98. data/app/{frontend → packs}/svgs/download.svg +0 -0
  99. data/app/{frontend → packs}/svgs/edit.svg +0 -0
  100. data/app/{frontend → packs}/svgs/exclamation-circle-sm.svg +0 -0
  101. data/app/{frontend → packs}/svgs/exclamation-sm.svg +0 -0
  102. data/app/{frontend → packs}/svgs/exclamation.svg +0 -0
  103. data/app/{frontend → packs}/svgs/eye.svg +0 -0
  104. data/app/{frontend → packs}/svgs/filter.svg +0 -0
  105. data/app/{frontend → packs}/svgs/fire.svg +0 -0
  106. data/app/{frontend → packs}/svgs/game-board.svg +0 -0
  107. data/app/{frontend → packs}/svgs/globe.svg +0 -0
  108. data/app/{frontend → packs}/svgs/information-circle-sm.svg +0 -0
  109. data/app/{frontend → packs}/svgs/information-circle.svg +0 -0
  110. data/app/{frontend → packs}/svgs/library.svg +0 -0
  111. data/app/{frontend → packs}/svgs/photograph.svg +0 -0
  112. data/app/{frontend → packs}/svgs/play.svg +0 -0
  113. data/app/{frontend → packs}/svgs/plus-circle.svg +0 -0
  114. data/app/{frontend → packs}/svgs/plus.svg +0 -0
  115. data/app/{frontend → packs}/svgs/question-mark-circle.svg +0 -0
  116. data/app/{frontend → packs}/svgs/save.svg +0 -0
  117. data/app/{frontend → packs}/svgs/selector.svg +0 -0
  118. data/app/{frontend → packs}/svgs/sort-ascending.svg +0 -0
  119. data/app/{frontend → packs}/svgs/sort-descending.svg +0 -0
  120. data/app/{frontend → packs}/svgs/switch-horizontal.svg +0 -0
  121. data/app/{frontend → packs}/svgs/thumbs-down.svg +0 -0
  122. data/app/{frontend → packs}/svgs/thumbs-up.svg +0 -0
  123. data/app/{frontend → packs}/svgs/times.svg +0 -0
  124. data/app/{frontend → packs}/svgs/trash-sm.svg +0 -0
  125. data/app/{frontend → packs}/svgs/trash.svg +0 -0
  126. data/app/{frontend → packs}/svgs/view-grid-add.svg +0 -0
  127. data/app/{frontend → packs}/svgs/view-grid.svg +0 -0
  128. data/app/{frontend → packs}/svgs/view-list.svg +0 -0
  129. data/app/{frontend → packs}/svgs/x-circle.svg +0 -0
  130. data/app/views/avo/actions/show.html.erb +3 -39
  131. data/app/views/avo/attachments/show.html.erb +8 -1
  132. data/app/views/avo/base/_boolean_filter.html.erb +1 -0
  133. data/app/views/avo/base/_filters.html.erb +1 -0
  134. data/app/views/avo/base/_select_filter.html.erb +1 -0
  135. data/app/views/avo/partials/_paginator.html.erb +24 -5
  136. data/app/views/avo/relations/new.html.erb +5 -1
  137. data/app/views/layouts/avo/application.html.erb +0 -5
  138. data/avo.gemspec +31 -31
  139. data/bin/helpers.rb +0 -0
  140. data/bin/rspec +1 -0
  141. data/bin/webpack +3 -1
  142. data/config/initializers/inline_svg.rb +1 -1
  143. data/config/initializers/pagy.rb +1 -1
  144. data/config/routes.rb +12 -12
  145. data/config/spring.rb +5 -5
  146. data/config/webpack/aliases.js +1 -1
  147. data/config/webpack/base.js +14 -0
  148. data/config/webpack/development.js +2 -2
  149. data/config/webpack/production.js +2 -2
  150. data/config/webpack/test.js +2 -2
  151. data/config/webpacker.yml +5 -44
  152. data/db/factories.rb +4 -5
  153. data/lib/avo.rb +6 -6
  154. data/lib/avo/action_model.rb +20 -0
  155. data/lib/avo/app.rb +34 -62
  156. data/lib/avo/base_action.rb +56 -45
  157. data/lib/avo/base_resource.rb +69 -93
  158. data/lib/avo/configuration.rb +16 -22
  159. data/lib/avo/engine.rb +30 -14
  160. data/lib/avo/fields/badge_field.rb +2 -2
  161. data/lib/avo/fields/base_field.rb +38 -29
  162. data/lib/avo/fields/belongs_to_field.rb +13 -12
  163. data/lib/avo/fields/boolean_field.rb +4 -4
  164. data/lib/avo/fields/boolean_group_field.rb +3 -3
  165. data/lib/avo/fields/code_field.rb +4 -4
  166. data/lib/avo/fields/country_field.rb +2 -2
  167. data/lib/avo/fields/currency_field.rb +3 -3
  168. data/lib/avo/fields/date_field.rb +3 -3
  169. data/lib/avo/fields/date_time_field.rb +2 -2
  170. data/lib/avo/fields/external_image_field.rb +2 -2
  171. data/lib/avo/fields/field_extensions/has_field_name.rb +2 -9
  172. data/lib/avo/fields/field_extensions/visible_in_different_views.rb +34 -33
  173. data/lib/avo/fields/file_field.rb +1 -1
  174. data/lib/avo/fields/files_field.rb +2 -2
  175. data/lib/avo/fields/gravatar_field.rb +10 -10
  176. data/lib/avo/fields/has_and_belongs_to_many_field.rb +1 -1
  177. data/lib/avo/fields/has_many_field.rb +1 -1
  178. data/lib/avo/fields/has_one_field.rb +2 -2
  179. data/lib/avo/fields/heading_field.rb +2 -2
  180. data/lib/avo/fields/hidden_field.rb +1 -1
  181. data/lib/avo/fields/id_field.rb +3 -3
  182. data/lib/avo/fields/key_value_field.rb +12 -12
  183. data/lib/avo/fields/markdown_field.rb +2 -2
  184. data/lib/avo/fields/number_field.rb +3 -3
  185. data/lib/avo/fields/password_field.rb +1 -1
  186. data/lib/avo/fields/select_field.rb +8 -12
  187. data/lib/avo/fields/status_field.rb +4 -4
  188. data/lib/avo/fields/text_field.rb +2 -2
  189. data/lib/avo/fields/textarea_field.rb +2 -2
  190. data/lib/avo/fields/trix_field.rb +1 -1
  191. data/lib/avo/fields_collector.rb +30 -0
  192. data/lib/avo/filters/base_filter.rb +6 -6
  193. data/lib/avo/filters/boolean_filter.rb +1 -1
  194. data/lib/avo/filters/select_filter.rb +1 -1
  195. data/lib/avo/grid_collector.rb +39 -0
  196. data/lib/avo/has_context.rb +7 -0
  197. data/lib/avo/licensing/h_q.rb +56 -55
  198. data/lib/avo/licensing/license.rb +5 -5
  199. data/lib/avo/licensing/license_manager.rb +4 -4
  200. data/lib/avo/licensing/null_license.rb +2 -2
  201. data/lib/avo/licensing/pro_license.rb +1 -1
  202. data/lib/avo/loaders/fields_loader.rb +4 -4
  203. data/lib/avo/services/authorization_service.rb +2 -2
  204. data/lib/avo/services/panel_service.rb +4 -4
  205. data/lib/avo/version.rb +1 -1
  206. data/lib/generators/avo/action_generator.rb +4 -4
  207. data/lib/generators/avo/controller_generator.rb +4 -4
  208. data/lib/generators/avo/filter_generator.rb +5 -5
  209. data/lib/generators/avo/install_generator.rb +8 -8
  210. data/lib/generators/avo/locales_generator.rb +5 -5
  211. data/lib/generators/avo/partials_generator.rb +4 -4
  212. data/lib/generators/avo/resource_generator.rb +5 -5
  213. data/lib/generators/avo/templates/action.tt +2 -2
  214. data/lib/tasks/avo_tasks.rake +52 -53
  215. data/public/avo-packs/css/application-4e16d6a6.css +5975 -0
  216. data/public/avo-packs/css/application-4e16d6a6.css.br +0 -0
  217. data/public/avo-packs/css/application-4e16d6a6.css.gz +0 -0
  218. data/public/avo-packs/css/application-4e16d6a6.css.map +1 -0
  219. data/public/avo-packs/css/application-4e16d6a6.css.map.br +0 -0
  220. data/public/avo-packs/css/application-4e16d6a6.css.map.gz +0 -0
  221. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js +2 -0
  222. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.br +0 -0
  223. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.gz +0 -0
  224. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.map +1 -0
  225. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.map.br +0 -0
  226. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.map.gz +0 -0
  227. data/public/avo-packs/js/application-8eb130a4688f2c667703.js +26 -0
  228. data/public/avo-packs/js/{application-8849c6e2c8f75d55c666.js.LICENSE.txt → application-8eb130a4688f2c667703.js.LICENSE.txt} +17 -17
  229. data/public/avo-packs/js/application-8eb130a4688f2c667703.js.br +0 -0
  230. data/public/avo-packs/js/application-8eb130a4688f2c667703.js.gz +0 -0
  231. data/public/avo-packs/js/application-8eb130a4688f2c667703.js.map +1 -0
  232. data/public/avo-packs/js/application-8eb130a4688f2c667703.js.map.br +0 -0
  233. data/public/avo-packs/js/application-8eb130a4688f2c667703.js.map.gz +0 -0
  234. data/public/avo-packs/manifest.json +46 -23
  235. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-00fbd8a72a3708b8314cce5f0515640e.svg → images/13ae283c0d7cc04efe7e.svg} +0 -0
  236. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-00fbd8a72a3708b8314cce5f0515640e.svg.br → images/13ae283c0d7cc04efe7e.svg.br} +0 -0
  237. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-00fbd8a72a3708b8314cce5f0515640e.svg.gz → images/13ae283c0d7cc04efe7e.svg.gz} +0 -0
  238. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-35bd1c96bc2e402cf22ea812ae067995.svg → images/195026a50008c53526ef.svg} +0 -0
  239. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-35bd1c96bc2e402cf22ea812ae067995.svg.br → images/195026a50008c53526ef.svg.br} +0 -0
  240. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-35bd1c96bc2e402cf22ea812ae067995.svg.gz → images/195026a50008c53526ef.svg.gz} +0 -0
  241. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-cb632c9fe211ba2c2bf1564c9a9295cc.woff → images/1f30e08faa7c60d1f7ac.woff} +0 -0
  242. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-2cc22f9c0cf217cbfc371f3b74992305.ttf → images/1fd17dabf6b7d2b15348.ttf} +0 -0
  243. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-2cc22f9c0cf217cbfc371f3b74992305.ttf.br → images/1fd17dabf6b7d2b15348.ttf.br} +0 -0
  244. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-2cc22f9c0cf217cbfc371f3b74992305.ttf.gz → images/1fd17dabf6b7d2b15348.ttf.gz} +0 -0
  245. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-bcf84d6cb8a0ac214c8c14ba9af834f3.woff2 → images/39a18f443d434999b89b.woff2} +0 -0
  246. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-412073df419ad5f6f8f2ea76eb4aced9.woff2 → images/4ad349571e28bb59c5a5.woff2} +0 -0
  247. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-2fae1e2418251b68fe5d0505ab93dd5c.eot → images/57a5470848663767abbf.eot} +0 -0
  248. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-df8c4bee41b6ca0ed2b7b71456ed7fbb.ttf → images/b2e4cf0fab6c8ca66b7f.ttf} +0 -0
  249. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-df8c4bee41b6ca0ed2b7b71456ed7fbb.ttf.br → images/b2e4cf0fab6c8ca66b7f.ttf.br} +0 -0
  250. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-df8c4bee41b6ca0ed2b7b71456ed7fbb.ttf.gz → images/b2e4cf0fab6c8ca66b7f.ttf.gz} +0 -0
  251. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-df7e79af617f98cd3b95d320e8b2a1af.eot → images/b78d61ab7e046de8c156.eot} +0 -0
  252. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-7c472b19cb573f537bad8ef62ca917ac.woff → images/c9ab29becb76ddab01d0.woff} +0 -0
  253. data/public/avo-packs/media/images/{logo-edf8d8d0d263e0c1f73bb32a222d9991.png → f1b4befac91a3336db9a.png} +0 -0
  254. metadata +135 -132
  255. data/app/frontend/css/components/code.css +0 -27
  256. data/app/views/layouts/avo/application_vue.html.erb +0 -61
  257. data/config/webpack/environment.js +0 -18
  258. data/db/migrate/20210305082639_add_url_to_teams.rb +0 -5
  259. data/public/avo-packs/css/application-c75ac28c.css +0 -6
  260. data/public/avo-packs/css/application-c75ac28c.css.br +0 -0
  261. data/public/avo-packs/css/application-c75ac28c.css.gz +0 -0
  262. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js +0 -2
  263. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.br +0 -0
  264. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.gz +0 -0
  265. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.map +0 -1
  266. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.map.br +0 -0
  267. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.map.gz +0 -0
  268. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js +0 -26
  269. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js.br +0 -0
  270. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js.gz +0 -0
  271. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js.map +0 -1
  272. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js.map.br +0 -0
  273. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js.map.gz +0 -0
  274. data/public/avo-packs/manifest.json.br +0 -0
  275. data/public/avo-packs/manifest.json.gz +0 -0
@@ -9,15 +9,15 @@ module Avo
9
9
 
10
10
  def initialize(name, **args, &block)
11
11
  @defaults = {
12
- partial_name: 'date-field',
12
+ partial_name: "date-field"
13
13
  }
14
14
 
15
15
  super(name, **args, &block)
16
16
 
17
17
  @first_day_of_week = args[:first_day_of_week].present? ? args[:first_day_of_week].to_i : 0
18
- @picker_format = args[:picker_format].present? ? args[:picker_format] : 'Y-m-d'
18
+ @picker_format = args[:picker_format].present? ? args[:picker_format] : "Y-m-d"
19
19
  @format = args[:format].present? ? args[:format] : :long
20
- @placeholder = args[:placeholder].present? ? args[:placeholder] : ''
20
+ @placeholder = args[:placeholder].present? ? args[:placeholder] : ""
21
21
  @relative = args[:relative].present? ? args[:relative] : false
22
22
  end
23
23
 
@@ -8,8 +8,8 @@ module Avo
8
8
  def initialize(name, **args, &block)
9
9
  super(name, **args, &block)
10
10
 
11
- @partial_name = 'date-time-field'
12
- @picker_format = args[:picker_format].present? ? args[:picker_format] : 'Y-m-d H:i:S'
11
+ @partial_name = "date-time-field"
12
+ @picker_format = args[:picker_format].present? ? args[:picker_format] : "Y-m-d H:i:S"
13
13
  @time_24hr = args[:time_24hr].present? ? args[:time_24hr] : false
14
14
  @timezone = args[:timezone].present? ? args[:timezone] : Rails.application.config.time_zone
15
15
  end
@@ -7,8 +7,8 @@ module Avo
7
7
 
8
8
  def initialize(name, **args, &block)
9
9
  @defaults = {
10
- partial_name: 'external-image-field',
11
- computable: true,
10
+ partial_name: "external-image-field",
11
+ computable: true
12
12
  }.merge(@defaults || {})
13
13
 
14
14
  super(name, **args, &block)
@@ -2,23 +2,16 @@ module Avo
2
2
  module Fields
3
3
  module FieldExtensions
4
4
  module HasFieldName
5
- @@field_name_attribute = ''
6
-
7
5
  # Set the field name
8
6
  def field_name(name)
9
- @field_name_attribute = name
7
+ self.field_name_attribute = name
10
8
  end
11
9
 
12
10
  # Get the field name
13
- def field_name_attribute
14
- @field_name_attribute
15
- end
16
-
17
- # Get the field name from outside
18
11
  def get_field_name
19
12
  return field_name_attribute if field_name_attribute.present?
20
13
 
21
- self.to_s.demodulize.underscore.gsub '_field', ''
14
+ to_s.demodulize.underscore.gsub "_field", ""
22
15
  end
23
16
  end
24
17
  end
@@ -45,48 +45,49 @@ module Avo
45
45
  end
46
46
 
47
47
  private
48
- def show_on_view(view)
49
- self.send("show_on_#{view.to_s}=", true)
50
- end
51
48
 
52
- def hide_on_view(view)
53
- self.send("show_on_#{view.to_s}=", false)
54
- end
49
+ def show_on_view(view)
50
+ send("show_on_#{view}=", true)
51
+ end
55
52
 
56
- def only_on_view(view)
57
- hide_on_all
58
- show_on_view view
59
- end
53
+ def hide_on_view(view)
54
+ send("show_on_#{view}=", false)
55
+ end
60
56
 
61
- def except_on_view(view)
62
- show_on_all
63
- hide_on_view view
64
- end
57
+ def only_on_view(view)
58
+ hide_on_all
59
+ show_on_view view
60
+ end
65
61
 
66
- def show_on_all
67
- @show_on_index = true
68
- @show_on_show = true
69
- @show_on_edit = true
70
- @show_on_new = true
71
- end
62
+ def except_on_view(view)
63
+ show_on_all
64
+ hide_on_view view
65
+ end
72
66
 
73
- def hide_on_all
74
- @show_on_index = false
75
- @show_on_show = false
76
- @show_on_edit = false
77
- @show_on_new = false
78
- end
67
+ def show_on_all
68
+ @show_on_index = true
69
+ @show_on_show = true
70
+ @show_on_edit = true
71
+ @show_on_new = true
72
+ end
79
73
 
80
- def normalize_views(*views_and_groups)
81
- forms = views_and_groups.flatten! & [:forms]
74
+ def hide_on_all
75
+ @show_on_index = false
76
+ @show_on_show = false
77
+ @show_on_edit = false
78
+ @show_on_new = false
79
+ end
82
80
 
83
- if forms.present?
84
- views_and_groups = views_and_groups - forms
85
- views_and_groups = views_and_groups + [:new, :edit]
86
- end
81
+ def normalize_views(*views_and_groups)
82
+ forms = views_and_groups.flatten! & [:forms]
87
83
 
88
- views_and_groups.flatten.uniq
84
+ if forms.present?
85
+ views_and_groups -= forms
86
+ views_and_groups += [:new, :edit]
89
87
  end
88
+
89
+ views_and_groups.flatten.uniq
90
+ end
90
91
  end
91
92
  end
92
93
  end
@@ -6,7 +6,7 @@ module Avo
6
6
 
7
7
  def initialize(name, **args, &block)
8
8
  @defaults = {
9
- partial_name: 'file-field',
9
+ partial_name: "file-field"
10
10
  }.merge(@defaults || {})
11
11
 
12
12
  super(name, **args, &block)
@@ -5,7 +5,7 @@ module Avo
5
5
 
6
6
  def initialize(name, **args, &block)
7
7
  @defaults = {
8
- partial_name: 'files-field',
8
+ partial_name: "files-field"
9
9
  }.merge(@defaults || {})
10
10
 
11
11
  super(name, **args, &block)
@@ -16,7 +16,7 @@ module Avo
16
16
  end
17
17
 
18
18
  def to_permitted_param
19
- { "#{id}": [] }
19
+ {"#{id}": []}
20
20
  end
21
21
 
22
22
  def fill_field(model, key, value)
@@ -1,5 +1,5 @@
1
- require 'digest'
2
- require 'erb'
1
+ require "digest"
2
+ require "erb"
3
3
 
4
4
  module Avo
5
5
  module Fields
@@ -10,9 +10,9 @@ module Avo
10
10
 
11
11
  def initialize(name, **args, &block)
12
12
  @defaults = {
13
- partial_name: 'gravatar-field',
14
- name: 'Avatar',
15
- id: args[:id].present? ? args[:id] : 'email',
13
+ partial_name: "gravatar-field",
14
+ name: "Avatar",
15
+ id: args[:id].present? ? args[:id] : "email"
16
16
  }
17
17
 
18
18
  super(name, **args, &block)
@@ -21,7 +21,7 @@ module Avo
21
21
 
22
22
  @rounded = args[:rounded].present? ? args[:rounded] : true
23
23
  @size = args[:size].present? ? args[:size].to_i : 40
24
- @default = args[:default].present? ? ERB::Util.url_encode(args[:default]).to_s : ''
24
+ @default = args[:default].present? ? ERB::Util.url_encode(args[:default]).to_s : ""
25
25
  @link_to_resource = args[:link_to_resource].present? ? args[:link_to_resource] : false
26
26
  end
27
27
 
@@ -33,13 +33,13 @@ module Avo
33
33
 
34
34
  def to_image
35
35
  options = {
36
- default: '',
37
- size: 340,
36
+ default: "",
37
+ size: 340
38
38
  }
39
39
 
40
- query = options.map { |key, value| "#{key}=#{value}" }.join('&')
40
+ query = options.map { |key, value| "#{key}=#{value}" }.join("&")
41
41
 
42
- URI::HTTP.build(host: "www.gravatar.com", path: "/avatar/#{md5}", query: query).to_s
42
+ URI::HTTPS.build(host: "www.gravatar.com", path: "/avatar/#{md5}", query: query).to_s
43
43
  end
44
44
  end
45
45
  end
@@ -4,7 +4,7 @@ module Avo
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
6
  updatable: false,
7
- partial_name: 'has-many-field'
7
+ partial_name: "has-many-field"
8
8
  }
9
9
 
10
10
  super(name, **args, &block)
@@ -4,7 +4,7 @@ module Avo
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
6
  updatable: false,
7
- partial_name: 'has-many-field'
7
+ partial_name: "has-many-field"
8
8
  }
9
9
  @through = args[:through]
10
10
 
@@ -7,14 +7,14 @@ module Avo
7
7
  def initialize(name, **args, &block)
8
8
  @defaults = {
9
9
  updatable: true,
10
- partial_name: 'has-one-field',
10
+ partial_name: "has-one-field"
11
11
  }
12
12
 
13
13
  super(name, **args, &block)
14
14
 
15
15
  hide_on :new, :edit
16
16
 
17
- @placeholder = I18n.t 'avo.choose_an_option'
17
+ @placeholder = I18n.t "avo.choose_an_option"
18
18
 
19
19
  @relation_method = name.to_s.parameterize.underscore
20
20
  @display = args[:display].present? ? args[:display] : :show
@@ -4,8 +4,8 @@ module Avo
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
6
  updatable: false,
7
- partial_name: 'heading-field',
8
- id: 'heading_' + name.to_s.parameterize.underscore,
7
+ partial_name: "heading-field",
8
+ id: "heading_" + name.to_s.parameterize.underscore
9
9
  }
10
10
 
11
11
  super(name, **args, &block)
@@ -3,7 +3,7 @@ module Avo
3
3
  class HiddenField < TextField
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
- partial_name: 'hidden-field',
6
+ partial_name: "hidden-field"
7
7
  }
8
8
 
9
9
  super(name, **args, &block)
@@ -2,11 +2,11 @@ module Avo
2
2
  module Fields
3
3
  class IdField < BaseField
4
4
  def initialize(name, **args, &block)
5
- default_value = 'id'
5
+ default_value = "id"
6
6
 
7
7
  if name.nil?
8
8
  @name = name = default_value
9
- elsif !name.is_a? String and !name.is_a? Symbol
9
+ elsif !name.is_a?(String) && !name.is_a?(Symbol)
10
10
  args_copy = name
11
11
  @name = name = default_value
12
12
  args = args_copy
@@ -16,7 +16,7 @@ module Avo
16
16
  id: name.to_sym,
17
17
  readonly: true,
18
18
  sortable: true,
19
- partial_name: 'id-field'
19
+ partial_name: "id-field"
20
20
  }
21
21
 
22
22
  hide_on [:edit, :new]
@@ -1,36 +1,36 @@
1
- require 'json'
1
+ require "json"
2
2
 
3
3
  module Avo
4
4
  module Fields
5
5
  class KeyValueField < BaseField
6
6
  def initialize(name, **args, &block)
7
7
  @defaults = {
8
- partial_name: 'key-value-field',
8
+ partial_name: "key-value-field"
9
9
  }
10
10
 
11
11
  super(name, **args, &block)
12
12
 
13
13
  hide_on :index
14
14
 
15
- @key_label = args[:key_label].present? ? args[:key_label].to_s : 'Key'
16
- @value_label = args[:value_label].present? ? args[:value_label].to_s : 'Value'
17
- @action_text = args[:action_text].present? ? args[:action_text].to_s : 'Add row'
18
- @delete_text = args[:delete_text].present? ? args[:delete_text].to_s : 'Delete row'
15
+ @key_label = args[:key_label].present? ? args[:key_label].to_s : "Key"
16
+ @value_label = args[:value_label].present? ? args[:value_label].to_s : "Value"
17
+ @action_text = args[:action_text].present? ? args[:action_text].to_s : "Add row"
18
+ @delete_text = args[:delete_text].present? ? args[:delete_text].to_s : "Delete row"
19
19
 
20
20
  @disable_editing_keys = args[:disable_editing_keys].present? ? args[:disable_editing_keys] : false
21
21
  # disabling editing keys also disables adding rows (doesn't take into account the value of disable_adding_rows)
22
- if args[:disable_editing_keys].present? && args[:disable_editing_keys] == true
23
- @disable_adding_rows = true
22
+ @disable_adding_rows = if args[:disable_editing_keys].present? && args[:disable_editing_keys] == true
23
+ true
24
24
  elsif args[:disable_adding_rows].present?
25
- @disable_adding_rows = args[:disable_adding_rows]
25
+ args[:disable_adding_rows]
26
26
  else
27
- @disable_adding_rows = false
27
+ false
28
28
  end
29
29
  @disable_deleting_rows = args[:disable_deleting_rows].present? ? args[:disable_deleting_rows] : false
30
30
  end
31
31
 
32
32
  def to_permitted_param
33
- [:"#{id}", "#{id}": {} ]
33
+ [:"#{id}", "#{id}": {}]
34
34
  end
35
35
 
36
36
  def hydrate_field(fields, model, resource, view)
@@ -41,7 +41,7 @@ module Avo
41
41
  delete_text: @delete_text,
42
42
  disable_editing_keys: @disable_editing_keys,
43
43
  disable_adding_rows: @disable_adding_rows,
44
- disable_deleting_rows: @disable_deleting_rows,
44
+ disable_deleting_rows: @disable_deleting_rows
45
45
  }
46
46
  end
47
47
  end
@@ -3,7 +3,7 @@ module Avo
3
3
  class MarkdownField < BaseField
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
- partial_name: 'markdown-field',
6
+ partial_name: "markdown-field"
7
7
  }
8
8
 
9
9
  super(name, **args, &block)
@@ -11,7 +11,7 @@ module Avo
11
11
  hide_on :index
12
12
 
13
13
  @always_show = args[:always_show].present? ? args[:always_show] : false
14
- @height = args[:height].present? ? args[:height].to_s : 'auto'
14
+ @height = args[:height].present? ? args[:height].to_s : "auto"
15
15
  end
16
16
 
17
17
  def hydrate_field(fields, model, resource, view)
@@ -3,8 +3,8 @@ module Avo
3
3
  class NumberField < TextField
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
- partial_name: 'number-field',
7
- computable: true,
6
+ partial_name: "number-field",
7
+ computable: true
8
8
  }
9
9
 
10
10
  super(name, **args, &block)
@@ -12,7 +12,7 @@ module Avo
12
12
  @meta = {
13
13
  min: args[:min].present? ? args[:min].to_f : nil,
14
14
  max: args[:max].present? ? args[:max].to_f : nil,
15
- step: args[:step].present? ? args[:step].to_f : nil,
15
+ step: args[:step].present? ? args[:step].to_f : nil
16
16
  }
17
17
  end
18
18
  end
@@ -3,7 +3,7 @@ module Avo
3
3
  class PasswordField < TextField
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
- partial_name: 'password-field',
6
+ partial_name: "password-field"
7
7
  }
8
8
 
9
9
  show_on :forms
@@ -7,7 +7,7 @@ module Avo
7
7
 
8
8
  def initialize(name, **args, &block)
9
9
  @defaults = {
10
- partial_name: 'select-field',
10
+ partial_name: "select-field"
11
11
  }
12
12
 
13
13
  super(name, **args, &block)
@@ -16,7 +16,7 @@ module Avo
16
16
  @options = ActiveSupport::HashWithIndifferentAccess.new @options
17
17
  @enum = args[:enum].present? ? args[:enum] : nil
18
18
  @display_value = args[:display_value].present? ? args[:display_value] : false
19
- @placeholder = args[:placeholder].present? ? args[:placeholder].to_s : I18n.t('avo.choose_an_option')
19
+ @placeholder = args[:placeholder].present? ? args[:placeholder].to_s : I18n.t("avo.choose_an_option")
20
20
  end
21
21
 
22
22
  def options_for_select
@@ -26,24 +26,20 @@ module Avo
26
26
  else
27
27
  options.map { |label, value| [label, label] }.to_h
28
28
  end
29
+ elsif display_value
30
+ options.map { |label, value| [value, value] }.to_h
29
31
  else
30
- if display_value
31
- options.map { |label, value| [value, value] }.to_h
32
- else
33
- options
34
- end
32
+ options
35
33
  end
36
34
  end
37
35
 
38
36
  def label
39
37
  if display_value
40
38
  value
39
+ elsif enum.present?
40
+ options[value]
41
41
  else
42
- if enum.present?
43
- options[value]
44
- else
45
- options.invert[value]
46
- end
42
+ options.invert[value]
47
43
  end
48
44
  end
49
45
  end