avo 2.43.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 (414) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +30 -26
  3. data/Gemfile.lock +235 -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 +5 -4
  73. data/app/components/avo/index/resource_table_component.rb +24 -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 +29 -40
  84. data/app/components/avo/paginator_component.rb +23 -5
  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 -84
  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 +37 -41
  105. data/app/controllers/avo/application_controller.rb +119 -181
  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 +145 -98
  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/application.js +3 -0
  118. data/app/javascript/js/controllers/action_controller.js +3 -1
  119. data/app/javascript/js/controllers/actions_overflow_controller.js +62 -0
  120. data/app/javascript/js/controllers/fields/reload_belongs_to_field_controller.js +7 -7
  121. data/app/javascript/js/controllers/filter_controller.js +1 -1
  122. data/app/javascript/js/controllers/input_autofocus_controller.js +12 -0
  123. data/app/javascript/js/controllers/preview_controller.js +24 -0
  124. data/app/javascript/js/controllers/search_controller.js +4 -2
  125. data/app/javascript/js/controllers/self_destroy_controller.js +7 -0
  126. data/app/javascript/js/controllers/toggle_controller.js +48 -0
  127. data/app/javascript/js/controllers.js +11 -5
  128. data/app/javascript/js/custom-stream-actions.js +15 -0
  129. data/app/views/avo/actions/show.html.erb +10 -7
  130. data/app/views/avo/associations/new.html.erb +2 -2
  131. data/app/views/avo/base/_new_via_belongs_to.html.erb +1 -1
  132. data/app/views/avo/base/close_modal_and_reload_field.turbo_stream.erb +3 -3
  133. data/app/views/avo/base/create_fail_action.turbo_stream.erb +2 -2
  134. data/app/views/avo/base/edit.html.erb +1 -1
  135. data/app/views/avo/base/index.html.erb +4 -3
  136. data/app/views/avo/base/new.html.erb +2 -1
  137. data/app/views/avo/base/preview.html.erb +19 -0
  138. data/app/views/avo/base/show.html.erb +2 -2
  139. data/app/views/avo/debug/_valid_indicator.html.erb +9 -0
  140. data/app/views/avo/debug/report.html.erb +32 -17
  141. data/app/views/avo/debug/{index.html.erb → status.html.erb} +31 -14
  142. data/app/views/avo/partials/_custom_tools_alert.html.erb +2 -2
  143. data/app/views/avo/partials/_flash_alerts.turbo_stream.erb +1 -1
  144. data/app/views/avo/partials/_footer.html.erb +1 -1
  145. data/app/views/avo/partials/_javascript.html.erb +5 -0
  146. data/app/views/avo/partials/_logo.html.erb +1 -1
  147. data/app/views/avo/partials/_navbar.html.erb +3 -5
  148. data/app/views/avo/partials/_resource_search.html.erb +1 -0
  149. data/app/views/avo/partials/_table_header.html.erb +5 -11
  150. data/app/views/layouts/avo/application.html.erb +5 -4
  151. data/avo.gemspec +11 -8
  152. data/bin/dev +3 -1
  153. data/bin/prod +0 -0
  154. data/config/i18n-tasks.yml +1 -1
  155. data/config/initializers/pagy.rb +2 -0
  156. data/config/master.key +1 -0
  157. data/config/routes.rb +7 -10
  158. data/db/factories.rb +6 -0
  159. data/lib/avo/asset_manager.rb +30 -0
  160. data/lib/avo/base_action.rb +84 -82
  161. data/lib/avo/base_resource.rb +286 -225
  162. data/lib/avo/base_resource_tool.rb +9 -16
  163. data/lib/avo/concerns/borrow_items_holder.rb +35 -0
  164. data/lib/avo/concerns/breadcrumbs.rb +2 -2
  165. data/lib/avo/concerns/{can_replace_fields.rb → can_replace_items.rb} +5 -9
  166. data/lib/avo/concerns/filters_session_handler.rb +7 -5
  167. data/lib/avo/concerns/has_controls.rb +37 -0
  168. data/lib/avo/concerns/has_description.rb +23 -0
  169. data/lib/avo/concerns/has_helpers.rb +18 -0
  170. data/lib/avo/concerns/has_item_type.rb +42 -0
  171. data/lib/avo/concerns/has_items.rb +339 -0
  172. data/lib/avo/concerns/hydration.rb +17 -0
  173. data/lib/avo/concerns/is_resource_item.rb +16 -36
  174. data/lib/avo/concerns/is_visible.rb +15 -0
  175. data/lib/avo/concerns/model_class_constantized.rb +0 -2
  176. data/lib/avo/concerns/pagination.rb +53 -0
  177. data/lib/avo/concerns/visible_in_different_views.rb +132 -0
  178. data/lib/avo/concerns/visible_items.rb +7 -38
  179. data/lib/avo/configuration/branding.rb +0 -12
  180. data/lib/avo/configuration.rb +28 -11
  181. data/lib/avo/current.rb +39 -0
  182. data/lib/avo/dsl/field_parser.rb +3 -3
  183. data/lib/avo/dynamic_router.rb +18 -3
  184. data/lib/avo/engine.rb +35 -30
  185. data/lib/avo/error_manager.rb +25 -0
  186. data/lib/avo/execution_context.rb +14 -15
  187. data/lib/avo/fields/base_field.rb +84 -115
  188. data/lib/avo/fields/belongs_to_field.rb +19 -23
  189. data/lib/avo/fields/concerns/file_authorization.rb +2 -2
  190. data/lib/avo/fields/concerns/handles_field_args.rb +49 -0
  191. data/lib/avo/fields/concerns/has_default.rb +1 -5
  192. data/lib/avo/fields/concerns/has_field_name.rb +22 -0
  193. data/lib/avo/fields/concerns/has_html_attributes.rb +112 -0
  194. data/lib/avo/fields/concerns/is_disabled.rb +1 -5
  195. data/lib/avo/fields/concerns/is_readonly.rb +1 -5
  196. data/lib/avo/fields/concerns/is_required.rb +5 -7
  197. data/lib/avo/fields/concerns/is_searchable.rb +15 -0
  198. data/lib/avo/fields/concerns/use_resource.rb +5 -1
  199. data/lib/avo/fields/concerns/use_view_components.rb +45 -0
  200. data/lib/avo/fields/country_field.rb +4 -0
  201. data/lib/avo/fields/date_time_field.rb +1 -5
  202. data/lib/avo/fields/external_image_field.rb +2 -2
  203. data/lib/avo/fields/field_manager.rb +55 -0
  204. data/lib/avo/fields/file_field.rb +2 -2
  205. data/lib/avo/fields/gravatar_field.rb +2 -2
  206. data/lib/avo/fields/has_and_belongs_to_many_field.rb +1 -2
  207. data/lib/avo/fields/has_base_field.rb +21 -17
  208. data/lib/avo/fields/has_many_field.rb +5 -2
  209. data/lib/avo/fields/has_one_field.rb +8 -12
  210. data/lib/avo/fields/heading_field.rb +9 -14
  211. data/lib/avo/fields/hidden_field.rb +1 -1
  212. data/lib/avo/fields/id_field.rb +3 -3
  213. data/lib/avo/fields/location_field.rb +10 -10
  214. data/lib/avo/fields/password_field.rb +1 -1
  215. data/lib/avo/fields/preview_field.rb +14 -0
  216. data/lib/avo/fields/select_field.rb +12 -8
  217. data/lib/avo/fields/status_field.rb +7 -1
  218. data/lib/avo/fields/text_field.rb +2 -2
  219. data/lib/avo/filters/base_filter.rb +9 -4
  220. data/lib/avo/html/builder.rb +8 -8
  221. data/lib/avo/item_grapher.rb +78 -0
  222. data/lib/avo/licensing/h_q.rb +11 -73
  223. data/lib/avo/licensing/license.rb +5 -1
  224. data/lib/avo/licensing/license_manager.rb +1 -1
  225. data/lib/avo/licensing/pro_license.rb +1 -7
  226. data/lib/avo/loaders/fields_loader.rb +7 -1
  227. data/lib/avo/plugin.rb +36 -0
  228. data/lib/avo/plugin_manager.rb +56 -0
  229. data/lib/avo/prefixed_test_helpers.rb +20 -0
  230. data/lib/avo/reloader.rb +3 -0
  231. data/lib/avo/resources/controls/actions_list.rb +7 -12
  232. data/lib/avo/resources/controls/attach_button.rb +15 -0
  233. data/lib/avo/resources/controls/back_button.rb +1 -1
  234. data/lib/avo/resources/controls/base_control.rb +15 -49
  235. data/lib/avo/resources/controls/create_button.rb +15 -0
  236. data/lib/avo/resources/controls/delete_button.rb +5 -1
  237. data/lib/avo/resources/controls/detach_button.rb +4 -1
  238. data/lib/avo/resources/controls/edit_button.rb +4 -1
  239. data/lib/avo/resources/controls/order_controls.rb +8 -0
  240. data/lib/avo/resources/controls/save_button.rb +13 -0
  241. data/lib/avo/resources/controls/show_button.rb +15 -0
  242. data/lib/avo/resources/items/holder.rb +96 -0
  243. data/lib/avo/resources/items/item_group.rb +44 -0
  244. data/lib/avo/resources/items/main_panel.rb +12 -0
  245. data/lib/avo/resources/items/panel.rb +2 -0
  246. data/lib/avo/resources/items/row.rb +42 -0
  247. data/lib/avo/resources/items/sidebar.rb +46 -0
  248. data/lib/avo/resources/items/tab.rb +54 -0
  249. data/lib/avo/resources/items/tab_group.rb +62 -0
  250. data/lib/avo/resources/resource_manager.rb +179 -0
  251. data/lib/avo/services/authorization_service.rb +11 -110
  252. data/lib/avo/services/debug_service.rb +93 -0
  253. data/lib/avo/services/encryption_service.rb +8 -12
  254. data/lib/avo/services/telemetry_service.rb +85 -0
  255. data/lib/avo/test_helpers.rb +362 -0
  256. data/lib/avo/tools/tool_manager.rb +30 -0
  257. data/lib/avo/version.rb +1 -1
  258. data/lib/avo/view_inquirer.rb +36 -0
  259. data/lib/avo.rb +109 -24
  260. data/lib/generators/avo/action_generator.rb +8 -8
  261. data/lib/generators/avo/card_generator.rb +27 -0
  262. data/lib/generators/avo/concerns/parent_controller.rb +20 -0
  263. data/lib/generators/avo/controller_generator.rb +3 -0
  264. data/lib/generators/avo/eject_generator.rb +180 -15
  265. data/lib/generators/avo/field_generator.rb +49 -2
  266. data/lib/generators/avo/filter_generator.rb +8 -8
  267. data/lib/generators/avo/js/install_generator.rb +2 -2
  268. data/lib/generators/avo/resource_generator.rb +12 -9
  269. data/lib/generators/avo/scope_generator.rb +15 -0
  270. data/lib/generators/avo/tailwindcss/install_generator.rb +70 -26
  271. data/lib/generators/avo/templates/action.tt +8 -6
  272. data/lib/generators/avo/templates/cards/chartkick_card.tt +1 -1
  273. data/lib/generators/avo/templates/cards/chartkick_card_sample.tt +1 -1
  274. data/lib/generators/avo/templates/cards/metric_card.tt +1 -1
  275. data/lib/generators/avo/templates/cards/metric_card_sample.tt +1 -1
  276. data/lib/generators/avo/templates/cards/partial_card.tt +1 -1
  277. data/lib/generators/avo/templates/cards/partial_card_sample.tt +1 -1
  278. data/lib/generators/avo/templates/dashboards/dashboard.tt +5 -3
  279. data/lib/generators/avo/templates/field/%singular_name%_field.rb.tt +1 -1
  280. data/lib/generators/avo/templates/filters/boolean_filter.tt +1 -1
  281. data/lib/generators/avo/templates/filters/multiple_select_filter.tt +1 -1
  282. data/lib/generators/avo/templates/filters/select_filter.tt +1 -1
  283. data/lib/generators/avo/templates/filters/text_filter.tt +1 -1
  284. data/lib/generators/avo/templates/initializer/avo.tt +7 -3
  285. data/lib/generators/avo/templates/locales/avo.ar.yml +7 -6
  286. data/lib/generators/avo/templates/locales/avo.en.yml +6 -3
  287. data/lib/generators/avo/templates/locales/avo.es.yml +127 -0
  288. data/lib/generators/avo/templates/locales/avo.fr.yml +3 -0
  289. data/lib/generators/avo/templates/locales/avo.nb.yml +3 -0
  290. data/lib/generators/avo/templates/locales/avo.nn.yml +3 -0
  291. data/lib/generators/avo/templates/locales/avo.pt-BR.yml +3 -0
  292. data/lib/generators/avo/templates/locales/avo.pt.yml +3 -0
  293. data/lib/generators/avo/templates/locales/avo.ro.yml +8 -5
  294. data/lib/generators/avo/templates/locales/avo.tr.yml +3 -0
  295. data/lib/generators/avo/templates/resource/controller.tt +1 -1
  296. data/lib/generators/avo/templates/resource/resource.tt +7 -7
  297. data/lib/generators/avo/templates/resource_tools/partial.tt +2 -2
  298. data/lib/generators/avo/templates/resource_tools/resource_tool.tt +1 -1
  299. data/lib/generators/avo/templates/scope.tt +6 -0
  300. data/lib/generators/avo/templates/tailwindcss/Procfile.dev +1 -1
  301. data/lib/generators/avo/templates/tailwindcss/avo.tailwind.css +5 -3
  302. data/lib/generators/avo/templates/tailwindcss/tailwind.config.js +11 -0
  303. data/lib/tasks/avo_tasks.rake +72 -4
  304. data/public/avo-assets/avo.base.css +1893 -1187
  305. data/public/avo-assets/avo.base.js +223 -311
  306. data/public/avo-assets/avo.base.js.map +3 -3
  307. data/public/avo-assets/avo.css +9744 -0
  308. data/public/avo-assets/avo.js +513 -0
  309. data/public/avo-assets/avo.js.map +7 -0
  310. data/tailwind.custom.js +47 -0
  311. data/tailwind.preset.js +152 -0
  312. metadata +121 -116
  313. data/app/components/avo/card_component.html.erb +0 -46
  314. data/app/components/avo/card_component.rb +0 -25
  315. data/app/components/avo/dashboards/divider_component.html.erb +0 -9
  316. data/app/components/avo/dashboards/divider_component.rb +0 -19
  317. data/app/components/avo/fields/belongs_to_field/autocomplete_component.html.erb +0 -47
  318. data/app/components/avo/fields/belongs_to_field/autocomplete_component.rb +0 -95
  319. data/app/components/avo/fields/tags_field/edit_component.html.erb +0 -35
  320. data/app/components/avo/fields/tags_field/edit_component.rb +0 -4
  321. data/app/components/avo/fields/tags_field/index_component.html.erb +0 -10
  322. data/app/components/avo/fields/tags_field/index_component.rb +0 -9
  323. data/app/components/avo/fields/tags_field/show_component.html.erb +0 -7
  324. data/app/components/avo/fields/tags_field/show_component.rb +0 -5
  325. data/app/components/avo/fields/tags_field/tag_component.html.erb +0 -9
  326. data/app/components/avo/fields/tags_field/tag_component.rb +0 -11
  327. data/app/components/avo/index/ordering/base_component.rb +0 -9
  328. data/app/components/avo/index/ordering/button_component.html.erb +0 -11
  329. data/app/components/avo/index/ordering/button_component.rb +0 -23
  330. data/app/components/avo/index/ordering/buttons_component.html.erb +0 -32
  331. data/app/components/avo/index/ordering/buttons_component.rb +0 -47
  332. data/app/components/avo/item_switcher_component.html.erb +0 -27
  333. data/app/components/avo/item_switcher_component.rb +0 -48
  334. data/app/components/avo/sidebar/item_switcher_component.html.erb +0 -16
  335. data/app/components/avo/sidebar/item_switcher_component.rb +0 -15
  336. data/app/controllers/avo/dashboards/cards_controller.rb +0 -37
  337. data/app/controllers/avo/dashboards_controller.rb +0 -22
  338. data/app/controllers/avo/reorder_controller.rb +0 -25
  339. data/app/controllers/avo/team_users_controller.rb +0 -4
  340. data/app/javascript/js/controllers/base_controller.js +0 -22
  341. data/app/javascript/js/controllers/fields/tags_field_controller.js +0 -127
  342. data/app/javascript/js/controllers/toggle_panel_controller.js +0 -18
  343. data/app/views/avo/dashboards/cards/_chartkick_card.html.erb +0 -3
  344. data/app/views/avo/dashboards/cards/_metric_card.html.erb +0 -5
  345. data/app/views/avo/dashboards/cards/chartkick_missing.html.erb +0 -14
  346. data/app/views/avo/dashboards/cards/show.html.erb +0 -3
  347. data/app/views/avo/dashboards/show.html.erb +0 -38
  348. data/app/views/avo/partials/_global_search.html.erb +0 -19
  349. data/app/views/avo/sidebar/_license_warnings.html.erb +0 -6
  350. data/lib/avo/action_model.rb +0 -20
  351. data/lib/avo/app.rb +0 -237
  352. data/lib/avo/base_card.rb +0 -161
  353. data/lib/avo/concerns/fetches_things.rb +0 -150
  354. data/lib/avo/concerns/handles_field_args.rb +0 -47
  355. data/lib/avo/concerns/has_editable_controls.rb +0 -34
  356. data/lib/avo/concerns/has_fields.rb +0 -334
  357. data/lib/avo/concerns/has_html_attributes.rb +0 -108
  358. data/lib/avo/concerns/policy_helpers.rb +0 -31
  359. data/lib/avo/concerns/visible_in_dashboard.rb +0 -31
  360. data/lib/avo/dashboards/base_dashboard.rb +0 -89
  361. data/lib/avo/dashboards/base_divider.rb +0 -35
  362. data/lib/avo/dashboards/chartkick_card.rb +0 -77
  363. data/lib/avo/dashboards/dashboard_card.rb +0 -6
  364. data/lib/avo/dashboards/metric_card.rb +0 -9
  365. data/lib/avo/dashboards/partial_card.rb +0 -7
  366. data/lib/avo/fields/field_extensions/has_field_name.rb +0 -19
  367. data/lib/avo/fields/field_extensions/visible_in_different_views.rb +0 -111
  368. data/lib/avo/fields/tags_field.rb +0 -102
  369. data/lib/avo/grid_collector.rb +0 -42
  370. data/lib/avo/hosts/association_scope_host.rb +0 -8
  371. data/lib/avo/hosts/base_host.rb +0 -25
  372. data/lib/avo/hosts/card_visibility.rb +0 -20
  373. data/lib/avo/hosts/dashboard_card.rb +0 -22
  374. data/lib/avo/hosts/dashboard_visibility.rb +0 -19
  375. data/lib/avo/hosts/ordering.rb +0 -22
  376. data/lib/avo/hosts/record_host.rb +0 -7
  377. data/lib/avo/hosts/resource_record_host.rb +0 -7
  378. data/lib/avo/hosts/resource_view_record_host.rb +0 -7
  379. data/lib/avo/hosts/search_scope_host.rb +0 -7
  380. data/lib/avo/hosts/view_record_host.rb +0 -7
  381. data/lib/avo/hosts/visibility_host.rb +0 -12
  382. data/lib/avo/items_holder.rb +0 -96
  383. data/lib/avo/main_panel.rb +0 -3
  384. data/lib/avo/menu/base_item.rb +0 -25
  385. data/lib/avo/menu/builder.rb +0 -82
  386. data/lib/avo/menu/dashboard.rb +0 -22
  387. data/lib/avo/menu/group.rb +0 -2
  388. data/lib/avo/menu/link.rb +0 -6
  389. data/lib/avo/menu/menu.rb +0 -2
  390. data/lib/avo/menu/resource.rb +0 -22
  391. data/lib/avo/menu/section.rb +0 -2
  392. data/lib/avo/panel.rb +0 -24
  393. data/lib/avo/panel_builder.rb +0 -25
  394. data/lib/avo/resources/controls/action.rb +0 -38
  395. data/lib/avo/resources/controls/execution_context.rb +0 -58
  396. data/lib/avo/resources/controls/items_holder.rb +0 -19
  397. data/lib/avo/resources/controls/link_to.rb +0 -27
  398. data/lib/avo/row.rb +0 -26
  399. data/lib/avo/row_builder.rb +0 -24
  400. data/lib/avo/services/authorization_clients/nil_client.rb +0 -37
  401. data/lib/avo/services/authorization_clients/pundit_client.rb +0 -51
  402. data/lib/avo/sidebar.rb +0 -30
  403. data/lib/avo/sidebar_builder.rb +0 -24
  404. data/lib/avo/tab.rb +0 -72
  405. data/lib/avo/tab_builder.rb +0 -25
  406. data/lib/avo/tab_group.rb +0 -42
  407. data/lib/avo/tab_group_builder.rb +0 -43
  408. data/lib/avo/tools_manager.rb +0 -11
  409. data/lib/generators/avo/card/chartkick_generator.rb +0 -18
  410. data/lib/generators/avo/card/metric_generator.rb +0 -18
  411. data/lib/generators/avo/card/partial_generator.rb +0 -19
  412. data/lib/generators/avo/templates/js/avo.custom.js +0 -2
  413. data/lib/generators/avo/templates/standalone_action.tt +0 -8
  414. /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.43.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-10-24 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
