avo 2.45.0 → 3.0.2

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 (407) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +28 -26
  3. data/Gemfile.lock +231 -161
  4. data/README.md +19 -27
  5. data/Rakefile +2 -0
  6. data/app/assets/stylesheets/avo.base.css +1 -1
  7. data/app/assets/svgs/font.svg +1 -0
  8. data/app/assets/svgs/triangle-up.svg +1 -0
  9. data/app/components/avo/actions_component.html.erb +19 -5
  10. data/app/components/avo/actions_component.rb +39 -19
  11. data/app/components/avo/asset_manager/javascript_component.html.erb +3 -0
  12. data/app/components/avo/asset_manager/javascript_component.rb +13 -0
  13. data/app/components/avo/asset_manager/stylesheet_component.html.erb +3 -0
  14. data/app/components/avo/asset_manager/stylesheet_component.rb +13 -0
  15. data/app/components/avo/base_component.rb +15 -12
  16. data/app/components/avo/button_component.rb +20 -3
  17. data/app/components/avo/empty_state_component.rb +1 -1
  18. data/app/components/avo/field_wrapper_component.html.erb +1 -1
  19. data/app/components/avo/field_wrapper_component.rb +9 -15
  20. data/app/components/avo/fields/area_field/edit_component.html.erb +2 -2
  21. data/app/components/avo/fields/belongs_to_field/edit_component.html.erb +75 -79
  22. data/app/components/avo/fields/belongs_to_field/edit_component.rb +7 -7
  23. data/app/components/avo/fields/belongs_to_field/index_component.html.erb +1 -1
  24. data/app/components/avo/fields/belongs_to_field/show_component.rb +2 -2
  25. data/app/components/avo/fields/boolean_field/edit_component.html.erb +1 -1
  26. data/app/components/avo/fields/boolean_field/index_component.html.erb +1 -1
  27. data/app/components/avo/fields/boolean_group_field/edit_component.html.erb +3 -3
  28. data/app/components/avo/fields/common/badge_viewer_component.rb +1 -1
  29. data/app/components/avo/fields/common/boolean_check_component.html.erb +1 -12
  30. data/app/components/avo/fields/common/boolean_check_component.rb +2 -1
  31. data/app/components/avo/fields/common/boolean_group_component.html.erb +2 -2
  32. data/app/components/avo/fields/common/files/view_type/grid_item_component.rb +2 -2
  33. data/app/components/avo/fields/common/gravatar_viewer_component.html.erb +1 -1
  34. data/app/components/avo/fields/common/gravatar_viewer_component.rb +2 -2
  35. data/app/components/avo/fields/common/heading_component.html.erb +3 -8
  36. data/app/components/avo/fields/common/heading_component.rb +1 -3
  37. data/app/components/avo/fields/common/key_value_component.html.erb +2 -2
  38. data/app/components/avo/fields/common/key_value_component.rb +2 -2
  39. data/app/components/avo/fields/common/progress_bar_component.rb +3 -9
  40. data/app/components/avo/fields/common/status_viewer_component.html.erb +3 -0
  41. data/app/components/avo/fields/edit_component.rb +2 -2
  42. data/app/components/avo/fields/external_image_field/index_component.html.erb +1 -1
  43. data/app/components/avo/fields/file_field/index_component.html.erb +2 -2
  44. data/app/components/avo/fields/gravatar_field/index_component.html.erb +1 -1
  45. data/app/components/avo/fields/has_one_field/index_component.html.erb +1 -1
  46. data/app/components/avo/fields/has_one_field/show_component.html.erb +3 -2
  47. data/app/components/avo/fields/has_one_field/show_component.rb +2 -2
  48. data/app/components/avo/fields/heading_field/edit_component.html.erb +1 -1
  49. data/app/components/avo/fields/heading_field/show_component.html.erb +1 -1
  50. data/app/components/avo/fields/id_field/index_component.html.erb +1 -1
  51. data/app/components/avo/fields/index_component.rb +6 -6
  52. data/app/components/avo/fields/location_field/edit_component.html.erb +12 -10
  53. data/app/components/avo/fields/preview_field/index_component.html.erb +10 -0
  54. data/app/components/avo/fields/preview_field/index_component.rb +4 -0
  55. data/app/components/avo/fields/select_field/edit_component.html.erb +1 -1
  56. data/app/components/avo/fields/show_component.rb +5 -2
  57. data/app/components/avo/fields/text_field/index_component.html.erb +1 -1
  58. data/app/components/avo/fields/trix_field/edit_component.html.erb +2 -2
  59. data/app/components/avo/fields/trix_field/edit_component.rb +1 -1
  60. data/app/components/avo/fields/trix_field/show_component.html.erb +1 -1
  61. data/app/components/avo/filters_component.html.erb +9 -3
  62. data/app/components/avo/filters_component.rb +4 -4
  63. data/app/components/avo/index/field_wrapper_component.rb +1 -13
  64. data/app/components/avo/index/grid_item_component.html.erb +13 -36
  65. data/app/components/avo/index/grid_item_component.rb +43 -16
  66. data/app/components/avo/index/resource_controls_component.html.erb +3 -81
  67. data/app/components/avo/index/resource_controls_component.rb +125 -18
  68. data/app/components/avo/index/resource_grid_component.html.erb +5 -3
  69. data/app/components/avo/index/resource_grid_component.rb +5 -2
  70. data/app/components/avo/index/resource_map_component.html.erb +1 -1
  71. data/app/components/avo/index/resource_map_component.rb +3 -3
  72. data/app/components/avo/index/resource_table_component.html.erb +3 -2
  73. data/app/components/avo/index/resource_table_component.rb +8 -7
  74. data/app/components/avo/index/table_row_component.html.erb +9 -5
  75. data/app/components/avo/index/table_row_component.rb +3 -2
  76. data/app/components/avo/items/panel_component.html.erb +25 -0
  77. data/app/components/avo/items/panel_component.rb +43 -0
  78. data/app/components/avo/items/switcher_component.html.erb +17 -0
  79. data/app/components/avo/items/switcher_component.rb +79 -0
  80. data/app/components/avo/items/visible_items_component.html.erb +10 -0
  81. data/app/components/avo/items/visible_items_component.rb +11 -0
  82. data/app/components/avo/modal_component.html.erb +3 -4
  83. data/app/components/avo/paginator_component.html.erb +1 -1
  84. data/app/components/avo/paginator_component.rb +6 -6
  85. data/app/components/avo/panel_component.html.erb +7 -5
  86. data/app/components/avo/referrer_params_component.html.erb +1 -1
  87. data/app/components/avo/resource_component.rb +205 -26
  88. data/app/components/avo/resource_sidebar_component.html.erb +15 -18
  89. data/app/components/avo/resource_sidebar_component.rb +5 -3
  90. data/app/components/avo/sidebar/link_component.rb +1 -1
  91. data/app/components/avo/sidebar_component.html.erb +10 -3
  92. data/app/components/avo/sidebar_component.rb +5 -3
  93. data/app/components/avo/sidebar_profile_component.html.erb +18 -12
  94. data/app/components/avo/tab_group_component.html.erb +14 -8
  95. data/app/components/avo/tab_group_component.rb +1 -6
  96. data/app/components/avo/tab_switcher_component.html.erb +17 -40
  97. data/app/components/avo/tab_switcher_component.rb +6 -41
  98. data/app/components/avo/views/resource_edit_component.html.erb +23 -86
  99. data/app/components/avo/views/resource_edit_component.rb +20 -19
  100. data/app/components/avo/views/resource_index_component.html.erb +42 -47
  101. data/app/components/avo/views/resource_index_component.rb +76 -13
  102. data/app/components/avo/views/resource_show_component.html.erb +16 -177
  103. data/app/components/avo/views/resource_show_component.rb +16 -10
  104. data/app/controllers/avo/actions_controller.rb +29 -31
  105. data/app/controllers/avo/application_controller.rb +119 -180
  106. data/app/controllers/avo/associations_controller.rb +34 -43
  107. data/app/controllers/avo/attachments_controller.rb +4 -4
  108. data/app/controllers/avo/base_controller.rb +139 -91
  109. data/app/controllers/avo/debug_controller.rb +17 -5
  110. data/app/controllers/avo/home_controller.rb +1 -1
  111. data/app/controllers/avo/search_controller.rb +56 -50
  112. data/app/controllers/concerns/avo/initializes_avo.rb +22 -0
  113. data/app/helpers/avo/application_helper.rb +18 -8
  114. data/app/helpers/avo/resources_helper.rb +1 -1
  115. data/app/helpers/avo/url_helpers.rb +28 -12
  116. data/app/javascript/avo.base.js +1 -0
  117. data/app/javascript/js/controllers/action_controller.js +5 -3
  118. data/app/javascript/js/controllers/actions_overflow_controller.js +62 -0
  119. data/app/javascript/js/controllers/fields/reload_belongs_to_field_controller.js +7 -7
  120. data/app/javascript/js/controllers/filter_controller.js +1 -1
  121. data/app/javascript/js/controllers/input_autofocus_controller.js +12 -0
  122. data/app/javascript/js/controllers/preview_controller.js +24 -0
  123. data/app/javascript/js/controllers/search_controller.js +4 -2
  124. data/app/javascript/js/controllers/self_destroy_controller.js +7 -0
  125. data/app/javascript/js/controllers/toggle_controller.js +48 -0
  126. data/app/javascript/js/controllers.js +11 -5
  127. data/app/javascript/js/custom-stream-actions.js +15 -0
  128. data/app/views/avo/actions/show.html.erb +9 -5
  129. data/app/views/avo/associations/new.html.erb +2 -2
  130. data/app/views/avo/base/_new_via_belongs_to.html.erb +1 -1
  131. data/app/views/avo/base/close_modal_and_reload_field.turbo_stream.erb +3 -3
  132. data/app/views/avo/base/create_fail_action.turbo_stream.erb +2 -2
  133. data/app/views/avo/base/edit.html.erb +1 -1
  134. data/app/views/avo/base/index.html.erb +4 -3
  135. data/app/views/avo/base/new.html.erb +2 -1
  136. data/app/views/avo/base/preview.html.erb +19 -0
  137. data/app/views/avo/base/show.html.erb +2 -2
  138. data/app/views/avo/debug/_valid_indicator.html.erb +9 -0
  139. data/app/views/avo/debug/report.html.erb +32 -17
  140. data/app/views/avo/debug/{index.html.erb → status.html.erb} +31 -14
  141. data/app/views/avo/partials/_custom_tools_alert.html.erb +2 -2
  142. data/app/views/avo/partials/_footer.html.erb +1 -1
  143. data/app/views/avo/partials/_javascript.html.erb +5 -0
  144. data/app/views/avo/partials/_logo.html.erb +1 -1
  145. data/app/views/avo/partials/_navbar.html.erb +3 -5
  146. data/app/views/avo/partials/_resource_search.html.erb +1 -0
  147. data/app/views/avo/partials/_table_header.html.erb +5 -11
  148. data/app/views/layouts/avo/application.html.erb +5 -4
  149. data/avo.gemspec +10 -8
  150. data/bin/dev +3 -1
  151. data/bin/prod +0 -0
  152. data/config/master.key +1 -0
  153. data/config/routes.rb +7 -10
  154. data/db/factories.rb +6 -0
  155. data/lib/avo/asset_manager.rb +30 -0
  156. data/lib/avo/base_action.rb +82 -66
  157. data/lib/avo/base_resource.rb +285 -225
  158. data/lib/avo/base_resource_tool.rb +9 -16
  159. data/lib/avo/concerns/borrow_items_holder.rb +35 -0
  160. data/lib/avo/concerns/breadcrumbs.rb +2 -2
  161. data/lib/avo/concerns/{can_replace_fields.rb → can_replace_items.rb} +5 -9
  162. data/lib/avo/concerns/filters_session_handler.rb +7 -5
  163. data/lib/avo/concerns/has_controls.rb +37 -0
  164. data/lib/avo/concerns/has_description.rb +23 -0
  165. data/lib/avo/concerns/has_helpers.rb +18 -0
  166. data/lib/avo/concerns/has_item_type.rb +42 -0
  167. data/lib/avo/concerns/has_items.rb +339 -0
  168. data/lib/avo/concerns/hydration.rb +17 -0
  169. data/lib/avo/concerns/is_resource_item.rb +16 -36
  170. data/lib/avo/concerns/is_visible.rb +15 -0
  171. data/lib/avo/concerns/model_class_constantized.rb +0 -2
  172. data/lib/avo/concerns/visible_in_different_views.rb +132 -0
  173. data/lib/avo/concerns/visible_items.rb +7 -38
  174. data/lib/avo/configuration/branding.rb +0 -12
  175. data/lib/avo/configuration.rb +28 -11
  176. data/lib/avo/current.rb +39 -0
  177. data/lib/avo/dsl/field_parser.rb +3 -3
  178. data/lib/avo/dynamic_router.rb +18 -3
  179. data/lib/avo/engine.rb +35 -30
  180. data/lib/avo/error_manager.rb +25 -0
  181. data/lib/avo/execution_context.rb +14 -15
  182. data/lib/avo/fields/base_field.rb +84 -121
  183. data/lib/avo/fields/belongs_to_field.rb +19 -23
  184. data/lib/avo/fields/concerns/file_authorization.rb +2 -2
  185. data/lib/avo/fields/concerns/handles_field_args.rb +49 -0
  186. data/lib/avo/fields/concerns/has_default.rb +1 -5
  187. data/lib/avo/fields/concerns/has_field_name.rb +22 -0
  188. data/lib/avo/fields/concerns/has_html_attributes.rb +112 -0
  189. data/lib/avo/fields/concerns/is_disabled.rb +1 -5
  190. data/lib/avo/fields/concerns/is_readonly.rb +1 -5
  191. data/lib/avo/fields/concerns/is_required.rb +5 -7
  192. data/lib/avo/fields/concerns/is_searchable.rb +15 -0
  193. data/lib/avo/fields/concerns/use_resource.rb +5 -1
  194. data/lib/avo/fields/concerns/use_view_components.rb +45 -0
  195. data/lib/avo/fields/country_field.rb +4 -0
  196. data/lib/avo/fields/date_time_field.rb +1 -5
  197. data/lib/avo/fields/external_image_field.rb +2 -2
  198. data/lib/avo/fields/field_manager.rb +55 -0
  199. data/lib/avo/fields/file_field.rb +2 -2
  200. data/lib/avo/fields/gravatar_field.rb +2 -2
  201. data/lib/avo/fields/has_and_belongs_to_many_field.rb +1 -2
  202. data/lib/avo/fields/has_base_field.rb +21 -17
  203. data/lib/avo/fields/has_many_field.rb +5 -2
  204. data/lib/avo/fields/has_one_field.rb +8 -12
  205. data/lib/avo/fields/heading_field.rb +9 -14
  206. data/lib/avo/fields/hidden_field.rb +1 -1
  207. data/lib/avo/fields/id_field.rb +3 -3
  208. data/lib/avo/fields/location_field.rb +10 -10
  209. data/lib/avo/fields/password_field.rb +1 -1
  210. data/lib/avo/fields/preview_field.rb +14 -0
  211. data/lib/avo/fields/select_field.rb +12 -8
  212. data/lib/avo/fields/status_field.rb +7 -1
  213. data/lib/avo/fields/text_field.rb +2 -2
  214. data/lib/avo/filters/base_filter.rb +9 -4
  215. data/lib/avo/html/builder.rb +8 -8
  216. data/lib/avo/item_grapher.rb +78 -0
  217. data/lib/avo/licensing/h_q.rb +11 -73
  218. data/lib/avo/licensing/license.rb +5 -1
  219. data/lib/avo/licensing/license_manager.rb +1 -1
  220. data/lib/avo/licensing/pro_license.rb +1 -7
  221. data/lib/avo/loaders/fields_loader.rb +7 -1
  222. data/lib/avo/plugin.rb +36 -0
  223. data/lib/avo/plugin_manager.rb +56 -0
  224. data/lib/avo/prefixed_test_helpers.rb +20 -0
  225. data/lib/avo/reloader.rb +3 -0
  226. data/lib/avo/resources/controls/actions_list.rb +7 -12
  227. data/lib/avo/resources/controls/attach_button.rb +15 -0
  228. data/lib/avo/resources/controls/back_button.rb +1 -1
  229. data/lib/avo/resources/controls/base_control.rb +15 -49
  230. data/lib/avo/resources/controls/create_button.rb +15 -0
  231. data/lib/avo/resources/controls/delete_button.rb +5 -1
  232. data/lib/avo/resources/controls/detach_button.rb +4 -1
  233. data/lib/avo/resources/controls/edit_button.rb +4 -1
  234. data/lib/avo/resources/controls/order_controls.rb +8 -0
  235. data/lib/avo/resources/controls/save_button.rb +13 -0
  236. data/lib/avo/resources/controls/show_button.rb +15 -0
  237. data/lib/avo/resources/items/holder.rb +96 -0
  238. data/lib/avo/resources/items/item_group.rb +44 -0
  239. data/lib/avo/resources/items/main_panel.rb +12 -0
  240. data/lib/avo/resources/items/panel.rb +2 -0
  241. data/lib/avo/resources/items/row.rb +42 -0
  242. data/lib/avo/resources/items/sidebar.rb +46 -0
  243. data/lib/avo/resources/items/tab.rb +54 -0
  244. data/lib/avo/resources/items/tab_group.rb +62 -0
  245. data/lib/avo/resources/resource_manager.rb +179 -0
  246. data/lib/avo/services/authorization_service.rb +11 -110
  247. data/lib/avo/services/debug_service.rb +93 -0
  248. data/lib/avo/services/encryption_service.rb +8 -12
  249. data/lib/avo/services/telemetry_service.rb +85 -0
  250. data/lib/avo/test_helpers.rb +362 -0
  251. data/lib/avo/tools/tool_manager.rb +30 -0
  252. data/lib/avo/version.rb +1 -1
  253. data/lib/avo/view_inquirer.rb +36 -0
  254. data/lib/avo.rb +109 -24
  255. data/lib/generators/avo/action_generator.rb +8 -8
  256. data/lib/generators/avo/card_generator.rb +27 -0
  257. data/lib/generators/avo/concerns/parent_controller.rb +20 -0
  258. data/lib/generators/avo/controller_generator.rb +3 -0
  259. data/lib/generators/avo/eject_generator.rb +180 -15
  260. data/lib/generators/avo/field_generator.rb +49 -2
  261. data/lib/generators/avo/filter_generator.rb +8 -8
  262. data/lib/generators/avo/js/install_generator.rb +2 -2
  263. data/lib/generators/avo/resource_generator.rb +12 -9
  264. data/lib/generators/avo/scope_generator.rb +15 -0
  265. data/lib/generators/avo/tailwindcss/install_generator.rb +70 -26
  266. data/lib/generators/avo/templates/action.tt +8 -6
  267. data/lib/generators/avo/templates/cards/chartkick_card.tt +1 -1
  268. data/lib/generators/avo/templates/cards/chartkick_card_sample.tt +1 -1
  269. data/lib/generators/avo/templates/cards/metric_card.tt +1 -1
  270. data/lib/generators/avo/templates/cards/metric_card_sample.tt +1 -1
  271. data/lib/generators/avo/templates/cards/partial_card.tt +1 -1
  272. data/lib/generators/avo/templates/cards/partial_card_sample.tt +1 -1
  273. data/lib/generators/avo/templates/dashboards/dashboard.tt +5 -3
  274. data/lib/generators/avo/templates/field/%singular_name%_field.rb.tt +1 -1
  275. data/lib/generators/avo/templates/filters/boolean_filter.tt +1 -1
  276. data/lib/generators/avo/templates/filters/multiple_select_filter.tt +1 -1
  277. data/lib/generators/avo/templates/filters/select_filter.tt +1 -1
  278. data/lib/generators/avo/templates/filters/text_filter.tt +1 -1
  279. data/lib/generators/avo/templates/initializer/avo.tt +7 -3
  280. data/lib/generators/avo/templates/locales/avo.ar.yml +2 -1
  281. data/lib/generators/avo/templates/locales/avo.en.yml +4 -3
  282. data/lib/generators/avo/templates/locales/avo.es.yml +1 -0
  283. data/lib/generators/avo/templates/locales/avo.fr.yml +1 -0
  284. data/lib/generators/avo/templates/locales/avo.nb.yml +1 -0
  285. data/lib/generators/avo/templates/locales/avo.nn.yml +1 -0
  286. data/lib/generators/avo/templates/locales/avo.pt-BR.yml +1 -0
  287. data/lib/generators/avo/templates/locales/avo.pt.yml +1 -0
  288. data/lib/generators/avo/templates/locales/avo.ro.yml +6 -5
  289. data/lib/generators/avo/templates/locales/avo.tr.yml +1 -0
  290. data/lib/generators/avo/templates/resource/controller.tt +1 -1
  291. data/lib/generators/avo/templates/resource/resource.tt +7 -7
  292. data/lib/generators/avo/templates/resource_tools/partial.tt +2 -2
  293. data/lib/generators/avo/templates/resource_tools/resource_tool.tt +1 -1
  294. data/lib/generators/avo/templates/scope.tt +6 -0
  295. data/lib/generators/avo/templates/tailwindcss/Procfile.dev +1 -1
  296. data/lib/generators/avo/templates/tailwindcss/avo.tailwind.css +5 -3
  297. data/lib/generators/avo/templates/tailwindcss/tailwind.config.js +11 -0
  298. data/lib/tasks/avo_tasks.rake +72 -4
  299. data/public/avo-assets/avo.base.css +1893 -1187
  300. data/public/avo-assets/avo.base.js +217 -305
  301. data/public/avo-assets/avo.base.js.map +3 -3
  302. data/public/avo-assets/avo.css +9744 -0
  303. data/public/avo-assets/avo.js +513 -0
  304. data/public/avo-assets/avo.js.map +7 -0
  305. data/tailwind.custom.js +47 -0
  306. data/tailwind.preset.js +152 -0
  307. metadata +104 -113
  308. data/app/components/avo/card_component.html.erb +0 -46
  309. data/app/components/avo/card_component.rb +0 -25
  310. data/app/components/avo/dashboards/divider_component.html.erb +0 -9
  311. data/app/components/avo/dashboards/divider_component.rb +0 -19
  312. data/app/components/avo/fields/belongs_to_field/autocomplete_component.html.erb +0 -47
  313. data/app/components/avo/fields/belongs_to_field/autocomplete_component.rb +0 -95
  314. data/app/components/avo/fields/tags_field/edit_component.html.erb +0 -35
  315. data/app/components/avo/fields/tags_field/edit_component.rb +0 -4
  316. data/app/components/avo/fields/tags_field/index_component.html.erb +0 -10
  317. data/app/components/avo/fields/tags_field/index_component.rb +0 -9
  318. data/app/components/avo/fields/tags_field/show_component.html.erb +0 -7
  319. data/app/components/avo/fields/tags_field/show_component.rb +0 -5
  320. data/app/components/avo/fields/tags_field/tag_component.html.erb +0 -9
  321. data/app/components/avo/fields/tags_field/tag_component.rb +0 -11
  322. data/app/components/avo/index/ordering/base_component.rb +0 -9
  323. data/app/components/avo/index/ordering/button_component.html.erb +0 -11
  324. data/app/components/avo/index/ordering/button_component.rb +0 -23
  325. data/app/components/avo/index/ordering/buttons_component.html.erb +0 -32
  326. data/app/components/avo/index/ordering/buttons_component.rb +0 -47
  327. data/app/components/avo/item_switcher_component.html.erb +0 -27
  328. data/app/components/avo/item_switcher_component.rb +0 -48
  329. data/app/components/avo/sidebar/item_switcher_component.html.erb +0 -16
  330. data/app/components/avo/sidebar/item_switcher_component.rb +0 -15
  331. data/app/controllers/avo/dashboards/cards_controller.rb +0 -37
  332. data/app/controllers/avo/dashboards_controller.rb +0 -22
  333. data/app/controllers/avo/reorder_controller.rb +0 -25
  334. data/app/javascript/js/controllers/base_controller.js +0 -22
  335. data/app/javascript/js/controllers/fields/tags_field_controller.js +0 -127
  336. data/app/javascript/js/controllers/toggle_panel_controller.js +0 -18
  337. data/app/views/avo/dashboards/cards/_chartkick_card.html.erb +0 -3
  338. data/app/views/avo/dashboards/cards/_metric_card.html.erb +0 -5
  339. data/app/views/avo/dashboards/cards/chartkick_missing.html.erb +0 -14
  340. data/app/views/avo/dashboards/cards/show.html.erb +0 -3
  341. data/app/views/avo/dashboards/show.html.erb +0 -38
  342. data/app/views/avo/partials/_global_search.html.erb +0 -19
  343. data/app/views/avo/sidebar/_license_warnings.html.erb +0 -6
  344. data/lib/avo/app.rb +0 -237
  345. data/lib/avo/base_card.rb +0 -161
  346. data/lib/avo/concerns/fetches_things.rb +0 -150
  347. data/lib/avo/concerns/handles_field_args.rb +0 -47
  348. data/lib/avo/concerns/has_editable_controls.rb +0 -34
  349. data/lib/avo/concerns/has_fields.rb +0 -334
  350. data/lib/avo/concerns/has_html_attributes.rb +0 -108
  351. data/lib/avo/concerns/policy_helpers.rb +0 -31
  352. data/lib/avo/concerns/visible_in_dashboard.rb +0 -31
  353. data/lib/avo/dashboards/base_dashboard.rb +0 -89
  354. data/lib/avo/dashboards/base_divider.rb +0 -35
  355. data/lib/avo/dashboards/chartkick_card.rb +0 -77
  356. data/lib/avo/dashboards/dashboard_card.rb +0 -6
  357. data/lib/avo/dashboards/metric_card.rb +0 -9
  358. data/lib/avo/dashboards/partial_card.rb +0 -7
  359. data/lib/avo/fields/field_extensions/has_field_name.rb +0 -19
  360. data/lib/avo/fields/field_extensions/visible_in_different_views.rb +0 -111
  361. data/lib/avo/fields/tags_field.rb +0 -102
  362. data/lib/avo/grid_collector.rb +0 -42
  363. data/lib/avo/hosts/association_scope_host.rb +0 -8
  364. data/lib/avo/hosts/base_host.rb +0 -25
  365. data/lib/avo/hosts/card_visibility.rb +0 -20
  366. data/lib/avo/hosts/dashboard_card.rb +0 -22
  367. data/lib/avo/hosts/dashboard_visibility.rb +0 -19
  368. data/lib/avo/hosts/ordering.rb +0 -22
  369. data/lib/avo/hosts/record_host.rb +0 -7
  370. data/lib/avo/hosts/resource_record_host.rb +0 -7
  371. data/lib/avo/hosts/resource_view_record_host.rb +0 -7
  372. data/lib/avo/hosts/search_scope_host.rb +0 -7
  373. data/lib/avo/hosts/view_record_host.rb +0 -7
  374. data/lib/avo/hosts/visibility_host.rb +0 -12
  375. data/lib/avo/items_holder.rb +0 -96
  376. data/lib/avo/main_panel.rb +0 -3
  377. data/lib/avo/menu/base_item.rb +0 -25
  378. data/lib/avo/menu/builder.rb +0 -82
  379. data/lib/avo/menu/dashboard.rb +0 -22
  380. data/lib/avo/menu/group.rb +0 -2
  381. data/lib/avo/menu/link.rb +0 -6
  382. data/lib/avo/menu/menu.rb +0 -2
  383. data/lib/avo/menu/resource.rb +0 -22
  384. data/lib/avo/menu/section.rb +0 -2
  385. data/lib/avo/panel.rb +0 -24
  386. data/lib/avo/panel_builder.rb +0 -25
  387. data/lib/avo/resources/controls/action.rb +0 -38
  388. data/lib/avo/resources/controls/execution_context.rb +0 -58
  389. data/lib/avo/resources/controls/items_holder.rb +0 -19
  390. data/lib/avo/resources/controls/link_to.rb +0 -27
  391. data/lib/avo/row.rb +0 -26
  392. data/lib/avo/row_builder.rb +0 -24
  393. data/lib/avo/services/authorization_clients/nil_client.rb +0 -37
  394. data/lib/avo/services/authorization_clients/pundit_client.rb +0 -51
  395. data/lib/avo/sidebar.rb +0 -30
  396. data/lib/avo/sidebar_builder.rb +0 -24
  397. data/lib/avo/tab.rb +0 -72
  398. data/lib/avo/tab_builder.rb +0 -25
  399. data/lib/avo/tab_group.rb +0 -42
  400. data/lib/avo/tab_group_builder.rb +0 -43
  401. data/lib/avo/tools_manager.rb +0 -11
  402. data/lib/generators/avo/card/chartkick_generator.rb +0 -18
  403. data/lib/generators/avo/card/metric_generator.rb +0 -18
  404. data/lib/generators/avo/card/partial_generator.rb +0 -19
  405. data/lib/generators/avo/templates/js/avo.custom.js +0 -2
  406. data/lib/generators/avo/templates/standalone_action.tt +0 -8
  407. /data/app/assets/stylesheets/css/{tags.css → fields/tags.css} +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.45.0
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Marin
@@ -17,28 +17,42 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '6.0'
20
+ version: '6.1'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '6.0'
27
+ version: '6.1'
28
+ - !ruby/object:Gem::Dependency
29
+ name: activesupport
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '6.1'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '6.1'
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: actionview
30
44
  requirement: !ruby/object:Gem::Requirement
