avo 2.46.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 (409) 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 +12 -29
  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 +10 -6
  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 -67
  157. data/lib/avo/base_resource.rb +286 -226
  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/{has_resource_stimulus_controllers.rb → has_stimulus_controllers.rb} +1 -1
  169. data/lib/avo/concerns/hydration.rb +17 -0
  170. data/lib/avo/concerns/is_resource_item.rb +16 -36
  171. data/lib/avo/concerns/is_visible.rb +15 -0
  172. data/lib/avo/concerns/model_class_constantized.rb +0 -2
  173. data/lib/avo/concerns/visible_in_different_views.rb +132 -0
  174. data/lib/avo/concerns/visible_items.rb +7 -38
  175. data/lib/avo/configuration/branding.rb +0 -12
  176. data/lib/avo/configuration.rb +28 -11
  177. data/lib/avo/current.rb +39 -0
  178. data/lib/avo/dsl/field_parser.rb +3 -3
  179. data/lib/avo/dynamic_router.rb +18 -3
  180. data/lib/avo/engine.rb +35 -30
  181. data/lib/avo/error_manager.rb +25 -0
  182. data/lib/avo/execution_context.rb +14 -15
  183. data/lib/avo/fields/base_field.rb +84 -122
  184. data/lib/avo/fields/belongs_to_field.rb +19 -23
  185. data/lib/avo/fields/concerns/file_authorization.rb +2 -2
  186. data/lib/avo/fields/concerns/handles_field_args.rb +49 -0
  187. data/lib/avo/fields/concerns/has_default.rb +1 -5
  188. data/lib/avo/fields/concerns/has_field_name.rb +22 -0
  189. data/lib/avo/fields/concerns/has_html_attributes.rb +112 -0
  190. data/lib/avo/fields/concerns/is_disabled.rb +1 -5
  191. data/lib/avo/fields/concerns/is_readonly.rb +1 -5
  192. data/lib/avo/fields/concerns/is_required.rb +5 -7
  193. data/lib/avo/fields/concerns/is_searchable.rb +15 -0
  194. data/lib/avo/fields/concerns/use_resource.rb +5 -1
  195. data/lib/avo/fields/concerns/use_view_components.rb +45 -0
  196. data/lib/avo/fields/country_field.rb +4 -0
  197. data/lib/avo/fields/date_time_field.rb +1 -5
  198. data/lib/avo/fields/external_image_field.rb +2 -2
  199. data/lib/avo/fields/field_manager.rb +55 -0
  200. data/lib/avo/fields/file_field.rb +2 -2
  201. data/lib/avo/fields/gravatar_field.rb +2 -2
  202. data/lib/avo/fields/has_and_belongs_to_many_field.rb +1 -2
  203. data/lib/avo/fields/has_base_field.rb +21 -17
  204. data/lib/avo/fields/has_many_field.rb +5 -2
  205. data/lib/avo/fields/has_one_field.rb +8 -12
  206. data/lib/avo/fields/heading_field.rb +9 -14
  207. data/lib/avo/fields/hidden_field.rb +1 -1
  208. data/lib/avo/fields/id_field.rb +3 -3
  209. data/lib/avo/fields/location_field.rb +10 -10
  210. data/lib/avo/fields/password_field.rb +1 -1
  211. data/lib/avo/fields/preview_field.rb +14 -0
  212. data/lib/avo/fields/select_field.rb +12 -8
  213. data/lib/avo/fields/status_field.rb +7 -1
  214. data/lib/avo/fields/text_field.rb +2 -2
  215. data/lib/avo/filters/base_filter.rb +9 -4
  216. data/lib/avo/html/builder.rb +8 -8
  217. data/lib/avo/item_grapher.rb +78 -0
  218. data/lib/avo/licensing/h_q.rb +11 -73
  219. data/lib/avo/licensing/license.rb +5 -1
  220. data/lib/avo/licensing/license_manager.rb +1 -1
  221. data/lib/avo/licensing/pro_license.rb +1 -7
  222. data/lib/avo/loaders/fields_loader.rb +7 -1
  223. data/lib/avo/plugin.rb +36 -0
  224. data/lib/avo/plugin_manager.rb +56 -0
  225. data/lib/avo/prefixed_test_helpers.rb +20 -0
  226. data/lib/avo/reloader.rb +3 -0
  227. data/lib/avo/resources/controls/actions_list.rb +7 -12
  228. data/lib/avo/resources/controls/attach_button.rb +15 -0
  229. data/lib/avo/resources/controls/back_button.rb +1 -1
  230. data/lib/avo/resources/controls/base_control.rb +15 -49
  231. data/lib/avo/resources/controls/create_button.rb +15 -0
  232. data/lib/avo/resources/controls/delete_button.rb +5 -1
  233. data/lib/avo/resources/controls/detach_button.rb +4 -1
  234. data/lib/avo/resources/controls/edit_button.rb +4 -1
  235. data/lib/avo/resources/controls/order_controls.rb +8 -0
  236. data/lib/avo/resources/controls/save_button.rb +13 -0
  237. data/lib/avo/resources/controls/show_button.rb +15 -0
  238. data/lib/avo/resources/items/holder.rb +96 -0
  239. data/lib/avo/resources/items/item_group.rb +44 -0
  240. data/lib/avo/resources/items/main_panel.rb +12 -0
  241. data/lib/avo/resources/items/panel.rb +2 -0
  242. data/lib/avo/resources/items/row.rb +42 -0
  243. data/lib/avo/resources/items/sidebar.rb +46 -0
  244. data/lib/avo/resources/items/tab.rb +54 -0
  245. data/lib/avo/resources/items/tab_group.rb +62 -0
  246. data/lib/avo/resources/resource_manager.rb +179 -0
  247. data/lib/avo/services/authorization_service.rb +11 -110
  248. data/lib/avo/services/debug_service.rb +93 -0
  249. data/lib/avo/services/encryption_service.rb +8 -12
  250. data/lib/avo/services/telemetry_service.rb +85 -0
  251. data/lib/avo/test_helpers.rb +362 -0
  252. data/lib/avo/tools/tool_manager.rb +30 -0
  253. data/lib/avo/version.rb +1 -1
  254. data/lib/avo/view_inquirer.rb +36 -0
  255. data/lib/avo.rb +109 -24
  256. data/lib/generators/avo/action_generator.rb +8 -8
  257. data/lib/generators/avo/card_generator.rb +27 -0
  258. data/lib/generators/avo/concerns/parent_controller.rb +20 -0
  259. data/lib/generators/avo/controller_generator.rb +3 -0
  260. data/lib/generators/avo/eject_generator.rb +180 -15
  261. data/lib/generators/avo/field_generator.rb +49 -2
  262. data/lib/generators/avo/filter_generator.rb +8 -8
  263. data/lib/generators/avo/js/install_generator.rb +2 -2
  264. data/lib/generators/avo/resource_generator.rb +12 -9
  265. data/lib/generators/avo/scope_generator.rb +15 -0
  266. data/lib/generators/avo/tailwindcss/install_generator.rb +70 -26
  267. data/lib/generators/avo/templates/action.tt +8 -6
  268. data/lib/generators/avo/templates/cards/chartkick_card.tt +1 -1
  269. data/lib/generators/avo/templates/cards/chartkick_card_sample.tt +1 -1
  270. data/lib/generators/avo/templates/cards/metric_card.tt +1 -1
  271. data/lib/generators/avo/templates/cards/metric_card_sample.tt +1 -1
  272. data/lib/generators/avo/templates/cards/partial_card.tt +1 -1
  273. data/lib/generators/avo/templates/cards/partial_card_sample.tt +1 -1
  274. data/lib/generators/avo/templates/dashboards/dashboard.tt +5 -3
  275. data/lib/generators/avo/templates/field/%singular_name%_field.rb.tt +1 -1
  276. data/lib/generators/avo/templates/filters/boolean_filter.tt +1 -1
  277. data/lib/generators/avo/templates/filters/multiple_select_filter.tt +1 -1
  278. data/lib/generators/avo/templates/filters/select_filter.tt +1 -1
  279. data/lib/generators/avo/templates/filters/text_filter.tt +1 -1
  280. data/lib/generators/avo/templates/initializer/avo.tt +7 -3
  281. data/lib/generators/avo/templates/locales/avo.ar.yml +1 -0
  282. data/lib/generators/avo/templates/locales/avo.en.yml +4 -3
  283. data/lib/generators/avo/templates/locales/avo.es.yml +1 -0
  284. data/lib/generators/avo/templates/locales/avo.fr.yml +1 -0
  285. data/lib/generators/avo/templates/locales/avo.nb.yml +1 -0
  286. data/lib/generators/avo/templates/locales/avo.nn.yml +1 -0
  287. data/lib/generators/avo/templates/locales/avo.pt-BR.yml +1 -0
  288. data/lib/generators/avo/templates/locales/avo.pt.yml +1 -0
  289. data/lib/generators/avo/templates/locales/avo.ro.yml +6 -5
  290. data/lib/generators/avo/templates/locales/avo.tr.yml +1 -0
  291. data/lib/generators/avo/templates/resource/controller.tt +1 -1
  292. data/lib/generators/avo/templates/resource/resource.tt +7 -7
  293. data/lib/generators/avo/templates/resource_tools/partial.tt +2 -2
  294. data/lib/generators/avo/templates/resource_tools/resource_tool.tt +1 -1
  295. data/lib/generators/avo/templates/scope.tt +6 -0
  296. data/lib/generators/avo/templates/tailwindcss/Procfile.dev +1 -1
  297. data/lib/generators/avo/templates/tailwindcss/avo.tailwind.css +5 -3
  298. data/lib/generators/avo/templates/tailwindcss/tailwind.config.js +11 -0
  299. data/lib/tasks/avo_tasks.rake +72 -4
  300. data/public/avo-assets/avo.base.css +1893 -1187
  301. data/public/avo-assets/avo.base.js +217 -305
  302. data/public/avo-assets/avo.base.js.map +3 -3
  303. data/public/avo-assets/avo.css +9744 -0
  304. data/public/avo-assets/avo.js +513 -0
  305. data/public/avo-assets/avo.js.map +7 -0
  306. data/tailwind.custom.js +47 -0
  307. data/tailwind.preset.js +152 -0
  308. metadata +106 -116
  309. data/app/components/avo/card_component.html.erb +0 -46
  310. data/app/components/avo/card_component.rb +0 -25
  311. data/app/components/avo/dashboards/divider_component.html.erb +0 -9
  312. data/app/components/avo/dashboards/divider_component.rb +0 -19
  313. data/app/components/avo/fields/belongs_to_field/autocomplete_component.html.erb +0 -47
  314. data/app/components/avo/fields/belongs_to_field/autocomplete_component.rb +0 -95
  315. data/app/components/avo/fields/tags_field/edit_component.html.erb +0 -35
  316. data/app/components/avo/fields/tags_field/edit_component.rb +0 -4
  317. data/app/components/avo/fields/tags_field/index_component.html.erb +0 -10
  318. data/app/components/avo/fields/tags_field/index_component.rb +0 -9
  319. data/app/components/avo/fields/tags_field/show_component.html.erb +0 -7
  320. data/app/components/avo/fields/tags_field/show_component.rb +0 -5
  321. data/app/components/avo/fields/tags_field/tag_component.html.erb +0 -9
  322. data/app/components/avo/fields/tags_field/tag_component.rb +0 -11
  323. data/app/components/avo/index/ordering/base_component.rb +0 -9
  324. data/app/components/avo/index/ordering/button_component.html.erb +0 -11
  325. data/app/components/avo/index/ordering/button_component.rb +0 -23
  326. data/app/components/avo/index/ordering/buttons_component.html.erb +0 -32
  327. data/app/components/avo/index/ordering/buttons_component.rb +0 -47
  328. data/app/components/avo/item_switcher_component.html.erb +0 -27
  329. data/app/components/avo/item_switcher_component.rb +0 -48
  330. data/app/components/avo/sidebar/item_switcher_component.html.erb +0 -16
  331. data/app/components/avo/sidebar/item_switcher_component.rb +0 -15
  332. data/app/controllers/avo/dashboards/cards_controller.rb +0 -37
  333. data/app/controllers/avo/dashboards_controller.rb +0 -22
  334. data/app/controllers/avo/reorder_controller.rb +0 -25
  335. data/app/javascript/js/controllers/base_controller.js +0 -22
  336. data/app/javascript/js/controllers/fields/tags_field_controller.js +0 -127
  337. data/app/javascript/js/controllers/toggle_panel_controller.js +0 -18
  338. data/app/views/avo/dashboards/cards/_chartkick_card.html.erb +0 -3
  339. data/app/views/avo/dashboards/cards/_metric_card.html.erb +0 -5
  340. data/app/views/avo/dashboards/cards/chartkick_missing.html.erb +0 -14
  341. data/app/views/avo/dashboards/cards/show.html.erb +0 -3
  342. data/app/views/avo/dashboards/show.html.erb +0 -38
  343. data/app/views/avo/partials/_global_search.html.erb +0 -19
  344. data/app/views/avo/sidebar/_license_warnings.html.erb +0 -6
  345. data/lib/avo/app.rb +0 -237
  346. data/lib/avo/base_card.rb +0 -161
  347. data/lib/avo/concerns/fetches_things.rb +0 -150
  348. data/lib/avo/concerns/handles_field_args.rb +0 -47
  349. data/lib/avo/concerns/has_action_stimulus_controllers.rb +0 -15
  350. data/lib/avo/concerns/has_editable_controls.rb +0 -34
  351. data/lib/avo/concerns/has_fields.rb +0 -334
  352. data/lib/avo/concerns/has_html_attributes.rb +0 -123
  353. data/lib/avo/concerns/policy_helpers.rb +0 -31
  354. data/lib/avo/concerns/visible_in_dashboard.rb +0 -31
  355. data/lib/avo/dashboards/base_dashboard.rb +0 -89
  356. data/lib/avo/dashboards/base_divider.rb +0 -35
  357. data/lib/avo/dashboards/chartkick_card.rb +0 -77
  358. data/lib/avo/dashboards/dashboard_card.rb +0 -6
  359. data/lib/avo/dashboards/metric_card.rb +0 -9
  360. data/lib/avo/dashboards/partial_card.rb +0 -7
  361. data/lib/avo/fields/field_extensions/has_field_name.rb +0 -19
  362. data/lib/avo/fields/field_extensions/visible_in_different_views.rb +0 -111
  363. data/lib/avo/fields/tags_field.rb +0 -102
  364. data/lib/avo/grid_collector.rb +0 -42
  365. data/lib/avo/hosts/association_scope_host.rb +0 -8
  366. data/lib/avo/hosts/base_host.rb +0 -25
  367. data/lib/avo/hosts/card_visibility.rb +0 -20
  368. data/lib/avo/hosts/dashboard_card.rb +0 -22
  369. data/lib/avo/hosts/dashboard_visibility.rb +0 -19
  370. data/lib/avo/hosts/ordering.rb +0 -22
  371. data/lib/avo/hosts/record_host.rb +0 -7
  372. data/lib/avo/hosts/resource_record_host.rb +0 -7
  373. data/lib/avo/hosts/resource_view_record_host.rb +0 -7
  374. data/lib/avo/hosts/search_scope_host.rb +0 -7
  375. data/lib/avo/hosts/view_record_host.rb +0 -7
  376. data/lib/avo/hosts/visibility_host.rb +0 -12
  377. data/lib/avo/items_holder.rb +0 -96
  378. data/lib/avo/main_panel.rb +0 -3
  379. data/lib/avo/menu/base_item.rb +0 -25
  380. data/lib/avo/menu/builder.rb +0 -82
  381. data/lib/avo/menu/dashboard.rb +0 -22
  382. data/lib/avo/menu/group.rb +0 -2
  383. data/lib/avo/menu/link.rb +0 -6
  384. data/lib/avo/menu/menu.rb +0 -2
  385. data/lib/avo/menu/resource.rb +0 -22
  386. data/lib/avo/menu/section.rb +0 -2
  387. data/lib/avo/panel.rb +0 -24
  388. data/lib/avo/panel_builder.rb +0 -25
  389. data/lib/avo/resources/controls/action.rb +0 -38
  390. data/lib/avo/resources/controls/execution_context.rb +0 -58
  391. data/lib/avo/resources/controls/items_holder.rb +0 -19
  392. data/lib/avo/resources/controls/link_to.rb +0 -27
  393. data/lib/avo/row.rb +0 -26
  394. data/lib/avo/row_builder.rb +0 -24
  395. data/lib/avo/services/authorization_clients/nil_client.rb +0 -37
  396. data/lib/avo/services/authorization_clients/pundit_client.rb +0 -51
  397. data/lib/avo/sidebar.rb +0 -30
  398. data/lib/avo/sidebar_builder.rb +0 -24
  399. data/lib/avo/tab.rb +0 -72
  400. data/lib/avo/tab_builder.rb +0 -25
  401. data/lib/avo/tab_group.rb +0 -42
  402. data/lib/avo/tab_group_builder.rb +0 -43
  403. data/lib/avo/tools_manager.rb +0 -11
  404. data/lib/generators/avo/card/chartkick_generator.rb +0 -18
  405. data/lib/generators/avo/card/metric_generator.rb +0 -18
  406. data/lib/generators/avo/card/partial_generator.rb +0 -19
  407. data/lib/generators/avo/templates/js/avo.custom.js +0 -2
  408. data/lib/generators/avo/templates/standalone_action.tt +0 -8
  409. /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.46.0
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Marin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-12-05 00:00:00.000000000 Z
12
+ date: 2023-11-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -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,43 +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_action_stimulus_controllers.rb
1751
- - lib/avo/concerns/has_editable_controls.rb
1752
- - lib/avo/concerns/has_fields.rb
1753
- - lib/avo/concerns/has_html_attributes.rb
1754
- - lib/avo/concerns/has_resource_stimulus_controllers.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
1755
+ - lib/avo/concerns/has_stimulus_controllers.rb
1756
+ - lib/avo/concerns/hydration.rb
1755
1757
  - lib/avo/concerns/is_resource_item.rb