@@ -123,6 +137,20 @@ dependencies:
123
137
  - - ">="
124
138
  - !ruby/object:Gem::Version
125
139
  version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: turbo_power
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: 0.5.0
147
+ type: :runtime
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: 0.5.0
126
154
  - !ruby/object:Gem::Dependency
127
155
  name: addressable
128
156
  requirement: !ruby/object:Gem::Requirement
@@ -214,6 +242,7 @@ files:
214
242
  - app/assets/stylesheets/css/fields/code.css
215
243
  - app/assets/stylesheets/css/fields/progress.css
216
244
  - app/assets/stylesheets/css/fields/status.css
245
+ - app/assets/stylesheets/css/fields/tags.css
217
246
  - app/assets/stylesheets/css/fields/trix.css
218
247
  - app/assets/stylesheets/css/fonts.css
219
248
  - app/assets/stylesheets/css/loader.css
@@ -222,7 +251,6 @@ files:
222
251
  - app/assets/stylesheets/css/search.css
223
252
  - app/assets/stylesheets/css/sidebar.css
224
253
  - app/assets/stylesheets/css/spinner.css
225
- - app/assets/stylesheets/css/tags.css
226
254
  - app/assets/stylesheets/css/tailwindcss/base.css
227
255
  - app/assets/stylesheets/css/tailwindcss/components.css