31
45
  requirements:
32
46
  - - ">="
33
47
  - !ruby/object:Gem::Version
34
- version: '6.0'
48
+ version: '6.1'
35
49
  type: :runtime
36
50
  prerelease: false
37
51
  version_requirements: !ruby/object:Gem::Requirement
38
52
  requirements:
39
53
  - - ">="
40
54
  - !ruby/object:Gem::Version
41
- version: '6.0'
55
+ version: '6.1'
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: pagy
44
58
  requirement: !ruby/object:Gem::Requirement
@@ -59,14 +73,14 @@ dependencies:
59
73
  requirements:
60
74
  - - ">="
61
75
  - !ruby/object:Gem::Version
62
- version: 2.6.2
76
+ version: 2.6.12
63
77
  type: :runtime
64
78
  prerelease: false
65
79
  version_requirements: !ruby/object:Gem::Requirement
66
80
  requirements:
67
81
  - - ">="
68
82
  - !ruby/object:Gem::Version
69
- version: 2.6.2
83
+ version: 2.6.12
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: httparty
72
86
  requirement: !ruby/object:Gem::Requirement
@@ -101,14 +115,14 @@ dependencies:
101
115
  requirements:
102
116
  - - ">="
103
117
  - !ruby/object:Gem::Version
104
- version: 2.54.0
118
+ version: 3.7.0
105
119
  type: :runtime