1758
+ - lib/avo/concerns/is_visible.rb
1756
1759
  - lib/avo/concerns/model_class_constantized.rb
1757
1760
  - lib/avo/concerns/pagination.rb
1758
- - lib/avo/concerns/policy_helpers.rb
1759
- - lib/avo/concerns/visible_in_dashboard.rb
1761
+ - lib/avo/concerns/visible_in_different_views.rb
1760
1762
  - lib/avo/concerns/visible_items.rb
1761
1763
  - lib/avo/configuration.rb
1762
1764
  - lib/avo/configuration/branding.rb
1763
1765
  - lib/avo/configuration/resource_configuration.rb
1764
- - lib/avo/dashboards/base_dashboard.rb
1765
- - lib/avo/dashboards/base_divider.rb
1766
- - lib/avo/dashboards/chartkick_card.rb
1767
- - lib/avo/dashboards/dashboard_card.rb
1768
- - lib/avo/dashboards/metric_card.rb
1769
- - lib/avo/dashboards/partial_card.rb
1766
+ - lib/avo/current.rb
1770
1767
  - lib/avo/dsl/field_parser.rb
1771
1768
  - lib/avo/dynamic_router.rb
1772
1769
  - lib/avo/engine.rb
1770
+ - lib/avo/error_manager.rb
1773
1771
  - lib/avo/execution_context.rb
