avo 0.5.0.beta4 → 0.5.0.beta9

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 (293) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +8 -6
  3. data/Gemfile.lock +28 -22
  4. data/app/components/avo/common/badge_viewer_component.html.erb +1 -1
  5. data/app/components/avo/common/gravatar_viewer_component.html.erb +2 -2
  6. data/app/components/avo/common/gravatar_viewer_component.rb +2 -1
  7. data/app/components/avo/edit/fields/trix_field_component.html.erb +1 -1
  8. data/app/components/avo/index/field_wrapper_component.html.erb +1 -1
  9. data/app/components/avo/index/fields/belongs_to_field_component.html.erb +1 -5
  10. data/app/components/avo/index/fields/boolean_group_field_component.html.erb +1 -1
  11. data/app/components/avo/index/fields/gravatar_field_component.html.erb +2 -1
  12. data/app/components/avo/index/fields/has_one_field_component.html.erb +1 -5
  13. data/app/components/avo/index/fields/id_field_component.html.erb +1 -1
  14. data/app/components/avo/index/grid_item_component.html.erb +8 -8
  15. data/app/components/avo/index/grid_item_component.rb +6 -12
  16. data/app/components/avo/index/resource_controls_component.html.erb +12 -4
  17. data/app/components/avo/index/resource_table_component.html.erb +1 -1
  18. data/app/components/avo/index/table_row_component.html.erb +1 -1
  19. data/app/components/avo/show/field_wrapper_component.html.erb +1 -1
  20. data/app/components/avo/show/fields/boolean_group_field_component.html.erb +1 -1
  21. data/app/components/avo/show/fields/external_image_field_component.html.erb +1 -1
  22. data/app/components/avo/views/resource_show_component.html.erb +14 -2
  23. data/app/controllers/avo/actions_controller.rb +6 -8
  24. data/app/controllers/avo/application_controller.rb +30 -6
  25. data/app/controllers/avo/base_controller.rb +5 -16
  26. data/app/controllers/avo/relations_controller.rb +2 -2
  27. data/app/controllers/avo/search_controller.rb +1 -1
  28. data/app/helpers/avo/application_helper.rb +1 -1
  29. data/app/{frontend/css → packs/entrypoints}/application.css +12 -11
  30. data/app/{frontend/packs → packs/entrypoints}/application.js +7 -3
  31. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.eot +0 -0
  32. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.svg +0 -0
  33. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.ttf +0 -0
  34. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.woff +0 -0
  35. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.woff2 +0 -0
  36. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.eot +0 -0
  37. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.svg +0 -0
  38. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.ttf +0 -0
  39. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.woff +0 -0
  40. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.woff2 +0 -0
  41. data/app/{frontend → packs}/images/logo.png +0 -0
  42. data/app/{frontend → packs}/importmap.json.erb +0 -0
  43. data/app/{frontend → packs}/js/controllers/action_controller.js +0 -0
  44. data/app/{frontend → packs}/js/controllers/actions_picker_controller.js +0 -0
  45. data/app/{frontend → packs}/js/controllers/alerts_controller.js +0 -0
  46. data/app/{frontend → packs}/js/controllers/attachments_controller.js +0 -0
  47. data/app/{frontend → packs}/js/controllers/boolean_filter_controller.js +0 -0
  48. data/app/{frontend → packs}/js/controllers/fields/code_field_controller.js +0 -0
  49. data/app/{frontend → packs}/js/controllers/fields/date_field_controller.js +0 -0
  50. data/app/{frontend → packs}/js/controllers/fields/simple_mde_controller.js +0 -0
  51. data/app/{frontend → packs}/js/controllers/filter_controller.js +19 -3
  52. data/app/{frontend → packs}/js/controllers/hidden_input_controller.js +0 -0
  53. data/app/{frontend → packs}/js/controllers/item_selector_controller.js +0 -0
  54. data/app/{frontend → packs}/js/controllers/modal_controller.js +0 -0
  55. data/app/{frontend → packs}/js/controllers/per_page_controller.js +5 -1
  56. data/app/{frontend → packs}/js/controllers/select_filter_controller.js +0 -0
  57. data/app/{frontend → packs}/js/controllers/tippy_controller.js +0 -0
  58. data/app/{frontend → packs}/js/controllers/toggle_panel_controller.js +0 -0
  59. data/app/{frontend → packs}/js/helpers/cast_boolean.js +0 -0
  60. data/app/{frontend → packs}/js/toastr.js +0 -0
  61. data/app/{frontend/css → packs/stylesheets}/alerts.css +0 -0
  62. data/app/packs/stylesheets/components/code.css +11 -0
  63. data/app/{frontend/css → packs/stylesheets}/components/status.css +0 -0
  64. data/app/{frontend/css → packs/stylesheets}/fonts.css +0 -0
  65. data/app/{frontend/css → packs/stylesheets}/loader.css +0 -0
  66. data/app/{frontend/css → packs/stylesheets}/pagination.css +0 -0
  67. data/app/{frontend/css → packs/stylesheets}/tailwindcss/base.css +0 -0
  68. data/app/{frontend/css → packs/stylesheets}/tailwindcss/components.css +0 -0
  69. data/app/{frontend/css → packs/stylesheets}/tailwindcss/utilities.css +0 -0
  70. data/app/{frontend/css → packs/stylesheets}/tooltips.css +0 -0
  71. data/app/{frontend/css → packs/stylesheets}/typography.css +0 -0
  72. data/app/{frontend → packs}/svgs/arrow-circle-right.svg +0 -0
  73. data/app/{frontend → packs}/svgs/arrow-left.svg +0 -0
  74. data/app/{frontend → packs}/svgs/avocado.svg +0 -0
  75. data/app/{frontend → packs}/svgs/badge-check-sm.svg +0 -0
  76. data/app/{frontend → packs}/svgs/check-circle.svg +0 -0
  77. data/app/{frontend → packs}/svgs/chevron-down.svg +0 -0
  78. data/app/{frontend → packs}/svgs/chevron-up.svg +0 -0
  79. data/app/{frontend → packs}/svgs/code.svg +0 -0
  80. data/app/{frontend → packs}/svgs/color-swatch.svg +0 -0
  81. data/app/{frontend → packs}/svgs/document-text.svg +0 -0
  82. data/app/{frontend → packs}/svgs/download.svg +0 -0
  83. data/app/{frontend → packs}/svgs/edit.svg +0 -0
  84. data/app/{frontend → packs}/svgs/exclamation-circle-sm.svg +0 -0
  85. data/app/{frontend → packs}/svgs/exclamation-sm.svg +0 -0
  86. data/app/{frontend → packs}/svgs/exclamation.svg +0 -0
  87. data/app/{frontend → packs}/svgs/eye.svg +0 -0
  88. data/app/{frontend → packs}/svgs/filter.svg +0 -0
  89. data/app/{frontend → packs}/svgs/fire.svg +0 -0
  90. data/app/{frontend → packs}/svgs/game-board.svg +0 -0
  91. data/app/{frontend → packs}/svgs/globe.svg +0 -0
  92. data/app/{frontend → packs}/svgs/information-circle-sm.svg +0 -0
  93. data/app/{frontend → packs}/svgs/information-circle.svg +0 -0
  94. data/app/{frontend → packs}/svgs/library.svg +0 -0
  95. data/app/{frontend → packs}/svgs/photograph.svg +0 -0
  96. data/app/{frontend → packs}/svgs/play.svg +0 -0
  97. data/app/{frontend → packs}/svgs/plus-circle.svg +0 -0
  98. data/app/{frontend → packs}/svgs/plus.svg +0 -0
  99. data/app/{frontend → packs}/svgs/question-mark-circle.svg +0 -0
  100. data/app/{frontend → packs}/svgs/save.svg +0 -0
  101. data/app/{frontend → packs}/svgs/selector.svg +0 -0
  102. data/app/{frontend → packs}/svgs/sort-ascending.svg +0 -0
  103. data/app/{frontend → packs}/svgs/sort-descending.svg +0 -0
  104. data/app/{frontend → packs}/svgs/switch-horizontal.svg +0 -0
  105. data/app/{frontend → packs}/svgs/thumbs-down.svg +0 -0
  106. data/app/{frontend → packs}/svgs/thumbs-up.svg +0 -0
  107. data/app/{frontend → packs}/svgs/times.svg +0 -0
  108. data/app/{frontend → packs}/svgs/trash-sm.svg +0 -0
  109. data/app/{frontend → packs}/svgs/trash.svg +0 -0
  110. data/app/{frontend → packs}/svgs/view-grid-add.svg +0 -0
  111. data/app/{frontend → packs}/svgs/view-grid.svg +0 -0
  112. data/app/{frontend → packs}/svgs/view-list.svg +0 -0
  113. data/app/{frontend → packs}/svgs/x-circle.svg +0 -0
  114. data/app/views/avo/actions/show.html.erb +3 -39
  115. data/app/views/avo/attachments/show.html.erb +8 -1
  116. data/app/views/avo/base/_actions.html.erb +0 -6
  117. data/app/views/avo/base/_boolean_filter.html.erb +2 -1
  118. data/app/views/avo/base/_filters.html.erb +4 -11
  119. data/app/views/avo/base/_select_filter.html.erb +2 -1
  120. data/app/views/avo/home/_resources.html.erb +0 -1
  121. data/app/views/avo/partials/_paginator.html.erb +24 -5
  122. data/app/views/avo/relations/new.html.erb +5 -1
  123. data/app/views/layouts/avo/_filter_wrapper.html.erb +1 -1
  124. data/avo.gemspec +1 -1
  125. data/bin/helpers.rb +0 -0
  126. data/bin/rspec +1 -0
  127. data/bin/webpack +3 -1
  128. data/config/webpack/aliases.js +1 -1
  129. data/config/webpack/base.js +14 -0
  130. data/config/webpack/development.js +2 -2
  131. data/config/webpack/production.js +2 -2
  132. data/config/webpack/test.js +2 -2
  133. data/config/webpacker.yml +10 -62
  134. data/db/factories.rb +1 -0
  135. data/lib/avo.rb +5 -16
  136. data/lib/avo/action_model.rb +20 -0
  137. data/lib/avo/app.rb +162 -0
  138. data/lib/avo/base_action.rb +126 -0
  139. data/lib/avo/base_resource.rb +301 -0
  140. data/lib/avo/configuration.rb +6 -4
  141. data/lib/avo/engine.rb +17 -20
  142. data/lib/avo/{app/fields → fields}/badge_field.rb +1 -1
  143. data/lib/avo/{app/fields/field.rb → fields/base_field.rb} +22 -16
  144. data/lib/avo/{app/fields/belongs_to.rb → fields/belongs_to_field.rb} +3 -3
  145. data/lib/avo/{app/fields → fields}/boolean_field.rb +1 -1
  146. data/lib/avo/{app/fields → fields}/boolean_group_field.rb +1 -1
  147. data/lib/avo/{app/fields → fields}/code_field.rb +1 -1
  148. data/lib/avo/{app/fields → fields}/country_field.rb +1 -1
  149. data/lib/avo/{app/fields → fields}/currency_field.rb +1 -1
  150. data/lib/avo/{app/fields → fields}/date_field.rb +0 -2
  151. data/lib/avo/{app/fields → fields}/date_time_field.rb +0 -2
  152. data/lib/avo/{app/fields → fields}/external_image_field.rb +1 -1
  153. data/lib/avo/{app/fields → fields}/field_extensions/has_field_name.rb +2 -9
  154. data/lib/avo/{app/fields → fields}/field_extensions/visible_in_different_views.rb +1 -1
  155. data/lib/avo/{app/fields → fields}/file_field.rb +1 -2
  156. data/lib/avo/{app/fields → fields}/files_field.rb +1 -2
  157. data/lib/avo/{app/fields → fields}/gravatar_field.rb +2 -2
  158. data/lib/avo/{app/fields/has_and_belongs_to_many.rb → fields/has_and_belongs_to_many_field.rb} +1 -1
  159. data/lib/avo/{app/fields/has_many.rb → fields/has_many_field.rb} +1 -1
  160. data/lib/avo/{app/fields/has_one.rb → fields/has_one_field.rb} +1 -1
  161. data/lib/avo/{app/fields → fields}/heading_field.rb +1 -1
  162. data/lib/avo/{app/fields → fields}/hidden_field.rb +0 -2
  163. data/lib/avo/{app/fields → fields}/id_field.rb +1 -1
  164. data/lib/avo/{app/fields → fields}/key_value_field.rb +1 -1
  165. data/lib/avo/{app/fields → fields}/markdown_field.rb +1 -3
  166. data/lib/avo/{app/fields → fields}/number_field.rb +0 -2
  167. data/lib/avo/{app/fields → fields}/password_field.rb +0 -2
  168. data/lib/avo/{app/fields → fields}/select_field.rb +1 -1
  169. data/lib/avo/{app/fields → fields}/status_field.rb +1 -1
  170. data/lib/avo/{app/fields → fields}/text_field.rb +1 -1
  171. data/lib/avo/{app/fields → fields}/textarea_field.rb +0 -2
  172. data/lib/avo/{app/fields → fields}/trix_field.rb +1 -3
  173. data/lib/avo/fields_collector.rb +31 -0
  174. data/lib/avo/filters/base_filter.rb +20 -0
  175. data/lib/avo/filters/boolean_filter.rb +7 -0
  176. data/lib/avo/filters/select_filter.rb +7 -0
  177. data/lib/avo/grid_collector.rb +39 -0
  178. data/lib/avo/{app/grid_fields → grid_fields}/body_field.rb +0 -2
  179. data/lib/avo/{app/grid_fields → grid_fields}/grid_field.rb +0 -0
  180. data/lib/avo/{app/grid_fields → grid_fields}/preview_field.rb +0 -2
  181. data/lib/avo/{app/grid_fields → grid_fields}/title_field.rb +0 -2
  182. data/lib/avo/has_context.rb +7 -0
  183. data/lib/avo/licensing/community_license.rb +6 -0
  184. data/lib/avo/licensing/h_q.rb +88 -0
  185. data/lib/avo/licensing/license.rb +50 -0
  186. data/lib/avo/licensing/license_manager.rb +22 -0
  187. data/lib/avo/licensing/null_license.rb +14 -0
  188. data/lib/avo/licensing/pro_license.rb +11 -0
  189. data/lib/avo/loaders/actions_loader.rb +6 -0
  190. data/lib/avo/loaders/fields_loader.rb +27 -0
  191. data/lib/avo/loaders/filters_loader.rb +6 -0
  192. data/lib/avo/loaders/loader.rb +15 -0
  193. data/lib/avo/services/authorization_service.rb +93 -0
  194. data/lib/avo/services/panel_service.rb +27 -0
  195. data/lib/avo/{app/tools_manager.rb → tools_manager.rb} +0 -0
  196. data/lib/avo/version.rb +1 -1
  197. data/lib/generators/avo/action_generator.rb +11 -5
  198. data/lib/generators/avo/controller_generator.rb +14 -8
  199. data/lib/generators/avo/filter_generator.rb +14 -8
  200. data/lib/generators/avo/install_generator.rb +14 -10
  201. data/lib/generators/avo/locales_generator.rb +11 -7
  202. data/lib/generators/avo/partials_generator.rb +11 -5
  203. data/lib/generators/avo/resource_generator.rb +33 -15
  204. data/lib/generators/avo/templates/{action.rb → action.tt} +4 -6
  205. data/lib/generators/avo/templates/filters/boolean_filter.tt +11 -0
  206. data/lib/generators/avo/templates/filters/select_filter.tt +11 -0
  207. data/lib/generators/avo/templates/initializer/{avo.rb → avo.tt} +6 -0
  208. data/lib/generators/avo/templates/resource/controller.tt +2 -0
  209. data/lib/generators/avo/templates/resource/resource.tt +17 -0
  210. data/public/avo-packs/css/application-38e7e91b.css +5975 -0
  211. data/public/avo-packs/css/application-38e7e91b.css.br +0 -0
  212. data/public/avo-packs/css/application-38e7e91b.css.gz +0 -0
  213. data/public/avo-packs/css/application-38e7e91b.css.map +1 -0
  214. data/public/avo-packs/css/application-38e7e91b.css.map.br +0 -0
  215. data/public/avo-packs/css/application-38e7e91b.css.map.gz +0 -0
  216. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js +2 -0
  217. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.br +0 -0
  218. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.gz +0 -0
  219. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.map +1 -0
  220. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.map.br +0 -0
  221. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.map.gz +0 -0
  222. data/public/avo-packs/js/application-2b90fe889f7d6df1ad92.js +26 -0
  223. data/public/avo-packs/js/{application-6ba2bd1bca05d69b96e0.js.LICENSE.txt → application-2b90fe889f7d6df1ad92.js.LICENSE.txt} +17 -17
  224. data/public/avo-packs/js/application-2b90fe889f7d6df1ad92.js.br +0 -0
  225. data/public/avo-packs/js/application-2b90fe889f7d6df1ad92.js.gz +0 -0
  226. data/public/avo-packs/js/application-2b90fe889f7d6df1ad92.js.map +1 -0
  227. data/public/avo-packs/js/application-2b90fe889f7d6df1ad92.js.map.br +0 -0
  228. data/public/avo-packs/js/application-2b90fe889f7d6df1ad92.js.map.gz +0 -0
  229. data/public/avo-packs/manifest.json +46 -23
  230. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-00fbd8a72a3708b8314cce5f0515640e.svg → images/13ae283c0d7cc04efe7e.svg} +0 -0
  231. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-00fbd8a72a3708b8314cce5f0515640e.svg.br → images/13ae283c0d7cc04efe7e.svg.br} +0 -0
  232. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-00fbd8a72a3708b8314cce5f0515640e.svg.gz → images/13ae283c0d7cc04efe7e.svg.gz} +0 -0
  233. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-35bd1c96bc2e402cf22ea812ae067995.svg → images/195026a50008c53526ef.svg} +0 -0
  234. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-35bd1c96bc2e402cf22ea812ae067995.svg.br → images/195026a50008c53526ef.svg.br} +0 -0
  235. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-35bd1c96bc2e402cf22ea812ae067995.svg.gz → images/195026a50008c53526ef.svg.gz} +0 -0
  236. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-cb632c9fe211ba2c2bf1564c9a9295cc.woff → images/1f30e08faa7c60d1f7ac.woff} +0 -0
  237. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-2cc22f9c0cf217cbfc371f3b74992305.ttf → images/1fd17dabf6b7d2b15348.ttf} +0 -0
  238. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-2cc22f9c0cf217cbfc371f3b74992305.ttf.br → images/1fd17dabf6b7d2b15348.ttf.br} +0 -0
  239. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-2cc22f9c0cf217cbfc371f3b74992305.ttf.gz → images/1fd17dabf6b7d2b15348.ttf.gz} +0 -0
  240. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-bcf84d6cb8a0ac214c8c14ba9af834f3.woff2 → images/39a18f443d434999b89b.woff2} +0 -0
  241. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-412073df419ad5f6f8f2ea76eb4aced9.woff2 → images/4ad349571e28bb59c5a5.woff2} +0 -0
  242. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-2fae1e2418251b68fe5d0505ab93dd5c.eot → images/57a5470848663767abbf.eot} +0 -0
  243. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-df8c4bee41b6ca0ed2b7b71456ed7fbb.ttf → images/b2e4cf0fab6c8ca66b7f.ttf} +0 -0
  244. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-df8c4bee41b6ca0ed2b7b71456ed7fbb.ttf.br → images/b2e4cf0fab6c8ca66b7f.ttf.br} +0 -0
  245. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-df8c4bee41b6ca0ed2b7b71456ed7fbb.ttf.gz → images/b2e4cf0fab6c8ca66b7f.ttf.gz} +0 -0
  246. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-df7e79af617f98cd3b95d320e8b2a1af.eot → images/b78d61ab7e046de8c156.eot} +0 -0
  247. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-7c472b19cb573f537bad8ef62ca917ac.woff → images/c9ab29becb76ddab01d0.woff} +0 -0
  248. data/public/avo-packs/media/images/{logo-edf8d8d0d263e0c1f73bb32a222d9991.png → f1b4befac91a3336db9a.png} +0 -0
  249. metadata +195 -193
  250. data/app/frontend/css/components/code.css +0 -27
  251. data/app/views/layouts/avo/application_vue.html.erb +0 -61
  252. data/config/webpack/environment.js +0 -18
  253. data/config/webpacker_packed.yml +0 -86
  254. data/db/migrate/20210305082639_add_url_to_teams.rb +0 -5
  255. data/lib/avo/app/action.rb +0 -145
  256. data/lib/avo/app/actions_loader.rb +0 -11
  257. data/lib/avo/app/app.rb +0 -183
  258. data/lib/avo/app/fields_loader.rb +0 -29
  259. data/lib/avo/app/filter.rb +0 -23
  260. data/lib/avo/app/filters/boolean_filter.rb +0 -13
  261. data/lib/avo/app/filters/select_filter.rb +0 -13
  262. data/lib/avo/app/licensing/community_license.rb +0 -4
  263. data/lib/avo/app/licensing/hq.rb +0 -86
  264. data/lib/avo/app/licensing/license.rb +0 -48
  265. data/lib/avo/app/licensing/license_manager.rb +0 -25
  266. data/lib/avo/app/licensing/null_license.rb +0 -12
  267. data/lib/avo/app/licensing/pro_license.rb +0 -9
  268. data/lib/avo/app/resource.rb +0 -299
  269. data/lib/avo/app/resource_grid_fields.rb +0 -30
  270. data/lib/avo/app/services/authorization_service.rb +0 -110
  271. data/lib/avo/app/services/panel_service.rb +0 -25
  272. data/lib/avo/app/tool.rb +0 -5
  273. data/lib/generators/avo/templates/filters/boolean_filter.rb +0 -17
  274. data/lib/generators/avo/templates/filters/select_filter.rb +0 -17
  275. data/lib/generators/avo/templates/resource/%plural_name%_controller.tt +0 -2
  276. data/lib/generators/avo/templates/resource/%singular_name%.tt +0 -20
  277. data/public/avo-packs/css/application-3598cfbb.css +0 -6
  278. data/public/avo-packs/css/application-3598cfbb.css.br +0 -0
  279. data/public/avo-packs/css/application-3598cfbb.css.gz +0 -0
  280. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js +0 -2
  281. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.br +0 -0
  282. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.gz +0 -0
  283. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.map +0 -1
  284. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.map.br +0 -0
  285. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.map.gz +0 -0
  286. data/public/avo-packs/js/application-6ba2bd1bca05d69b96e0.js +0 -26
  287. data/public/avo-packs/js/application-6ba2bd1bca05d69b96e0.js.br +0 -0
  288. data/public/avo-packs/js/application-6ba2bd1bca05d69b96e0.js.gz +0 -0
  289. data/public/avo-packs/js/application-6ba2bd1bca05d69b96e0.js.map +0 -1
  290. data/public/avo-packs/js/application-6ba2bd1bca05d69b96e0.js.map.br +0 -0
  291. data/public/avo-packs/js/application-6ba2bd1bca05d69b96e0.js.map.gz +0 -0
  292. data/public/avo-packs/manifest.json.br +0 -0
  293. data/public/avo-packs/manifest.json.gz +0 -0
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class BelongsToField < Field
3
+ class BelongsToField < BaseField
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
6
  partial_name: 'belongs-to-field',