228
256
  - app/assets/stylesheets/css/tailwindcss/utilities.css
@@ -255,6 +283,7 @@ files:
255
283
  - app/assets/svgs/failed_to_load.svg
256
284
  - app/assets/svgs/filter.svg
257
285
  - app/assets/svgs/fire.svg
286
+ - app/assets/svgs/font.svg
258
287
  - app/assets/svgs/game-board.svg
259
288
  - app/assets/svgs/globe.svg
260
289
  - app/assets/svgs/grid-empty-state.svg
@@ -1317,6 +1346,7 @@ files:
1317
1346
  - app/assets/svgs/tools.svg
1318
1347
  - app/assets/svgs/trash-sm.svg
1319
1348
  - app/assets/svgs/trash.svg
1349
+ - app/assets/svgs/triangle-up.svg
1320
1350
  - app/assets/svgs/user-circle.svg
1321
1351
  - app/assets/svgs/view-grid-add.svg
1322
1352
  - app/assets/svgs/view-grid.svg
@@ -1327,14 +1357,14 @@ files:
1327
1357
  - app/components/avo/actions_component.rb
1328
1358
  - app/components/avo/alert_component.html.erb
1329
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
1330
1364
  - app/components/avo/base_component.rb
1331
1365
  - app/components/avo/blank_field_component.html.erb