1774
1772
  - lib/avo/fields/area_field.rb
1775
1773
  - lib/avo/fields/badge_field.rb
@@ -1779,18 +1777,22 @@ files:
1779
1777
  - lib/avo/fields/boolean_group_field.rb
1780
1778
  - lib/avo/fields/code_field.rb
1781
1779
  - lib/avo/fields/concerns/file_authorization.rb
1780
+ - lib/avo/fields/concerns/handles_field_args.rb
1782
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
1783
1784
  - lib/avo/fields/concerns/is_disabled.rb
1784
1785
  - lib/avo/fields/concerns/is_readonly.rb
1785
1786
  - lib/avo/fields/concerns/is_required.rb
1787
+ - lib/avo/fields/concerns/is_searchable.rb
1786
1788
  - lib/avo/fields/concerns/use_resource.rb
1789
+ - lib/avo/fields/concerns/use_view_components.rb
1787
1790
  - lib/avo/fields/country_field.rb
1788
1791
  - lib/avo/fields/date_field.rb
1789
1792
  - lib/avo/fields/date_time_field.rb
1790
1793
  - lib/avo/fields/external_image_field.rb
1791
- - lib/avo/fields/field_extensions/has_field_name.rb
1792
1794
  - lib/avo/fields/field_extensions/has_include_blank.rb