106
120
  prerelease: false
107
121
  version_requirements: !ruby/object:Gem::Requirement
108
122
  requirements:
109
123
  - - ">="
110
124
  - !ruby/object:Gem::Version
111
- version: 2.54.0
125
+ version: 3.7.0
112
126
  - !ruby/object:Gem::Dependency
113
127
  name: turbo-rails
114
128
  requirement: !ruby/object:Gem::Requirement
@@ -228,6 +242,7 @@ files:
228
242
  - app/assets/stylesheets/css/fields/code.css
229
243
  - app/assets/stylesheets/css/fields/progress.css
230
244
  - app/assets/stylesheets/css/fields/status.css
245
+ - app/assets/stylesheets/css/fields/tags.css
231
246
  - app/assets/stylesheets/css/fields/trix.css
232
247
  - app/assets/stylesheets/css/fonts.css
233
248
  - app/assets/stylesheets/css/loader.css
@@ -236,7 +251,6 @@ files:
236
251
  - app/assets/stylesheets/css/search.css
237
252
  - app/assets/stylesheets/css/sidebar.css
238
253
  - app/assets/stylesheets/css/spinner.css
239
- - app/assets/stylesheets/css/tags.css
240
254
  - app/assets/stylesheets/css/tailwindcss/base.css
241
255
  - app/assets/stylesheets/css/tailwindcss/components.css