@@ -17,7 +17,7 @@ module Avo
17
17
  target_resource.model_class.all.map do |model|
18
18
  {
19
19
  value: model.id,
20
- label: model.send(target_resource.title)
20
+ label: model.send(target_resource.class.title)
21
21
  }
22
22
  end
23
23
  end
@@ -43,7 +43,7 @@ module Avo
43
43
  end
44
44
 
45
45
  def label
46
- value.send(target_resource.title)
46
+ value.send(target_resource.class.title)
47
47
  end
48
48
 
49
49
  def to_permitted_param
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class BooleanField < Field
3
+ class BooleanField < BaseField
4
4
  attr_reader :true_value
5
5
  attr_reader :false_value
6
6
 
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class BooleanGroupField < Field
3
+ class BooleanGroupField < BaseField
4
4
  attr_reader :options
5
5
 
6
6
  def initialize(name, **args, &block)
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class CodeField < Field
3
+ class CodeField < BaseField
4
4
  attr_reader :height
5
5
  attr_reader :language
6
6
  attr_reader :theme
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class CountryField < Field
3
+ class CountryField < BaseField
4
4
  attr_reader :countries
5
5
  attr_reader :display_code
6
6
 
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class CurrencyField < Field
3
+ class CurrencyField < BaseField
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
6
  partial_name: 'currency-field',