1793
- - lib/avo/fields/field_extensions/visible_in_different_views.rb
1795
+ - lib/avo/fields/field_manager.rb
1794
1796
  - lib/avo/fields/file_field.rb
1795
1797
  - lib/avo/fields/files_field.rb
1796
1798
  - lib/avo/fields/gravatar_field.rb
@@ -1806,10 +1808,10 @@ files:
1806
1808
  - lib/avo/fields/markdown_field.rb
1807
1809
  - lib/avo/fields/number_field.rb
1808
1810
  - lib/avo/fields/password_field.rb
1811
+ - lib/avo/fields/preview_field.rb
1809
1812
  - lib/avo/fields/progress_bar_field.rb
1810
1813
  - lib/avo/fields/select_field.rb
1811
1814
  - lib/avo/fields/status_field.rb
1812
- - lib/avo/fields/tags_field.rb
1813
1815
  - lib/avo/fields/text_field.rb
1814
1816
  - lib/avo/fields/textarea_field.rb
1815
1817
  - lib/avo/fields/time_field.rb
@@ -1819,25 +1821,12 @@ files:
1819
1821
  - lib/avo/filters/multiple_select_filter.rb
1820
1822
  - lib/avo/filters/select_filter.rb
1821
1823
  - lib/avo/filters/text_filter.rb