242
256
  - app/assets/stylesheets/css/tailwindcss/utilities.css
@@ -269,6 +283,7 @@ files:
269
283
  - app/assets/svgs/failed_to_load.svg
270
284
  - app/assets/svgs/filter.svg
271
285
  - app/assets/svgs/fire.svg
286
+ - app/assets/svgs/font.svg
272
287
  - app/assets/svgs/game-board.svg
273
288
  - app/assets/svgs/globe.svg
274
289
  - app/assets/svgs/grid-empty-state.svg
@@ -1331,6 +1346,7 @@ files:
1331
1346
  - app/assets/svgs/tools.svg
1332
1347
  - app/assets/svgs/trash-sm.svg
1333
1348
  - app/assets/svgs/trash.svg
1349
+ - app/assets/svgs/triangle-up.svg
1334
1350
  - app/assets/svgs/user-circle.svg
1335
1351
  - app/assets/svgs/view-grid-add.svg
1336
1352
  - app/assets/svgs/view-grid.svg
@@ -1341,14 +1357,14 @@ files:
1341
1357
  - app/components/avo/actions_component.rb
1342
1358
  - app/components/avo/alert_component.html.erb
1343
1359
  - app/components/avo/alert_component.rb
1360
+ - app/components/avo/asset_manager/javascript_component.html.erb
1361
+ - app/components/avo/asset_manager/javascript_component.rb
1362
+ - app/components/avo/asset_manager/stylesheet_component.html.erb
1363
+ - app/components/avo/asset_manager/stylesheet_component.rb
1344
1364
  - app/components/avo/base_component.rb