@@ -1,5 +1,3 @@
1
- require_relative 'text_field'
2
-
3
1
  module Avo
4
2
  module Fields
5
3
  class DateField < TextField
@@ -1,5 +1,3 @@
1
- require_relative 'date_field'
2
-
3
1
  module Avo
4
2
  module Fields
5
3
  class DateTimeField < DateField
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class ExternalImageField < Field
3
+ class ExternalImageField < BaseField
4
4
  attr_reader :width
5
5
  attr_reader :height
6
6
  attr_reader :radius
@@ -2,21 +2,14 @@ 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
- return field_name_attribute if field_name_attribute.present?
12
+ return self.field_name_attribute if self.field_name_attribute.present?
20
13
 
21
14
  self.to_s.demodulize.underscore.gsub '_field', ''
22
15
  end
@@ -1,7 +1,7 @@
1
1
  module Avo
2
2
  module Fields
3
3
  module FieldExtensions
4
- module VisibleOnDifferentViews
4
+ module VisibleInDifferentViews
5
5
  attr_accessor :show_on_index
6
6
  attr_accessor :show_on_show
7
7
  attr_accessor :show_on_new
@@ -1,7 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class FileField < Field
4
- include Rails.application.routes.url_helpers
3
+ class FileField < BaseField
5
4
  attr_accessor :is_avatar