1822
- - lib/avo/grid_collector.rb
1823
1824
  - lib/avo/grid_fields/body_field.rb
1824
1825
  - lib/avo/grid_fields/grid_field.rb
1825
1826
  - lib/avo/grid_fields/preview_field.rb
1826
1827
  - lib/avo/grid_fields/title_field.rb
1827
- - lib/avo/hosts/association_scope_host.rb
1828
- - lib/avo/hosts/base_host.rb
1829
- - lib/avo/hosts/card_visibility.rb
1830
- - lib/avo/hosts/dashboard_card.rb
1831
- - lib/avo/hosts/dashboard_visibility.rb
1832
- - lib/avo/hosts/ordering.rb
1833
- - lib/avo/hosts/record_host.rb
1834
- - lib/avo/hosts/resource_record_host.rb
1835
- - lib/avo/hosts/resource_view_record_host.rb
1836
- - lib/avo/hosts/search_scope_host.rb
1837
- - lib/avo/hosts/view_record_host.rb
1838
- - lib/avo/hosts/visibility_host.rb
1839
1828
  - lib/avo/html/builder.rb
1840
- - lib/avo/items_holder.rb
1829
+ - lib/avo/item_grapher.rb
1841
1830
  - lib/avo/licensing/community_license.rb
1842
1831
  - lib/avo/licensing/h_q.rb