1332
1366
  - app/components/avo/blank_field_component.rb
1333
1367
  - app/components/avo/button_component.rb
1334
- - app/components/avo/card_component.html.erb
1335
- - app/components/avo/card_component.rb
1336
- - app/components/avo/dashboards/divider_component.html.erb
1337
- - app/components/avo/dashboards/divider_component.rb
1338
1368
  - app/components/avo/empty_state_component.html.erb
1339
1369
  - app/components/avo/empty_state_component.rb
1340
1370
  - app/components/avo/field_wrapper_component.html.erb
@@ -1347,8 +1377,6 @@ files:
1347
1377
  - app/components/avo/fields/badge_field/index_component.rb
1348
1378
  - app/components/avo/fields/badge_field/show_component.html.erb
1349
1379
  - app/components/avo/fields/badge_field/show_component.rb
1350
- - app/components/avo/fields/belongs_to_field/autocomplete_component.html.erb
1351
- - app/components/avo/fields/belongs_to_field/autocomplete_component.rb
1352
1380
  - app/components/avo/fields/belongs_to_field/edit_component.html.erb
1353
1381
  - app/components/avo/fields/belongs_to_field/edit_component.rb
1354
1382
  - app/components/avo/fields/belongs_to_field/index_component.html.erb
@@ -1476,6 +1504,8 @@ files:
1476
1504
  - app/components/avo/fields/number_field/show_component.rb