6
5
  attr_accessor :is_image
7
6
 
@@ -1,7 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class FilesField < Field
4
- include Rails.application.routes.url_helpers
3
+ class FilesField < BaseField
5
4
  attr_accessor :is_image
6
5
 
7
6
  def initialize(name, **args, &block)
@@ -3,7 +3,7 @@ require 'erb'
3
3
 
4
4
  module Avo
5
5
  module Fields
6
- class GravatarField < Field
6
+ class GravatarField < BaseField
7
7
  attr_reader :size
8
8
  attr_reader :rounded
9
9
  attr_reader :default
@@ -39,7 +39,7 @@ module Avo
39
39
 
40
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
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class HasAndBelongsToManyField < Field
3
+ class HasAndBelongsToManyField < BaseField
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
6
  updatable: false,
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class HasManyField < Field
3
+ class HasManyField < BaseField
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
6
  updatable: false,
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class HasOneField < Field
3
+ class HasOneField < BaseField
4
4
  attr_accessor :relation_method
5
5
  attr_accessor :display
6
6
 
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class HeadingField < Field
3
+ class HeadingField < BaseField
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
6
  updatable: false,
@@ -1,5 +1,3 @@
1
- require_relative 'text_field'
2
-
3
1
  module Avo
4
2
  module Fields