1345
1365
  - app/components/avo/blank_field_component.html.erb
1346
1366
  - app/components/avo/blank_field_component.rb
1347
1367
  - app/components/avo/button_component.rb
1348
- - app/components/avo/card_component.html.erb
1349
- - app/components/avo/card_component.rb
1350
- - app/components/avo/dashboards/divider_component.html.erb
1351
- - app/components/avo/dashboards/divider_component.rb
1352
1368
  - app/components/avo/empty_state_component.html.erb
1353
1369
  - app/components/avo/empty_state_component.rb
1354
1370
  - app/components/avo/field_wrapper_component.html.erb
@@ -1361,8 +1377,6 @@ files:
1361
1377
  - app/components/avo/fields/badge_field/index_component.rb
1362
1378
  - app/components/avo/fields/badge_field/show_component.html.erb
1363
1379
  - app/components/avo/fields/badge_field/show_component.rb
1364
- - app/components/avo/fields/belongs_to_field/autocomplete_component.html.erb
1365
- - app/components/avo/fields/belongs_to_field/autocomplete_component.rb
1366
1380
  - app/components/avo/fields/belongs_to_field/edit_component.html.erb
1367
1381
  - app/components/avo/fields/belongs_to_field/edit_component.rb
1368
1382
  - app/components/avo/fields/belongs_to_field/index_component.html.erb
@@ -1490,6 +1504,8 @@ files:
1490
1504
  - app/components/avo/fields/number_field/show_component.rb
1491
1505
  - app/components/avo/fields/password_field/edit_component.html.erb
1492
1506
  - app/components/avo/fields/password_field/edit_component.rb
1507
+ - app/components/avo/fields/preview_field/index_component.html.erb
1508
+ - app/components/avo/fields/preview_field/index_component.rb
1493
1509
  - app/components/avo/fields/progress_bar_field/edit_component.html.erb
1494
1510
  - app/components/avo/fields/progress_bar_field/edit_component.rb
1495
1511
  - app/components/avo/fields/progress_bar_field/index_component.html.erb
@@ -1509,14 +1525,6 @@ files:
1509
1525
  - app/components/avo/fields/status_field/index_component.rb
1510
1526
  - app/components/avo/fields/status_field/show_component.html.erb
1511
1527
  - app/components/avo/fields/status_field/show_component.rb
1512
- - app/components/avo/fields/tags_field/edit_component.html.erb
1513
- - app/components/avo/fields/tags_field/edit_component.rb
1514
- - app/components/avo/fields/tags_field/index_component.html.erb
1515
- - app/components/avo/fields/tags_field/index_component.rb
1516
- - app/components/avo/fields/tags_field/show_component.html.erb
1517
- - app/components/avo/fields/tags_field/show_component.rb
1518
- - app/components/avo/fields/tags_field/tag_component.html.erb
1519
- - app/components/avo/fields/tags_field/tag_component.rb
1520
1528
  - app/components/avo/fields/text_field/edit_component.html.erb
1521
1529
  - app/components/avo/fields/text_field/edit_component.rb
1522
1530
  - app/components/avo/fields/text_field/index_component.html.erb
@@ -1547,11 +1555,6 @@ files:
1547
1555
  - app/components/avo/index/grid_cover_empty_state_component.rb
1548
1556
  - app/components/avo/index/grid_item_component.html.erb
1549
1557
  - app/components/avo/index/grid_item_component.rb
1550
- - app/components/avo/index/ordering/base_component.rb
1551
- - app/components/avo/index/ordering/button_component.html.erb
1552
- - app/components/avo/index/ordering/button_component.rb
1553
- - app/components/avo/index/ordering/buttons_component.html.erb
1554
- - app/components/avo/index/ordering/buttons_component.rb
1555
1558
  - app/components/avo/index/resource_controls_component.html.erb
1556
1559
  - app/components/avo/index/resource_controls_component.rb
1557
1560
  - app/components/avo/index/resource_grid_component.html.erb
@@ -1562,8 +1565,12 @@ files:
1562
1565
  - app/components/avo/index/resource_table_component.rb
1563
1566
  - app/components/avo/index/table_row_component.html.erb
1564
1567
  - app/components/avo/index/table_row_component.rb
1565
- - app/components/avo/item_switcher_component.html.erb
1566
- - app/components/avo/item_switcher_component.rb
1568
+ - app/components/avo/items/panel_component.html.erb
1569
+ - app/components/avo/items/panel_component.rb
1570
+ - app/components/avo/items/switcher_component.html.erb
1571
+ - app/components/avo/items/switcher_component.rb
1572
+ - app/components/avo/items/visible_items_component.html.erb
1573
+ - app/components/avo/items/visible_items_component.rb
1567
1574
  - app/components/avo/loading_component.html.erb
1568
1575
  - app/components/avo/loading_component.rb
1569
1576
  - app/components/avo/modal_component.html.erb
@@ -1586,8 +1593,6 @@ files:
1586
1593
  - app/components/avo/sidebar/group_component.rb
1587
1594
  - app/components/avo/sidebar/heading_component.html.erb
1588
1595
  - app/components/avo/sidebar/heading_component.rb
1589
- - app/components/avo/sidebar/item_switcher_component.html.erb
1590
- - app/components/avo/sidebar/item_switcher_component.rb
1591
1596
  - app/components/avo/sidebar/link_component.html.erb
1592
1597
  - app/components/avo/sidebar/link_component.rb
1593
1598
  - app/components/avo/sidebar/section_component.html.erb
@@ -1613,14 +1618,12 @@ files:
1613
1618
  - app/controllers/avo/associations_controller.rb
1614
1619
  - app/controllers/avo/attachments_controller.rb
1615
1620
  - app/controllers/avo/base_controller.rb
1616
- - app/controllers/avo/dashboards/cards_controller.rb
1617
- - app/controllers/avo/dashboards_controller.rb
1618
1621
  - app/controllers/avo/debug_controller.rb
1619
1622
  - app/controllers/avo/home_controller.rb
1620
1623
  - app/controllers/avo/private_controller.rb
1621
- - app/controllers/avo/reorder_controller.rb
1622
1624
  - app/controllers/avo/resources_controller.rb
1623
1625
  - app/controllers/avo/search_controller.rb
1626
+ - app/controllers/concerns/avo/initializes_avo.rb
1624
1627
  - app/helpers/avo/application_helper.rb
1625
1628
  - app/helpers/avo/resources_helper.rb
1626
1629
  - app/helpers/avo/url_helpers.rb
@@ -1629,9 +1632,9 @@ files:
1629
1632
  - app/javascript/js/application.js