1477
1505
  - app/components/avo/fields/password_field/edit_component.html.erb
1478
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
1479
1509
  - app/components/avo/fields/progress_bar_field/edit_component.html.erb
1480
1510
  - app/components/avo/fields/progress_bar_field/edit_component.rb
1481
1511
  - app/components/avo/fields/progress_bar_field/index_component.html.erb
@@ -1495,14 +1525,6 @@ files:
1495
1525
  - app/components/avo/fields/status_field/index_component.rb
1496
1526
  - app/components/avo/fields/status_field/show_component.html.erb
1497
1527
  - app/components/avo/fields/status_field/show_component.rb
1498
- - app/components/avo/fields/tags_field/edit_component.html.erb
1499
- - app/components/avo/fields/tags_field/edit_component.rb
1500
- - app/components/avo/fields/tags_field/index_component.html.erb
1501
- - app/components/avo/fields/tags_field/index_component.rb
1502
- - app/components/avo/fields/tags_field/show_component.html.erb
1503
- - app/components/avo/fields/tags_field/show_component.rb
1504
- - app/components/avo/fields/tags_field/tag_component.html.erb
1505
- - app/components/avo/fields/tags_field/tag_component.rb
1506
1528
  - app/components/avo/fields/text_field/edit_component.html.erb
1507
1529
  - app/components/avo/fields/text_field/edit_component.rb
1508
1530
  - app/components/avo/fields/text_field/index_component.html.erb
@@ -1533,11 +1555,6 @@ files:
1533
1555
  - app/components/avo/index/grid_cover_empty_state_component.rb
1534
1556
  - app/components/avo/index/grid_item_component.html.erb
1535
1557
  - app/components/avo/index/grid_item_component.rb
1536
- - app/components/avo/index/ordering/base_component.rb
1537
- - app/components/avo/index/ordering/button_component.html.erb
1538
- - app/components/avo/index/ordering/button_component.rb
1539
- - app/components/avo/index/ordering/buttons_component.html.erb
1540
- - app/components/avo/index/ordering/buttons_component.rb
1541
1558
  - app/components/avo/index/resource_controls_component.html.erb
1542
1559
  - app/components/avo/index/resource_controls_component.rb
1543
1560
  - app/components/avo/index/resource_grid_component.html.erb
@@ -1548,8 +1565,12 @@ files:
1548
1565
  - app/components/avo/index/resource_table_component.rb
1549
1566
  - app/components/avo/index/table_row_component.html.erb
1550
1567
  - app/components/avo/index/table_row_component.rb
1551
- - app/components/avo/item_switcher_component.html.erb
1552
- - 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
1553
1574
  - app/components/avo/loading_component.html.erb
1554
1575
  - app/components/avo/loading_component.rb
1555
1576
  - app/components/avo/modal_component.html.erb
@@ -1572,8 +1593,6 @@ files:
1572
1593
  - app/components/avo/sidebar/group_component.rb
1573
1594
  - app/components/avo/sidebar/heading_component.html.erb
1574
1595
  - app/components/avo/sidebar/heading_component.rb
1575
- - app/components/avo/sidebar/item_switcher_component.html.erb
1576
- - app/components/avo/sidebar/item_switcher_component.rb
1577
1596
  - app/components/avo/sidebar/link_component.html.erb
1578
1597
  - app/components/avo/sidebar/link_component.rb
1579
1598
  - app/components/avo/sidebar/section_component.html.erb
@@ -1599,15 +1618,12 @@ files:
1599
1618
  - app/controllers/avo/associations_controller.rb
1600
1619
  - app/controllers/avo/attachments_controller.rb
1601
1620
  - app/controllers/avo/base_controller.rb
1602
- - app/controllers/avo/dashboards/cards_controller.rb
1603
- - app/controllers/avo/dashboards_controller.rb
1604
1621
  - app/controllers/avo/debug_controller.rb
1605
1622
  - app/controllers/avo/home_controller.rb
1606
1623
  - app/controllers/avo/private_controller.rb
1607
- - app/controllers/avo/reorder_controller.rb
1608
1624
  - app/controllers/avo/resources_controller.rb
1609
1625
  - app/controllers/avo/search_controller.rb
1610
- - app/controllers/avo/team_users_controller.rb
1626
+ - app/controllers/concerns/avo/initializes_avo.rb
1611
1627
  - app/helpers/avo/application_helper.rb
1612
1628
  - app/helpers/avo/resources_helper.rb
1613
1629
  - app/helpers/avo/url_helpers.rb
@@ -1616,9 +1632,9 @@ files:
1616
1632
  - app/javascript/js/application.js
1617
1633
  - app/javascript/js/controllers.js
1618
1634
  - app/javascript/js/controllers/action_controller.js
1635
+ - app/javascript/js/controllers/actions_overflow_controller.js
1619
1636
  - app/javascript/js/controllers/actions_picker_controller.js
1620
1637
  - app/javascript/js/controllers/attachments_controller.js
1621
- - app/javascript/js/controllers/base_controller.js
1622
1638
  - app/javascript/js/controllers/boolean_filter_controller.js
1623
1639
  - app/javascript/js/controllers/copy_to_clipboard_controller.js
1624
1640
  - app/javascript/js/controllers/dashboard_card_controller.js
@@ -1629,11 +1645,11 @@ files:
1629
1645
  - app/javascript/js/controllers/fields/key_value_controller.js