5
3
  class HiddenField < TextField
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class IdField < Field
3
+ class IdField < BaseField
4
4
  def initialize(name, **args, &block)
5
5
  default_value = 'id'
6
6
 
@@ -2,7 +2,7 @@ require 'json'
2
2
 
3
3
  module Avo
4
4
  module Fields
5
- class KeyValueField < Field
5
+ class KeyValueField < BaseField
6
6
  def initialize(name, **args, &block)
7
7
  @defaults = {
8
8
  partial_name: 'key-value-field',
@@ -1,8 +1,6 @@
1
- require_relative 'field'
2
-
3
1
  module Avo
4
2
  module Fields
5
- class MarkdownField < Field
3
+ class MarkdownField < BaseField
6
4
  def initialize(name, **args, &block)
7
5
  @defaults = {
8
6
  partial_name: 'markdown-field',
@@ -1,5 +1,3 @@
1
- require_relative 'text_field'
2
-
3
1
  module Avo
4
2
  module Fields
5
3
  class NumberField < TextField
@@ -1,5 +1,3 @@
1
- require_relative 'text_field'
2
-
3
1
  module Avo
4
2
  module Fields
5
3
  class PasswordField < TextField
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class SelectField < Field
3
+ class SelectField < BaseField
4
4
  attr_reader :options
5
5
  attr_reader :enum
6
6
  attr_reader :display_value
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class StatusField < Field
3
+ class StatusField < BaseField
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
6
  partial_name: 'status-field',
@@ -1,6 +1,6 @@
1
1
  module Avo
2
2
  module Fields
3
- class TextField < Field
3
+ class TextField < BaseField
4
4
  def initialize(name, **args, &block)
5
5
  @defaults = {
6
6
  partial_name: 'text-field',
@@ -1,5 +1,3 @@
1
- require_relative 'text_field'
2
-
3
1
  module Avo
4
2
  module Fields
5
3
  class TextareaField < TextField
@@ -1,8 +1,6 @@
1
- require_relative 'field'
2
-
3
1
  module Avo
4
2
  module Fields
5
- class TrixField < Field
3
+ class TrixField < BaseField
6
4
  attr_reader :always_show
7
5
 
8
6
  def initialize(name, **args, &block)
@@ -0,0 +1,31 @@
1
+ module Avo
2
+ module FieldsCollector
3
+ def field(field_name, as:, **args, &block)
4
+ self.fields ||= []
5
+
6
+ self.fields << parse_field(field_name, as: as, **args, &block)
7
+ end
8
+
9
+ def parse_field(field_name, as:, **args, &block)
10
+ matched_field = Avo::App.fields.find do |field|
11
+ field[:name].to_s == as.to_s
12
+ end
13
+
14
+ if matched_field.present? and matched_field[:class].present?
15
+ klass = matched_field[:class]
16
+
17
+ if block_given?
18
+ field = klass.new(field_name, **args || {}, &block)
19
+ else
20
+ field = klass.new(field_name, **args || {})
21
+ end
22
+
23
+ field
24
+ end
25
+ end
26
+
27
+ def heading(body, **args)
28
+ self.fields << Avo::Fields::HeadingField.new(body, **args)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,20 @@
1
+ module Avo
2
+ module Filters
3
+ class BaseFilter
4
+ class_attribute :name, default: 'Filter'
5
+ class_attribute :component, default: 'boolean-filter'
6
+ class_attribute :default, default: ''
7
+ class_attribute :template, default: 'avo/base/select_filter'
8
+
9
+ def apply_query(request, query, value)
10
+ value.symbolize_keys! if value.is_a? Hash
11
+
12
+ self.apply(request, query, value)
13
+ end
14
+
15
+ def id
16
+ self.class.name.underscore.gsub('/', '_')
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,7 @@
1
+ module Avo
2
+ module Filters
3
+ class BooleanFilter < BaseFilter
4
+ self.template = 'avo/base/boolean_filter'
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Avo
2
+ module Filters
3
+ class SelectFilter < BaseFilter
4
+ self.template = 'avo/base/select_filter'
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,39 @@
1
+ module Avo
2
+ class GridCollector
3
+ include FieldsCollector
4
+
5
+ attr_accessor :cover_field
6
+ attr_accessor :title_field
7
+ attr_accessor :body_field
8
+
9
+ def initialize
10
+ @cover_field = nil
11
+ @title_field = nil
12
+ @body_field = nil
13
+ end
14
+
15
+ def cover(field_name, as:, **args, &block)
16
+ self.cover_field = parse_field(field_name, as: as, **args, &block)
17
+ end
18
+
19
+ def title(field_name, as:, **args, &block)
20
+ self.title_field = parse_field(field_name, as: as, **args, &block)
21
+ end
22
+
23
+ def body(field_name, as:, **args, &block)
24
+ self.body_field = parse_field(field_name, as: as, **args, &block)
25
+ end
26
+
27
+ def hydrate(model:, view:, resource:)
28
+ cover_field.hydrate(model: model, view: view, resource: resource) if cover_field.present?
29
+ title_field.hydrate(model: model, view: view, resource: resource) if title_field.present?
30
+ body_field.hydrate(model: model, view: view, resource: resource) if title_field.present?
31
+
32
+ self
33
+ end
34
+
35
+ def blank?
36
+ title_field.blank?
37
+ end
38
+ end
39
+ end
@@ -1,5 +1,3 @@
1
- require_relative 'grid_field'
2
-
3
1
  module Avo
4
2
  module GridFields
5
3
  class BodyField < GridField
@@ -1,5 +1,3 @@
1
- require_relative 'grid_field'
2
-
3
1
  module Avo
4
2
  module GridFields
5
3
  class PreviewField < GridField
@@ -1,5 +1,3 @@
1
- require_relative 'grid_field'
2
-
3
1
  module Avo
4
2
  module GridFields
5
3
  class TitleField < GridField
@@ -0,0 +1,7 @@
1
+ module Avo
2
+ module HasContext
3
+ def context
4
+ App.context
5
+ end
6
+ end
7
+ end