1630
1633
  - app/javascript/js/controllers.js
1631
1634
  - app/javascript/js/controllers/action_controller.js
1635
+ - app/javascript/js/controllers/actions_overflow_controller.js
1632
1636
  - app/javascript/js/controllers/actions_picker_controller.js
1633
1637
  - app/javascript/js/controllers/attachments_controller.js
1634
- - app/javascript/js/controllers/base_controller.js
1635
1638
  - app/javascript/js/controllers/boolean_filter_controller.js
1636
1639
  - app/javascript/js/controllers/copy_to_clipboard_controller.js
1637
1640
  - app/javascript/js/controllers/dashboard_card_controller.js
@@ -1642,11 +1645,11 @@ files:
1642
1645
  - app/javascript/js/controllers/fields/key_value_controller.js
1643
1646
  - app/javascript/js/controllers/fields/progress_bar_field_controller.js
1644
1647
  - app/javascript/js/controllers/fields/reload_belongs_to_field_controller.js
1645
- - app/javascript/js/controllers/fields/tags_field_controller.js
1646
1648
  - app/javascript/js/controllers/fields/tags_field_helpers.js
1647
1649
  - app/javascript/js/controllers/fields/trix_field_controller.js
1648
1650
  - app/javascript/js/controllers/filter_controller.js
1649
1651
  - app/javascript/js/controllers/hidden_input_controller.js
1652
+ - app/javascript/js/controllers/input_autofocus_controller.js
1650
1653
  - app/javascript/js/controllers/item_select_all_controller.js
1651
1654
  - app/javascript/js/controllers/item_selector_controller.js
1652
1655
  - app/javascript/js/controllers/loading_button_controller.js
@@ -1654,17 +1657,20 @@ files:
1654
1657
  - app/javascript/js/controllers/modal_controller.js
1655
1658
  - app/javascript/js/controllers/multiple_select_filter_controller.js
1656
1659
  - app/javascript/js/controllers/per_page_controller.js
1660
+ - app/javascript/js/controllers/preview_controller.js
1657
1661
  - app/javascript/js/controllers/resource_edit_controller.js
1658
1662
  - app/javascript/js/controllers/resource_index_controller.js
1659
1663
  - app/javascript/js/controllers/resource_show_controller.js
1660
1664
  - app/javascript/js/controllers/search_controller.js
1661
1665
  - app/javascript/js/controllers/select_controller.js
1662
1666
  - app/javascript/js/controllers/select_filter_controller.js
1667
+ - app/javascript/js/controllers/self_destroy_controller.js
1663
1668
  - app/javascript/js/controllers/sidebar_controller.js
1664
1669
  - app/javascript/js/controllers/tabs_controller.js
1665
1670
  - app/javascript/js/controllers/text_filter_controller.js
1666
1671
  - app/javascript/js/controllers/tippy_controller.js
1667
- - app/javascript/js/controllers/toggle_panel_controller.js
1672
+ - app/javascript/js/controllers/toggle_controller.js
1673
+ - app/javascript/js/custom-stream-actions.js
1668
1674
  - app/javascript/js/helpers/cast_boolean.js
1669
1675
  - app/javascript/js/helpers/debounce_promise.js
1670
1676
  - app/views/avo/actions/show.html.erb
@@ -1680,14 +1686,11 @@ files:
1680
1686
  - app/views/avo/base/edit.html.erb
1681
1687
  - app/views/avo/base/index.html.erb
1682
1688
  - app/views/avo/base/new.html.erb
1689
+ - app/views/avo/base/preview.html.erb
1683
1690
  - app/views/avo/base/show.html.erb
1684
- - app/views/avo/dashboards/cards/_chartkick_card.html.erb
1685
- - app/views/avo/dashboards/cards/_metric_card.html.erb
1686
- - app/views/avo/dashboards/cards/chartkick_missing.html.erb
1687
- - app/views/avo/dashboards/cards/show.html.erb
1688
- - app/views/avo/dashboards/show.html.erb
1689
- - app/views/avo/debug/index.html.erb
1691
+ - app/views/avo/debug/_valid_indicator.html.erb
1690
1692
  - app/views/avo/debug/report.html.erb
1693
+ - app/views/avo/debug/status.html.erb
1691
1694
  - app/views/avo/home/_actions.html.erb
1692
1695
  - app/views/avo/home/_dashboards.html.erb
1693
1696
  - app/views/avo/home/_docs.html.erb
@@ -1699,7 +1702,6 @@ files:
1699
1702
  - app/views/avo/partials/_custom_tools_alert.html.erb
1700
1703
  - app/views/avo/partials/_flash_alerts.turbo_stream.erb
1701
1704
  - app/views/avo/partials/_footer.html.erb
1702
- - app/views/avo/partials/_global_search.html.erb
1703
1705
  - app/views/avo/partials/_head.html.erb
1704
1706
  - app/views/avo/partials/_header.html.erb
1705
1707
  - app/views/avo/partials/_javascript.html.erb
@@ -1716,7 +1718,6 @@ files:
1716
1718
  - app/views/avo/private/_links_and_buttons.html.erb
1717
1719
  - app/views/avo/private/design.html.erb
1718
1720
  - app/views/avo/sidebar/_license_warning.html.erb
1719
- - app/views/avo/sidebar/_license_warnings.html.erb
1720
1721
  - app/views/layouts/avo/_filter_wrapper.html.erb
1721
1722
  - app/views/layouts/avo/application.html.erb
1722
1723
  - avo.gemspec
@@ -1733,42 +1734,40 @@ files:
1733
1734
  - config/credentials.yml.enc
1734
1735
  - config/i18n-tasks.yml
1735
1736
  - config/initializers/pagy.rb
1737
+ - config/master.key
1736
1738
  - config/routes.rb
1737
1739
  - config/spring.rb
1738
1740
  - db/factories.rb
1739
1741
  - lib/avo.rb
1740
- - lib/avo/app.rb
1742
+ - lib/avo/asset_manager.rb
1741
1743
  - lib/avo/base_action.rb
1742
- - lib/avo/base_card.rb
1743
1744
  - lib/avo/base_resource.rb
1744
1745
  - lib/avo/base_resource_tool.rb
1746
+ - lib/avo/concerns/borrow_items_holder.rb
1745
1747
  - lib/avo/concerns/breadcrumbs.rb
1746
- - lib/avo/concerns/can_replace_fields.rb
1747
- - lib/avo/concerns/fetches_things.rb
1748
+ - lib/avo/concerns/can_replace_items.rb
1748
1749
  - lib/avo/concerns/filters_session_handler.rb
1749
- - lib/avo/concerns/handles_field_args.rb
1750
- - lib/avo/concerns/has_editable_controls.rb
1751
- - lib/avo/concerns/has_fields.rb
1752
- - lib/avo/concerns/has_html_attributes.rb
1750
+ - lib/avo/concerns/has_controls.rb
1751
+ - lib/avo/concerns/has_description.rb
1752
+ - lib/avo/concerns/has_helpers.rb
1753
+ - lib/avo/concerns/has_item_type.rb
1754
+ - lib/avo/concerns/has_items.rb
1753
1755
  - lib/avo/concerns/has_stimulus_controllers.rb
1756
+ - lib/avo/concerns/hydration.rb
1754
1757
  - lib/avo/concerns/is_resource_item.rb
1758
+ - lib/avo/concerns/is_visible.rb
1755
1759
  - lib/avo/concerns/model_class_constantized.rb
1756
1760
  - lib/avo/concerns/pagination.rb
1757
- - lib/avo/concerns/policy_helpers.rb
1758
- - lib/avo/concerns/visible_in_dashboard.rb
1761
+ - lib/avo/concerns/visible_in_different_views.rb
1759
1762
  - lib/avo/concerns/visible_items.rb
1760
1763
  - lib/avo/configuration.rb
1761
1764
  - lib/avo/configuration/branding.rb
1762
1765
  - lib/avo/configuration/resource_configuration.rb