1630
1646
  - app/javascript/js/controllers/fields/progress_bar_field_controller.js
1631
1647
  - app/javascript/js/controllers/fields/reload_belongs_to_field_controller.js
1632
- - app/javascript/js/controllers/fields/tags_field_controller.js
1633
1648
  - app/javascript/js/controllers/fields/tags_field_helpers.js
1634
1649
  - app/javascript/js/controllers/fields/trix_field_controller.js
1635
1650
  - app/javascript/js/controllers/filter_controller.js
1636
1651
  - app/javascript/js/controllers/hidden_input_controller.js
1652
+ - app/javascript/js/controllers/input_autofocus_controller.js
1637
1653
  - app/javascript/js/controllers/item_select_all_controller.js
1638
1654
  - app/javascript/js/controllers/item_selector_controller.js
1639
1655
  - app/javascript/js/controllers/loading_button_controller.js
@@ -1641,17 +1657,20 @@ files:
1641
1657
  - app/javascript/js/controllers/modal_controller.js
1642
1658
  - app/javascript/js/controllers/multiple_select_filter_controller.js
1643
1659
  - app/javascript/js/controllers/per_page_controller.js
1660
+ - app/javascript/js/controllers/preview_controller.js
1644
1661
  - app/javascript/js/controllers/resource_edit_controller.js
1645
1662
  - app/javascript/js/controllers/resource_index_controller.js
1646
1663
  - app/javascript/js/controllers/resource_show_controller.js
1647
1664
  - app/javascript/js/controllers/search_controller.js
1648
1665
  - app/javascript/js/controllers/select_controller.js
1649
1666
  - app/javascript/js/controllers/select_filter_controller.js
1667
+ - app/javascript/js/controllers/self_destroy_controller.js
1650
1668
  - app/javascript/js/controllers/sidebar_controller.js
1651
1669
  - app/javascript/js/controllers/tabs_controller.js
1652
1670
  - app/javascript/js/controllers/text_filter_controller.js
1653
1671
  - app/javascript/js/controllers/tippy_controller.js
1654
- - app/javascript/js/controllers/toggle_panel_controller.js
1672
+ - app/javascript/js/controllers/toggle_controller.js
1673
+ - app/javascript/js/custom-stream-actions.js
1655
1674
  - app/javascript/js/helpers/cast_boolean.js
1656
1675
  - app/javascript/js/helpers/debounce_promise.js
1657
1676
  - app/views/avo/actions/show.html.erb
@@ -1667,14 +1686,11 @@ files:
1667
1686
  - app/views/avo/base/edit.html.erb
1668
1687
  - app/views/avo/base/index.html.erb
1669
1688
  - app/views/avo/base/new.html.erb
1689
+ - app/views/avo/base/preview.html.erb
1670
1690
  - app/views/avo/base/show.html.erb
1671
- - app/views/avo/dashboards/cards/_chartkick_card.html.erb
1672
- - app/views/avo/dashboards/cards/_metric_card.html.erb
1673
- - app/views/avo/dashboards/cards/chartkick_missing.html.erb
1674
- - app/views/avo/dashboards/cards/show.html.erb
1675
- - app/views/avo/dashboards/show.html.erb
1676
- - app/views/avo/debug/index.html.erb
1691
+ - app/views/avo/debug/_valid_indicator.html.erb
1677
1692
  - app/views/avo/debug/report.html.erb
1693
+ - app/views/avo/debug/status.html.erb
1678
1694
  - app/views/avo/home/_actions.html.erb
1679
1695
  - app/views/avo/home/_dashboards.html.erb
1680
1696
  - app/views/avo/home/_docs.html.erb
@@ -1686,7 +1702,6 @@ files:
1686
1702
  - app/views/avo/partials/_custom_tools_alert.html.erb
1687
1703
  - app/views/avo/partials/_flash_alerts.turbo_stream.erb
1688
1704
  - app/views/avo/partials/_footer.html.erb
1689
- - app/views/avo/partials/_global_search.html.erb
1690
1705
  - app/views/avo/partials/_head.html.erb
1691
1706
  - app/views/avo/partials/_header.html.erb
1692
1707
  - app/views/avo/partials/_javascript.html.erb
@@ -1703,7 +1718,6 @@ files:
1703
1718
  - app/views/avo/private/_links_and_buttons.html.erb
1704
1719
  - app/views/avo/private/design.html.erb
1705
1720
  - app/views/avo/sidebar/_license_warning.html.erb
1706
- - app/views/avo/sidebar/_license_warnings.html.erb
1707
1721
  - app/views/layouts/avo/_filter_wrapper.html.erb
1708
1722
  - app/views/layouts/avo/application.html.erb
1709
1723
  - avo.gemspec
@@ -1720,42 +1734,40 @@ files:
1720
1734
  - config/credentials.yml.enc
1721
1735
  - config/i18n-tasks.yml
1722
1736
  - config/initializers/pagy.rb
1737
+ - config/master.key
1723
1738
  - config/routes.rb
1724
1739
  - config/spring.rb
1725
1740
  - db/factories.rb
1726
1741
  - lib/avo.rb
1727
- - lib/avo/action_model.rb
1728
- - lib/avo/app.rb
1742
+ - lib/avo/asset_manager.rb
1729
1743
  - lib/avo/base_action.rb
1730
- - lib/avo/base_card.rb
1731
1744
  - lib/avo/base_resource.rb
1732
1745
  - lib/avo/base_resource_tool.rb
1746
+ - lib/avo/concerns/borrow_items_holder.rb
1733
1747
  - lib/avo/concerns/breadcrumbs.rb
1734
- - lib/avo/concerns/can_replace_fields.rb
1735
- - lib/avo/concerns/fetches_things.rb
1748
+ - lib/avo/concerns/can_replace_items.rb
1736
1749
  - lib/avo/concerns/filters_session_handler.rb
1737
- - lib/avo/concerns/handles_field_args.rb
1738
- - lib/avo/concerns/has_editable_controls.rb
1739
- - lib/avo/concerns/has_fields.rb
1740
- - 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
1741
1755
  - lib/avo/concerns/has_stimulus_controllers.rb
1756
+ - lib/avo/concerns/hydration.rb
1742
1757
  - lib/avo/concerns/is_resource_item.rb