1843
1832
  - lib/avo/licensing/license.rb
@@ -1848,49 +1837,44 @@ files:
1848
1837
  - lib/avo/loaders/fields_loader.rb
1849
1838
  - lib/avo/loaders/filters_loader.rb
1850
1839
  - lib/avo/loaders/loader.rb
1851
- - lib/avo/main_panel.rb
1852
- - lib/avo/menu/base_item.rb
1853
- - lib/avo/menu/builder.rb
1854
- - lib/avo/menu/dashboard.rb
1855
- - lib/avo/menu/group.rb
1856
- - lib/avo/menu/link.rb
1857
- - lib/avo/menu/menu.rb
1858
- - lib/avo/menu/resource.rb
1859
- - lib/avo/menu/section.rb
1860
- - lib/avo/panel.rb
1861
- - lib/avo/panel_builder.rb
1840
+ - lib/avo/plugin.rb
1841
+ - lib/avo/plugin_manager.rb
1842
+ - lib/avo/prefixed_test_helpers.rb
1862
1843
  - lib/avo/reloader.rb
1863
- - lib/avo/resources/controls/action.rb
1864
1844
  - lib/avo/resources/controls/actions_list.rb
1845
+ - lib/avo/resources/controls/attach_button.rb
1865
1846
  - lib/avo/resources/controls/back_button.rb