1763
- - lib/avo/dashboards/base_dashboard.rb
1764
- - lib/avo/dashboards/base_divider.rb
1765
- - lib/avo/dashboards/chartkick_card.rb
1766
- - lib/avo/dashboards/dashboard_card.rb
1767
- - lib/avo/dashboards/metric_card.rb
1768
- - lib/avo/dashboards/partial_card.rb
1766
+ - lib/avo/current.rb
1769
1767
  - lib/avo/dsl/field_parser.rb
1770
1768
  - lib/avo/dynamic_router.rb
1771
1769
  - lib/avo/engine.rb
1770
+ - lib/avo/error_manager.rb
1772
1771
  - lib/avo/execution_context.rb
1773
1772
  - lib/avo/fields/area_field.rb
1774
1773
  - lib/avo/fields/badge_field.rb
@@ -1778,18 +1777,22 @@ files:
1778
1777
  - lib/avo/fields/boolean_group_field.rb
1779
1778
  - lib/avo/fields/code_field.rb
1780
1779
  - lib/avo/fields/concerns/file_authorization.rb
1780
+ - lib/avo/fields/concerns/handles_field_args.rb
1781
1781
  - lib/avo/fields/concerns/has_default.rb
1782
+ - lib/avo/fields/concerns/has_field_name.rb
1783
+ - lib/avo/fields/concerns/has_html_attributes.rb
1782
1784
  - lib/avo/fields/concerns/is_disabled.rb
1783
1785
  - lib/avo/fields/concerns/is_readonly.rb
1784
1786
  - lib/avo/fields/concerns/is_required.rb
1787
+ - lib/avo/fields/concerns/is_searchable.rb
1785
1788
  - lib/avo/fields/concerns/use_resource.rb
1789
+ - lib/avo/fields/concerns/use_view_components.rb
1786
1790
  - lib/avo/fields/country_field.rb
1787
1791
  - lib/avo/fields/date_field.rb
1788
1792
  - lib/avo/fields/date_time_field.rb
1789
1793
  - lib/avo/fields/external_image_field.rb
1790
- - lib/avo/fields/field_extensions/has_field_name.rb
1791
1794
  - lib/avo/fields/field_extensions/has_include_blank.rb
1792
- - lib/avo/fields/field_extensions/visible_in_different_views.rb
1795
+ - lib/avo/fields/field_manager.rb
1793
1796
  - lib/avo/fields/file_field.rb
1794
1797
  - lib/avo/fields/files_field.rb
1795
1798
  - lib/avo/fields/gravatar_field.rb
@@ -1805,10 +1808,10 @@ files:
1805
1808
  - lib/avo/fields/markdown_field.rb
1806
1809
  - lib/avo/fields/number_field.rb
1807
1810
  - lib/avo/fields/password_field.rb
1811
+ - lib/avo/fields/preview_field.rb
1808
1812
  - lib/avo/fields/progress_bar_field.rb
1809
1813
  - lib/avo/fields/select_field.rb
1810
1814
  - lib/avo/fields/status_field.rb
1811
- - lib/avo/fields/tags_field.rb
1812
1815
  - lib/avo/fields/text_field.rb
1813
1816
  - lib/avo/fields/textarea_field.rb
1814
1817
  - lib/avo/fields/time_field.rb
@@ -1818,25 +1821,12 @@ files:
1818
1821
  - lib/avo/filters/multiple_select_filter.rb
1819
1822
  - lib/avo/filters/select_filter.rb
1820
1823
  - lib/avo/filters/text_filter.rb
1821
- - lib/avo/grid_collector.rb
1822
1824
  - lib/avo/grid_fields/body_field.rb
1823
1825
  - lib/avo/grid_fields/grid_field.rb
1824
1826
  - lib/avo/grid_fields/preview_field.rb
1825
1827
  - lib/avo/grid_fields/title_field.rb
1826
- - lib/avo/hosts/association_scope_host.rb
1827
- - lib/avo/hosts/base_host.rb
1828
- - lib/avo/hosts/card_visibility.rb
1829
- - lib/avo/hosts/dashboard_card.rb
1830
- - lib/avo/hosts/dashboard_visibility.rb
1831
- - lib/avo/hosts/ordering.rb
1832
- - lib/avo/hosts/record_host.rb
1833
- - lib/avo/hosts/resource_record_host.rb
1834
- - lib/avo/hosts/resource_view_record_host.rb
1835
- - lib/avo/hosts/search_scope_host.rb
1836
- - lib/avo/hosts/view_record_host.rb
1837
- - lib/avo/hosts/visibility_host.rb
1838
1828
  - lib/avo/html/builder.rb
1839
- - lib/avo/items_holder.rb
1829
+ - lib/avo/item_grapher.rb
1840
1830
  - lib/avo/licensing/community_license.rb
1841
1831
  - lib/avo/licensing/h_q.rb
1842
1832
  - lib/avo/licensing/license.rb
@@ -1847,49 +1837,44 @@ files:
1847
1837
  - lib/avo/loaders/fields_loader.rb
1848
1838
  - lib/avo/loaders/filters_loader.rb
1849
1839
  - lib/avo/loaders/loader.rb
1850
- - lib/avo/main_panel.rb
1851
- - lib/avo/menu/base_item.rb
1852
- - lib/avo/menu/builder.rb
1853
- - lib/avo/menu/dashboard.rb
1854
- - lib/avo/menu/group.rb
1855
- - lib/avo/menu/link.rb
1856
- - lib/avo/menu/menu.rb
1857
- - lib/avo/menu/resource.rb
1858
- - lib/avo/menu/section.rb
1859
- - lib/avo/panel.rb
1860
- - lib/avo/panel_builder.rb
1840
+ - lib/avo/plugin.rb
1841
+ - lib/avo/plugin_manager.rb
1842
+ - lib/avo/prefixed_test_helpers.rb
1861
1843
  - lib/avo/reloader.rb
1862
- - lib/avo/resources/controls/action.rb
1863
1844
  - lib/avo/resources/controls/actions_list.rb
1845
+ - lib/avo/resources/controls/attach_button.rb
1864
1846
  - lib/avo/resources/controls/back_button.rb
1865
1847
  - lib/avo/resources/controls/base_control.rb
1848
+ - lib/avo/resources/controls/create_button.rb
1866
1849
  - lib/avo/resources/controls/delete_button.rb
1867
1850
  - lib/avo/resources/controls/detach_button.rb
1868
1851
  - lib/avo/resources/controls/edit_button.rb
1869
- - lib/avo/resources/controls/execution_context.rb
1870
- - lib/avo/resources/controls/items_holder.rb
1871
- - lib/avo/resources/controls/link_to.rb
1872
- - lib/avo/row.rb
1873
- - lib/avo/row_builder.rb
1874
- - lib/avo/services/authorization_clients/nil_client.rb
1875
- - lib/avo/services/authorization_clients/pundit_client.rb
1852
+ - lib/avo/resources/controls/order_controls.rb
1853
+ - lib/avo/resources/controls/save_button.rb
1854
+ - lib/avo/resources/controls/show_button.rb
1855
+ - lib/avo/resources/items/holder.rb
1856
+ - lib/avo/resources/items/item_group.rb
1857
+ - lib/avo/resources/items/main_panel.rb
1858
+ - lib/avo/resources/items/panel.rb
1859
+ - lib/avo/resources/items/row.rb
1860
+ - lib/avo/resources/items/sidebar.rb
1861
+ - lib/avo/resources/items/tab.rb
1862
+ - lib/avo/resources/items/tab_group.rb
1863
+ - lib/avo/resources/resource_manager.rb
1876
1864
  - lib/avo/services/authorization_service.rb
1865
+ - lib/avo/services/debug_service.rb
1877
1866
  - lib/avo/services/encryption_service.rb
1867
+ - lib/avo/services/telemetry_service.rb
1878
1868
  - lib/avo/services/uri_service.rb
1879
- - lib/avo/sidebar.rb
1880
- - lib/avo/sidebar_builder.rb
1881
1869
  - lib/avo/svg_finder.rb
1882
- - lib/avo/tab.rb
1883
- - lib/avo/tab_builder.rb
1884
- - lib/avo/tab_group.rb
1885
- - lib/avo/tab_group_builder.rb
1886
- - lib/avo/tools_manager.rb
1870
+ - lib/avo/test_helpers.rb
1871
+ - lib/avo/tools/tool_manager.rb
1887
1872
  - lib/avo/version.rb