1758
+ - lib/avo/concerns/is_visible.rb
1743
1759
  - lib/avo/concerns/model_class_constantized.rb
1744
- - lib/avo/concerns/policy_helpers.rb
1745
- - lib/avo/concerns/visible_in_dashboard.rb
1760
+ - lib/avo/concerns/pagination.rb
1761
+ - lib/avo/concerns/visible_in_different_views.rb
1746
1762
  - lib/avo/concerns/visible_items.rb
1747
1763
  - lib/avo/configuration.rb
1748
1764
  - lib/avo/configuration/branding.rb
1749
1765
  - lib/avo/configuration/resource_configuration.rb
1750
- - lib/avo/dashboards/base_dashboard.rb
1751
- - lib/avo/dashboards/base_divider.rb
1752
- - lib/avo/dashboards/chartkick_card.rb
1753
- - lib/avo/dashboards/dashboard_card.rb
1754
- - lib/avo/dashboards/metric_card.rb
1755
- - lib/avo/dashboards/partial_card.rb
1766
+ - lib/avo/current.rb
1756
1767
  - lib/avo/dsl/field_parser.rb
1757
1768
  - lib/avo/dynamic_router.rb
1758
1769
  - lib/avo/engine.rb
1770
+ - lib/avo/error_manager.rb
1759
1771
  - lib/avo/execution_context.rb
1760
1772
  - lib/avo/fields/area_field.rb
1761
1773
  - lib/avo/fields/badge_field.rb
@@ -1765,18 +1777,22 @@ files:
1765
1777
  - lib/avo/fields/boolean_group_field.rb
1766
1778
  - lib/avo/fields/code_field.rb
1767
1779
  - lib/avo/fields/concerns/file_authorization.rb
1780
+ - lib/avo/fields/concerns/handles_field_args.rb
1768
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
1769
1784
  - lib/avo/fields/concerns/is_disabled.rb
1770
1785
  - lib/avo/fields/concerns/is_readonly.rb
1771
1786
  - lib/avo/fields/concerns/is_required.rb
1787
+ - lib/avo/fields/concerns/is_searchable.rb
1772
1788
  - lib/avo/fields/concerns/use_resource.rb
1789
+ - lib/avo/fields/concerns/use_view_components.rb
1773
1790
  - lib/avo/fields/country_field.rb
1774
1791
  - lib/avo/fields/date_field.rb
1775
1792
  - lib/avo/fields/date_time_field.rb
1776
1793
  - lib/avo/fields/external_image_field.rb
1777
- - lib/avo/fields/field_extensions/has_field_name.rb
1778
1794
  - lib/avo/fields/field_extensions/has_include_blank.rb
1779
- - lib/avo/fields/field_extensions/visible_in_different_views.rb
1795
+ - lib/avo/fields/field_manager.rb
1780
1796
  - lib/avo/fields/file_field.rb
1781
1797
  - lib/avo/fields/files_field.rb
1782
1798
  - lib/avo/fields/gravatar_field.rb
@@ -1792,10 +1808,10 @@ files:
1792
1808
  - lib/avo/fields/markdown_field.rb
1793
1809
  - lib/avo/fields/number_field.rb
1794
1810
  - lib/avo/fields/password_field.rb
1811
+ - lib/avo/fields/preview_field.rb
1795
1812
  - lib/avo/fields/progress_bar_field.rb
1796
1813
  - lib/avo/fields/select_field.rb
1797
1814
  - lib/avo/fields/status_field.rb
1798
- - lib/avo/fields/tags_field.rb
1799
1815
  - lib/avo/fields/text_field.rb
1800
1816
  - lib/avo/fields/textarea_field.rb
1801
1817
  - lib/avo/fields/time_field.rb
@@ -1805,25 +1821,12 @@ files:
1805
1821
  - lib/avo/filters/multiple_select_filter.rb
1806
1822
  - lib/avo/filters/select_filter.rb
1807
1823
  - lib/avo/filters/text_filter.rb
1808
- - lib/avo/grid_collector.rb
1809
1824
  - lib/avo/grid_fields/body_field.rb
1810
1825
  - lib/avo/grid_fields/grid_field.rb
1811
1826
  - lib/avo/grid_fields/preview_field.rb
1812
1827
  - lib/avo/grid_fields/title_field.rb
1813
- - lib/avo/hosts/association_scope_host.rb
1814
- - lib/avo/hosts/base_host.rb
1815
- - lib/avo/hosts/card_visibility.rb
1816
- - lib/avo/hosts/dashboard_card.rb
1817
- - lib/avo/hosts/dashboard_visibility.rb
1818
- - lib/avo/hosts/ordering.rb
1819
- - lib/avo/hosts/record_host.rb
1820
- - lib/avo/hosts/resource_record_host.rb
1821
- - lib/avo/hosts/resource_view_record_host.rb
1822
- - lib/avo/hosts/search_scope_host.rb
1823
- - lib/avo/hosts/view_record_host.rb
1824
- - lib/avo/hosts/visibility_host.rb
1825
1828
  - lib/avo/html/builder.rb
1826
- - lib/avo/items_holder.rb
1829
+ - lib/avo/item_grapher.rb
1827
1830
  - lib/avo/licensing/community_license.rb
1828
1831
  - lib/avo/licensing/h_q.rb
1829
1832
  - lib/avo/licensing/license.rb
@@ -1834,49 +1837,44 @@ files:
1834
1837
  - lib/avo/loaders/fields_loader.rb
1835
1838
  - lib/avo/loaders/filters_loader.rb
1836
1839
  - lib/avo/loaders/loader.rb
1837
- - lib/avo/main_panel.rb
1838
- - lib/avo/menu/base_item.rb
1839
- - lib/avo/menu/builder.rb
1840
- - lib/avo/menu/dashboard.rb
1841
- - lib/avo/menu/group.rb
1842
- - lib/avo/menu/link.rb
1843
- - lib/avo/menu/menu.rb
1844
- - lib/avo/menu/resource.rb
1845
- - lib/avo/menu/section.rb
1846
- - lib/avo/panel.rb
1847
- - lib/avo/panel_builder.rb
1840
+ - lib/avo/plugin.rb
1841
+ - lib/avo/plugin_manager.rb
1842
+ - lib/avo/prefixed_test_helpers.rb
1848
1843
  - lib/avo/reloader.rb