1866
1847
  - lib/avo/resources/controls/base_control.rb
1848
+ - lib/avo/resources/controls/create_button.rb
1867
1849
  - lib/avo/resources/controls/delete_button.rb
1868
1850
  - lib/avo/resources/controls/detach_button.rb
1869
1851
  - lib/avo/resources/controls/edit_button.rb
1870
- - lib/avo/resources/controls/execution_context.rb
1871
- - lib/avo/resources/controls/items_holder.rb
1872
- - lib/avo/resources/controls/link_to.rb
1873
- - lib/avo/row.rb
1874
- - lib/avo/row_builder.rb
1875
- - lib/avo/services/authorization_clients/nil_client.rb
1876
- - 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
1877
1864
  - lib/avo/services/authorization_service.rb
1865
+ - lib/avo/services/debug_service.rb
1878
1866
  - lib/avo/services/encryption_service.rb
1867
+ - lib/avo/services/telemetry_service.rb
1879
1868
  - lib/avo/services/uri_service.rb
1880
- - lib/avo/sidebar.rb
1881
- - lib/avo/sidebar_builder.rb
1882
1869
  - lib/avo/svg_finder.rb
1883
- - lib/avo/tab.rb
1884
- - lib/avo/tab_builder.rb
1885
- - lib/avo/tab_group.rb
1886
- - lib/avo/tab_group_builder.rb
1887
- - lib/avo/tools_manager.rb
1870
+ - lib/avo/test_helpers.rb
1871
+ - lib/avo/tools/tool_manager.rb
1888
1872
  - lib/avo/version.rb
1873
+ - lib/avo/view_inquirer.rb
1889
1874
  - lib/generators/avo/action_generator.rb
1890
1875
  - lib/generators/avo/base_generator.rb