1873
+ - lib/avo/view_inquirer.rb
1888
1874
  - lib/generators/avo/action_generator.rb
1889
1875
  - lib/generators/avo/base_generator.rb
1890
- - lib/generators/avo/card/chartkick_generator.rb
1891
- - lib/generators/avo/card/metric_generator.rb
1892
- - lib/generators/avo/card/partial_generator.rb
1876
+ - lib/generators/avo/card_generator.rb
1877
+ - lib/generators/avo/concerns/parent_controller.rb
1893
1878
  - lib/generators/avo/controller_generator.rb
1894
1879
  - lib/generators/avo/dashboard_generator.rb
1895
1880
  - lib/generators/avo/eject_generator.rb
@@ -1901,6 +1886,7 @@ files:
1901
1886
  - lib/generators/avo/named_base_generator.rb
1902
1887
  - lib/generators/avo/resource_generator.rb
1903
1888
  - lib/generators/avo/resource_tool_generator.rb
1889
+ - lib/generators/avo/scope_generator.rb
1904
1890
  - lib/generators/avo/tailwindcss/install_generator.rb
1905
1891
  - lib/generators/avo/templates/action.tt
1906
1892
  - lib/generators/avo/templates/cards/chartkick_card.tt
@@ -1923,7 +1909,6 @@ files:
1923
1909
  - lib/generators/avo/templates/filters/select_filter.tt
1924
1910
  - lib/generators/avo/templates/filters/text_filter.tt
1925
1911
  - lib/generators/avo/templates/initializer/avo.tt
1926
- - lib/generators/avo/templates/js/avo.custom.js
1927
1912
  - lib/generators/avo/templates/locales/avo.ar.yml
1928
1913
  - lib/generators/avo/templates/locales/avo.en.yml
1929
1914
  - lib/generators/avo/templates/locales/avo.es.yml
@@ -1940,9 +1925,10 @@ files:
1940
1925
  - lib/generators/avo/templates/resource/resource.tt
1941
1926
  - lib/generators/avo/templates/resource_tools/partial.tt
1942
1927
  - lib/generators/avo/templates/resource_tools/resource_tool.tt
1943
- - lib/generators/avo/templates/standalone_action.tt
1928
+ - lib/generators/avo/templates/scope.tt
1944
1929
  - lib/generators/avo/templates/tailwindcss/Procfile.dev
1945
1930
  - lib/generators/avo/templates/tailwindcss/avo.tailwind.css
1931
+ - lib/generators/avo/templates/tailwindcss/tailwind.config.js
1946
1932
  - lib/generators/avo/templates/tool/controller.tt
1947
1933
  - lib/generators/avo/templates/tool/sidebar_item.tt
1948
1934
  - lib/generators/avo/templates/tool/view.tt
@@ -1955,6 +1941,9 @@ files:
1955
1941
  - public/avo-assets/avo.base.css
1956
1942
  - public/avo-assets/avo.base.js
1957
1943
  - public/avo-assets/avo.base.js.map
1944
+ - public/avo-assets/avo.css
1945
+ - public/avo-assets/avo.js
1946
+ - public/avo-assets/avo.js.map
1958
1947
  - public/avo-assets/favicon.ico
1959
1948
  - public/avo-assets/fonts/inter-v7-latin-500.eot
1960
1949
  - public/avo-assets/fonts/inter-v7-latin-500.svg
@@ -1980,6 +1969,8 @@ files:
1980
1969
  - public/avo-assets/logo.png
1981
1970
  - public/avo-assets/logomark.png
1982
1971
  - public/avo-assets/placeholder.svg
1972
+ - tailwind.custom.js
1973
+ - tailwind.preset.js
1983
1974
  homepage: https://avohq.io
1984
1975
  licenses:
1985
1976
  - Commercial
@@ -1997,14 +1988,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
1997
1988
  requirements:
1998
1989
  - - ">="
1999
1990
  - !ruby/object:Gem::Version
2000
- version: 2.6.0
1991
+ version: 3.0.0
2001
1992
  required_rubygems_version: !ruby/object:Gem::Requirement
2002
1993
  requirements:
2003
1994
  - - ">="
2004
1995
  - !ruby/object:Gem::Version
2005
1996
  version: '0'
2006
1997
  requirements: []
2007
- rubygems_version: 3.3.3
1998
+ rubygems_version: 3.4.6
2008
1999
  signing_key:
2009
2000
  specification_version: 4
2010
2001
  summary: Configuration-based, no-maintenance, extendable Ruby on Rails admin panel
@@ -1,46 +0,0 @@
1
- <div class="relative flex-1 flex flex-col justify-between h-full"
2
- data-controller="dashboard-card"
3
- data-dashboard-card-target="card"
4
- data-refresh-every="<%= card.refresh_every %>"
5
- data-card-id="<%= card.id %>"
6
- data-card-index="<%= card.index %>">
7
- <% if card.class.display_header %>
8
- <div class="px-4 pt-4">
9
- <div class="flex justify-between items-center min-h-6">
10
- <div class="text-base font-bold text-gray-700 leading-none">
11
- <%= card.label %>
12
- </div>
13
- <div data-controller="select">
14
- <% if card.type.in?([:metric, :chartkick, :partial]) && card.ranges.present? %>
15
- <%= select_tag "#{card.id}_#{card.index}_range", options_for_select(card.ranges, card.range),
16
- class: 'appearance-none inline-flex bg-blue-gray-100 disabled:bg-blue-gray-300 disabled:cursor-not-allowed focus:bg-white text-sm text-blue-gray-700 disabled:text-blue-gray-700 leading-none rounded-md py-px px-2 leading-tight border outline-none outline w-24',
17
- data: {
18
- target: 'select',
19
- action: 'change->select#onChange'
20
- }
21
- %>
22
- <% end %>
23
- </div>
24
- </div>
25
- </div>
26
- <% end %>
27
- <% if card.type == :chartkick %>
28
- <%= render 'chartkick_card', card: card %>
29
- <% elsif card.type === :partial %>
30
- <%= render card.class.partial %>
31
- <% elsif card.type === :metric %>
32
- <div class="flex-1 flex px-4 pb-4">
33
- <%= render 'metric_card', card: card %>
34
- </div>
35
- <% end %>
36
- <% if card.description.present? %>
37
- <%= content_tag :div, class: "absolute inset-auto bottom-0 right-0 mb-4 mr-4",
38
- title: card.description,
39
- data: {
40
- target: 'card-description',
41
- tippy: 'tooltip',
42
- } do %>
43
- <%= helpers.svg 'heroicons/solid/information-circle', class: 'h-4 text-gray-500 cursor-pointer' %>
44
- <% end %>
45
- <% end %>
46
- </div>
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Avo::CardComponent < ViewComponent::Base
4
- attr_reader :card
5
-
6
- def initialize(card: nil)
7
- @card = card
8
-
9
- init_card
10
- end
11
-
12
- def render?
13
- card.present?
14
- end
15
-
16
- # Initializing the card byt running the query method.
17
- # We'll still keep the query block around for compatibility reasons.
18
- def init_card
19
- if card.respond_to? :query
20
- card.query
21
- elsif card.query_block.present?
22
- card.compute_result
23
- end
24
- end
25
- end
@@ -1,9 +0,0 @@
1
- <% if invisible? %>
2
- <div class="relative col-span-full gap-0"></div>
3
- <% else %>
4
- <div class="relative col-span-full border-t border-gray-300 my-4">
5
- <% if label.present? %>
6
- <div class="absolute inset-auto -translate-y-1/2 -translate-x-1/2 ml-1/2 z-20 text-xs font-semibold uppercase leading-none text-gray-500 bg-application px-2"><%= label %></div>
7
- <% end %>
8
- </div>
9
- <% end %>
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Avo::Dashboards::DividerComponent < ViewComponent::Base
4
- attr_reader :divider
5
-
6
- delegate :label, to: :divider
7
-
8
- def initialize(divider: nil)
9
- @divider = divider
10
- end
11
-
12
- def render?
13
- @divider.present?
14
- end
15
-
16
- def invisible?
17
- @divider.invisible
18
- end
19
- end