1849
- - lib/avo/resources/controls/action.rb
1850
1844
  - lib/avo/resources/controls/actions_list.rb
1845
+ - lib/avo/resources/controls/attach_button.rb
1851
1846
  - lib/avo/resources/controls/back_button.rb
1852
1847
  - lib/avo/resources/controls/base_control.rb
1848
+ - lib/avo/resources/controls/create_button.rb
1853
1849
  - lib/avo/resources/controls/delete_button.rb
1854
1850
  - lib/avo/resources/controls/detach_button.rb
1855
1851
  - lib/avo/resources/controls/edit_button.rb
1856
- - lib/avo/resources/controls/execution_context.rb
1857
- - lib/avo/resources/controls/items_holder.rb
1858
- - lib/avo/resources/controls/link_to.rb
1859
- - lib/avo/row.rb
1860
- - lib/avo/row_builder.rb
1861
- - lib/avo/services/authorization_clients/nil_client.rb
1862
- - 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
1863
1864
  - lib/avo/services/authorization_service.rb
1865
+ - lib/avo/services/debug_service.rb
1864
1866
  - lib/avo/services/encryption_service.rb
1867
+ - lib/avo/services/telemetry_service.rb
1865
1868
  - lib/avo/services/uri_service.rb
1866
- - lib/avo/sidebar.rb
1867
- - lib/avo/sidebar_builder.rb
1868
1869
  - lib/avo/svg_finder.rb
1869
- - lib/avo/tab.rb
1870
- - lib/avo/tab_builder.rb
1871
- - lib/avo/tab_group.rb
1872
- - lib/avo/tab_group_builder.rb
1873
- - lib/avo/tools_manager.rb
1870
+ - lib/avo/test_helpers.rb
1871
+ - lib/avo/tools/tool_manager.rb
1874
1872
  - lib/avo/version.rb
1873
+ - lib/avo/view_inquirer.rb
1875
1874
  - lib/generators/avo/action_generator.rb
1876
1875
  - lib/generators/avo/base_generator.rb
1877
- - lib/generators/avo/card/chartkick_generator.rb
1878
- - lib/generators/avo/card/metric_generator.rb
1879
- - lib/generators/avo/card/partial_generator.rb
1876
+ - lib/generators/avo/card_generator.rb
1877
+ - lib/generators/avo/concerns/parent_controller.rb
1880
1878
  - lib/generators/avo/controller_generator.rb
1881
1879
  - lib/generators/avo/dashboard_generator.rb
1882
1880
  - lib/generators/avo/eject_generator.rb
@@ -1888,6 +1886,7 @@ files:
1888
1886
  - lib/generators/avo/named_base_generator.rb
1889
1887
  - lib/generators/avo/resource_generator.rb
1890
1888
  - lib/generators/avo/resource_tool_generator.rb
1889
+ - lib/generators/avo/scope_generator.rb
1891
1890
  - lib/generators/avo/tailwindcss/install_generator.rb
1892
1891
  - lib/generators/avo/templates/action.tt
1893
1892
  - lib/generators/avo/templates/cards/chartkick_card.tt
@@ -1910,9 +1909,9 @@ files:
1910
1909
  - lib/generators/avo/templates/filters/select_filter.tt
1911
1910
  - lib/generators/avo/templates/filters/text_filter.tt
1912
1911
  - lib/generators/avo/templates/initializer/avo.tt
1913
- - lib/generators/avo/templates/js/avo.custom.js
1914
1912
  - lib/generators/avo/templates/locales/avo.ar.yml
1915
1913
  - lib/generators/avo/templates/locales/avo.en.yml
1914
+ - lib/generators/avo/templates/locales/avo.es.yml
1916
1915
  - lib/generators/avo/templates/locales/avo.fr.yml
1917
1916
  - lib/generators/avo/templates/locales/avo.nb.yml
1918
1917
  - lib/generators/avo/templates/locales/avo.nn.yml
@@ -1926,9 +1925,10 @@ files:
1926
1925
  - lib/generators/avo/templates/resource/resource.tt
1927
1926
  - lib/generators/avo/templates/resource_tools/partial.tt
1928
1927
  - lib/generators/avo/templates/resource_tools/resource_tool.tt
1929
- - lib/generators/avo/templates/standalone_action.tt
1928
+ - lib/generators/avo/templates/scope.tt
1930
1929
  - lib/generators/avo/templates/tailwindcss/Procfile.dev
1931
1930
  - lib/generators/avo/templates/tailwindcss/avo.tailwind.css
1931
+ - lib/generators/avo/templates/tailwindcss/tailwind.config.js
1932
1932
  - lib/generators/avo/templates/tool/controller.tt
1933
1933
  - lib/generators/avo/templates/tool/sidebar_item.tt
1934
1934
  - lib/generators/avo/templates/tool/view.tt
@@ -1941,6 +1941,9 @@ files:
1941
1941
  - public/avo-assets/avo.base.css
1942
1942
  - public/avo-assets/avo.base.js
1943
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
1944
1947
  - public/avo-assets/favicon.ico
1945
1948
  - public/avo-assets/fonts/inter-v7-latin-500.eot
1946
1949
  - public/avo-assets/fonts/inter-v7-latin-500.svg
@@ -1966,6 +1969,8 @@ files:
1966
1969
  - public/avo-assets/logo.png
1967
1970
  - public/avo-assets/logomark.png
1968
1971
  - public/avo-assets/placeholder.svg
1972
+ - tailwind.custom.js
1973
+ - tailwind.preset.js
1969
1974
  homepage: https://avohq.io
1970
1975
  licenses:
1971
1976
  - Commercial
@@ -1983,14 +1988,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
1983
1988
  requirements:
1984
1989
  - - ">="
1985
1990
  - !ruby/object:Gem::Version
1986
- version: 2.6.0
1991
+ version: 3.0.0
1987
1992
  required_rubygems_version: !ruby/object:Gem::Requirement
1988
1993
  requirements:
1989
1994
  - - ">="
1990
1995
  - !ruby/object:Gem::Version
1991
1996
  version: '0'
1992
1997
  requirements: []
1993
- rubygems_version: 3.3.3
1998
+ rubygems_version: 3.4.6
1994
1999
  signing_key:
1995
2000
  specification_version: 4
1996
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 %>