1891
- - lib/generators/avo/card/chartkick_generator.rb
1892
- - lib/generators/avo/card/metric_generator.rb
1893
- - lib/generators/avo/card/partial_generator.rb
1876
+ - lib/generators/avo/card_generator.rb
1877
+ - lib/generators/avo/concerns/parent_controller.rb
1894
1878
  - lib/generators/avo/controller_generator.rb
1895
1879
  - lib/generators/avo/dashboard_generator.rb
1896
1880
  - lib/generators/avo/eject_generator.rb
@@ -1902,6 +1886,7 @@ files:
1902
1886
  - lib/generators/avo/named_base_generator.rb
1903
1887
  - lib/generators/avo/resource_generator.rb
1904
1888
  - lib/generators/avo/resource_tool_generator.rb
1889
+ - lib/generators/avo/scope_generator.rb
1905
1890
  - lib/generators/avo/tailwindcss/install_generator.rb
1906
1891
  - lib/generators/avo/templates/action.tt
1907
1892
  - lib/generators/avo/templates/cards/chartkick_card.tt
@@ -1924,7 +1909,6 @@ files:
1924
1909
  - lib/generators/avo/templates/filters/select_filter.tt
1925
1910
  - lib/generators/avo/templates/filters/text_filter.tt
1926
1911
  - lib/generators/avo/templates/initializer/avo.tt
1927
- - lib/generators/avo/templates/js/avo.custom.js
1928
1912
  - lib/generators/avo/templates/locales/avo.ar.yml
1929
1913
  - lib/generators/avo/templates/locales/avo.en.yml
1930
1914
  - lib/generators/avo/templates/locales/avo.es.yml
@@ -1941,9 +1925,10 @@ files:
1941
1925
  - lib/generators/avo/templates/resource/resource.tt
1942
1926
  - lib/generators/avo/templates/resource_tools/partial.tt
1943
1927
  - lib/generators/avo/templates/resource_tools/resource_tool.tt
1944
- - lib/generators/avo/templates/standalone_action.tt
1928
+ - lib/generators/avo/templates/scope.tt
1945
1929
  - lib/generators/avo/templates/tailwindcss/Procfile.dev
1946
1930
  - lib/generators/avo/templates/tailwindcss/avo.tailwind.css
1931
+ - lib/generators/avo/templates/tailwindcss/tailwind.config.js
1947
1932
  - lib/generators/avo/templates/tool/controller.tt
1948
1933
  - lib/generators/avo/templates/tool/sidebar_item.tt
1949
1934
  - lib/generators/avo/templates/tool/view.tt
@@ -1956,6 +1941,9 @@ files:
1956
1941
  - public/avo-assets/avo.base.css
1957
1942
  - public/avo-assets/avo.base.js
1958
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
1959
1947
  - public/avo-assets/favicon.ico
1960
1948
  - public/avo-assets/fonts/inter-v7-latin-500.eot
1961
1949
  - public/avo-assets/fonts/inter-v7-latin-500.svg
@@ -1981,6 +1969,8 @@ files:
1981
1969
  - public/avo-assets/logo.png
1982
1970
  - public/avo-assets/logomark.png
1983
1971
  - public/avo-assets/placeholder.svg
1972
+ - tailwind.custom.js
1973
+ - tailwind.preset.js
1984
1974
  homepage: https://avohq.io
1985
1975
  licenses:
1986
1976
  - Commercial
@@ -1998,14 +1988,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
1998
1988
  requirements:
1999
1989
  - - ">="
2000
1990
  - !ruby/object:Gem::Version
2001
- version: 2.6.0
1991
+ version: 3.0.0
2002
1992
  required_rubygems_version: !ruby/object:Gem::Requirement
2003
1993
  requirements:
2004
1994
  - - ">="
2005
1995
  - !ruby/object:Gem::Version
2006
1996
  version: '0'
2007
1997
  requirements: []
2008
- rubygems_version: 3.3.3
1998
+ rubygems_version: 3.4.6
2009
1999
  signing_key:
2010
2000
  specification_version: 4
2011
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