avo 2.48.0 → 3.0.0.beta1
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.
- checksums.yaml +4 -4
- data/Gemfile +26 -25
- data/Gemfile.lock +179 -147
- data/README.md +1 -1
- data/app/assets/stylesheets/avo.base.css +0 -1
- data/app/assets/svgs/font.svg +1 -0
- data/app/assets/svgs/triangle-up.svg +1 -0
- data/app/components/avo/actions_component.html.erb +19 -5
- data/app/components/avo/actions_component.rb +37 -17
- data/app/components/avo/asset_manager/javascript_component.html.erb +3 -0
- data/app/components/avo/asset_manager/javascript_component.rb +13 -0
- data/app/components/avo/asset_manager/stylesheet_component.html.erb +3 -0
- data/app/components/avo/asset_manager/stylesheet_component.rb +13 -0
- data/app/components/avo/base_component.rb +15 -12
- data/app/components/avo/button_component.rb +20 -3
- data/app/components/avo/empty_state_component.rb +1 -1
- data/app/components/avo/field_wrapper_component.html.erb +1 -1
- data/app/components/avo/field_wrapper_component.rb +15 -26
- data/app/components/avo/fields/area_field/edit_component.html.erb +2 -2
- data/app/components/avo/fields/belongs_to_field/edit_component.html.erb +96 -118
- data/app/components/avo/fields/belongs_to_field/edit_component.rb +6 -17
- data/app/components/avo/fields/belongs_to_field/index_component.html.erb +1 -1
- data/app/components/avo/fields/belongs_to_field/show_component.rb +2 -2
- data/app/components/avo/fields/boolean_field/edit_component.html.erb +1 -1
- data/app/components/avo/fields/boolean_group_field/edit_component.html.erb +3 -3
- data/app/components/avo/fields/common/badge_viewer_component.html.erb +24 -1
- data/app/components/avo/fields/common/badge_viewer_component.rb +0 -24
- data/app/components/avo/fields/common/boolean_group_component.html.erb +2 -2
- data/app/components/avo/fields/common/files/list_viewer_component.rb +3 -3
- data/app/components/avo/fields/common/files/view_type/{grid_item_component.html.erb → grid_component.html.erb} +2 -2
- data/app/components/avo/fields/common/files/view_type/{grid_item_component.rb → grid_component.rb} +4 -5
- data/app/components/avo/fields/common/files/view_type/{list_item_component.rb → list_component.rb} +1 -1
- data/app/components/avo/fields/edit_component.rb +1 -1
- data/app/components/avo/fields/file_field/edit_component.html.erb +1 -1
- data/app/components/avo/fields/file_field/show_component.html.erb +1 -1
- data/app/components/avo/fields/has_one_field/index_component.html.erb +1 -1
- data/app/components/avo/fields/has_one_field/show_component.html.erb +3 -2
- data/app/components/avo/fields/has_one_field/show_component.rb +2 -2
- data/app/components/avo/fields/hidden_field/edit_component.html.erb +1 -2
- data/app/components/avo/fields/index_component.rb +5 -5
- data/app/components/avo/fields/preview_field/index_component.html.erb +10 -0
- data/app/components/avo/fields/preview_field/index_component.rb +4 -0
- data/app/components/avo/fields/select_field/edit_component.html.erb +1 -1
- data/app/components/avo/fields/show_component.rb +4 -1
- data/app/components/avo/fields/trix_field/edit_component.rb +1 -1
- data/app/components/avo/filters_component.html.erb +9 -3
- data/app/components/avo/filters_component.rb +4 -4
- data/app/components/avo/index/field_wrapper_component.rb +0 -12
- data/app/components/avo/index/grid_item_component.html.erb +13 -36
- data/app/components/avo/index/grid_item_component.rb +43 -16
- data/app/components/avo/index/resource_controls_component.html.erb +3 -81
- data/app/components/avo/index/resource_controls_component.rb +124 -17
- data/app/components/avo/index/resource_grid_component.html.erb +5 -3
- data/app/components/avo/index/resource_grid_component.rb +5 -2
- data/app/components/avo/index/resource_map_component.html.erb +1 -1
- data/app/components/avo/index/resource_map_component.rb +3 -3
- data/app/components/avo/index/resource_table_component.html.erb +5 -4
- data/app/components/avo/index/resource_table_component.rb +14 -20
- data/app/components/avo/index/table_row_component.html.erb +8 -4
- data/app/components/avo/index/table_row_component.rb +3 -2
- data/app/components/avo/item_switcher_component.rb +2 -2
- data/app/components/avo/modal_component.html.erb +7 -12
- data/app/components/avo/modal_component.rb +0 -21
- data/app/components/avo/paginator_component.html.erb +40 -29
- data/app/components/avo/paginator_component.rb +5 -23
- data/app/components/avo/panel_component.html.erb +8 -6
- data/app/components/avo/referrer_params_component.html.erb +1 -2
- data/app/components/avo/resource_component.rb +189 -14
- data/app/components/avo/resource_sidebar_component.html.erb +6 -2
- data/app/components/avo/resource_sidebar_component.rb +1 -1
- data/app/components/avo/sidebar/link_component.rb +1 -1
- data/app/components/avo/sidebar_component.html.erb +10 -3
- data/app/components/avo/sidebar_component.rb +5 -3
- data/app/components/avo/sidebar_profile_component.html.erb +15 -8
- data/app/components/avo/tab_group_component.html.erb +13 -7
- data/app/components/avo/tab_group_component.rb +1 -6
- data/app/components/avo/tab_switcher_component.html.erb +17 -40
- data/app/components/avo/tab_switcher_component.rb +4 -39
- data/app/components/avo/views/resource_edit_component.html.erb +12 -48
- data/app/components/avo/views/resource_edit_component.rb +7 -18
- data/app/components/avo/views/resource_index_component.html.erb +41 -47
- data/app/components/avo/views/resource_index_component.rb +62 -12
- data/app/components/avo/views/resource_show_component.html.erb +6 -149
- data/app/components/avo/views/resource_show_component.rb +6 -11
- data/app/controllers/avo/actions_controller.rb +27 -24
- data/app/controllers/avo/application_controller.rb +105 -151
- data/app/controllers/avo/associations_controller.rb +34 -43
- data/app/controllers/avo/attachments_controller.rb +4 -4
- data/app/controllers/avo/base_controller.rb +102 -102
- data/app/controllers/avo/debug_controller.rb +17 -5
- data/app/controllers/avo/home_controller.rb +1 -1
- data/app/controllers/avo/search_controller.rb +30 -51
- data/app/controllers/avo/team_users_controller.rb +4 -0
- data/app/controllers/concerns/avo/initializes_avo.rb +21 -0
- data/app/helpers/avo/application_helper.rb +15 -9
- data/app/helpers/avo/resources_helper.rb +1 -1
- data/app/helpers/avo/url_helpers.rb +27 -11
- data/app/javascript/avo.base.js +1 -0
- data/app/javascript/js/application.js +0 -3
- data/app/javascript/js/controllers/action_controller.js +5 -3
- data/app/javascript/js/controllers/actions_overflow_controller.js +62 -0
- data/app/javascript/js/controllers/fields/key_value_controller.js +1 -2
- data/app/javascript/js/controllers/filter_controller.js +1 -1
- data/app/javascript/js/controllers/input_autofocus_controller.js +12 -0
- data/app/javascript/js/controllers/preview_controller.js +24 -0
- data/app/javascript/js/controllers/search_controller.js +2 -2
- data/app/javascript/js/controllers/self_destroy_controller.js +7 -0
- data/app/javascript/js/controllers/toggle_controller.js +48 -0
- data/app/javascript/js/controllers.js +10 -6
- data/app/javascript/js/custom-stream-actions.js +15 -0
- data/app/views/avo/actions/keep_modal_open.turbo_stream.erb +5 -0
- data/app/views/avo/actions/show.html.erb +10 -7
- data/app/views/avo/associations/new.html.erb +2 -2
- data/app/views/avo/base/index.html.erb +3 -2
- data/app/views/avo/base/new.html.erb +2 -1
- data/app/views/avo/base/preview.html.erb +19 -0
- data/app/views/avo/base/show.html.erb +1 -1
- data/app/views/avo/debug/_valid_indicator.html.erb +9 -0
- data/app/views/avo/debug/report.html.erb +32 -17
- data/app/views/avo/debug/{index.html.erb → status.html.erb} +31 -14
- data/app/views/avo/partials/_custom_tools_alert.html.erb +2 -2
- data/app/views/avo/partials/_footer.html.erb +1 -1
- data/app/views/avo/partials/_javascript.html.erb +5 -0
- data/app/views/avo/partials/_logo.html.erb +1 -1
- data/app/views/avo/partials/_navbar.html.erb +3 -5
- data/app/views/avo/partials/_table_header.html.erb +5 -11
- data/app/views/layouts/avo/application.html.erb +4 -2
- data/avo.gemspec +7 -7
- data/bin/dev +1 -1
- data/bin/prod +0 -0
- data/config/i18n-tasks.yml +1 -1
- data/config/initializers/pagy.rb +0 -2
- data/config/master.key +1 -0
- data/config/routes.rb +6 -10
- data/db/factories.rb +7 -1
- data/lib/avo/action_model.rb +20 -0
- data/lib/avo/asset_manager.rb +30 -0
- data/lib/avo/base_action.rb +57 -42
- data/lib/avo/base_resource.rb +264 -227
- data/lib/avo/base_resource_tool.rb +9 -16
- data/lib/avo/concerns/breadcrumbs.rb +2 -2
- data/lib/avo/concerns/{can_replace_fields.rb → can_replace_items.rb} +5 -9
- data/lib/avo/concerns/filters_session_handler.rb +5 -3
- data/lib/avo/concerns/has_controls.rb +37 -0
- data/lib/avo/concerns/has_description.rb +23 -0
- data/lib/avo/concerns/has_item_type.rb +42 -0
- data/lib/avo/concerns/has_items.rb +325 -0
- data/lib/avo/concerns/{has_resource_stimulus_controllers.rb → has_stimulus_controllers.rb} +1 -1
- data/lib/avo/concerns/is_resource_item.rb +24 -36
- data/lib/avo/concerns/is_visible.rb +15 -0
- data/lib/avo/concerns/model_class_constantized.rb +0 -2
- data/lib/avo/concerns/visible_in_different_views.rb +126 -0
- data/lib/avo/configuration/branding.rb +0 -12
- data/lib/avo/configuration.rb +1 -37
- data/lib/avo/current.rb +39 -0
- data/lib/avo/dsl/field_parser.rb +1 -1
- data/lib/avo/dynamic_router.rb +18 -3
- data/lib/avo/engine.rb +35 -30
- data/lib/avo/error_manager.rb +25 -0
- data/lib/avo/execution_context.rb +10 -14
- data/lib/avo/fields/badge_field.rb +1 -1
- data/lib/avo/fields/base_field.rb +91 -106
- data/lib/avo/fields/belongs_to_field.rb +18 -22
- data/lib/avo/fields/concerns/file_authorization.rb +2 -2
- data/lib/avo/fields/concerns/handles_field_args.rb +49 -0
- data/lib/avo/fields/concerns/has_default.rb +1 -5
- data/lib/avo/fields/concerns/has_field_name.rb +22 -0
- data/lib/avo/fields/concerns/has_html_attributes.rb +110 -0
- data/lib/avo/fields/concerns/is_disabled.rb +1 -5
- data/lib/avo/fields/concerns/is_readonly.rb +1 -5
- data/lib/avo/fields/concerns/is_required.rb +5 -7
- data/lib/avo/fields/concerns/is_searchable.rb +13 -0
- data/lib/avo/fields/concerns/use_resource.rb +5 -1
- data/lib/avo/fields/country_field.rb +4 -0
- data/lib/avo/fields/date_time_field.rb +1 -5
- data/lib/avo/fields/field_manager.rb +55 -0
- data/lib/avo/fields/has_and_belongs_to_many_field.rb +1 -2
- data/lib/avo/fields/has_base_field.rb +12 -15
- data/lib/avo/fields/has_many_field.rb +5 -2
- data/lib/avo/fields/has_one_field.rb +6 -10
- data/lib/avo/fields/heading_field.rb +4 -1
- data/lib/avo/fields/hidden_field.rb +1 -1
- data/lib/avo/fields/id_field.rb +1 -1
- data/lib/avo/fields/location_field.rb +8 -8
- data/lib/avo/fields/password_field.rb +1 -1
- data/lib/avo/fields/preview_field.rb +14 -0
- data/lib/avo/fields/select_field.rb +12 -8
- data/lib/avo/fields/status_field.rb +4 -0
- data/lib/avo/filters/base_filter.rb +8 -4
- data/lib/avo/html/builder.rb +7 -8
- data/lib/avo/item_grapher.rb +78 -0
- data/lib/avo/licensing/h_q.rb +8 -67
- data/lib/avo/licensing/license.rb +1 -1
- data/lib/avo/licensing/pro_license.rb +1 -7
- data/lib/avo/loaders/fields_loader.rb +7 -1
- data/lib/avo/plugin.rb +16 -0
- data/lib/avo/plugin_manager.rb +56 -0
- data/lib/avo/prefixed_test_helpers.rb +20 -0
- data/lib/avo/reloader.rb +3 -0
- data/lib/avo/resources/controls/actions_list.rb +7 -12
- data/lib/avo/resources/controls/attach_button.rb +15 -0
- data/lib/avo/resources/controls/back_button.rb +1 -1
- data/lib/avo/resources/controls/base_control.rb +15 -49
- data/lib/avo/resources/controls/create_button.rb +15 -0
- data/lib/avo/resources/controls/delete_button.rb +5 -1
- data/lib/avo/resources/controls/detach_button.rb +4 -1
- data/lib/avo/resources/controls/edit_button.rb +4 -1
- data/lib/avo/resources/controls/order_controls.rb +8 -0
- data/lib/avo/resources/controls/save_button.rb +13 -0
- data/lib/avo/resources/controls/show_button.rb +15 -0
- data/lib/avo/resources/items/holder.rb +84 -0
- data/lib/avo/resources/items/item_group.rb +49 -0
- data/lib/avo/resources/items/main_panel.rb +2 -0
- data/lib/avo/resources/items/panel.rb +2 -0
- data/lib/avo/resources/items/row.rb +54 -0
- data/lib/avo/resources/items/sidebar.rb +47 -0
- data/lib/avo/resources/items/tab.rb +60 -0
- data/lib/avo/resources/items/tab_group.rb +68 -0
- data/lib/avo/resources/resource_manager.rb +174 -0
- data/lib/avo/services/authorization_service.rb +11 -110
- data/lib/avo/services/debug_service.rb +93 -0
- data/lib/avo/services/encryption_service.rb +5 -1
- data/lib/avo/services/telemetry_service.rb +85 -0
- data/lib/avo/test_helpers.rb +362 -0
- data/lib/avo/tools/tool_manager.rb +30 -0
- data/lib/avo/version.rb +1 -1
- data/lib/avo.rb +115 -24
- data/lib/generators/avo/action_generator.rb +8 -8
- data/lib/generators/avo/card_generator.rb +27 -0
- data/lib/generators/avo/filter_generator.rb +8 -8
- data/lib/generators/avo/resource_generator.rb +4 -4
- data/lib/generators/avo/scope_generator.rb +15 -0
- data/lib/generators/avo/tailwindcss/install_generator.rb +1 -15
- data/lib/generators/avo/templates/action.tt +8 -6
- data/lib/generators/avo/templates/cards/chartkick_card.tt +1 -1
- data/lib/generators/avo/templates/cards/chartkick_card_sample.tt +1 -1
- data/lib/generators/avo/templates/cards/metric_card.tt +1 -1
- data/lib/generators/avo/templates/cards/metric_card_sample.tt +1 -1
- data/lib/generators/avo/templates/cards/partial_card.tt +1 -1
- data/lib/generators/avo/templates/cards/partial_card_sample.tt +1 -1
- data/lib/generators/avo/templates/dashboards/dashboard.tt +5 -3
- data/lib/generators/avo/templates/field/%singular_name%_field.rb.tt +1 -1
- data/lib/generators/avo/templates/filters/boolean_filter.tt +1 -1
- data/lib/generators/avo/templates/filters/multiple_select_filter.tt +1 -1
- data/lib/generators/avo/templates/filters/select_filter.tt +1 -1
- data/lib/generators/avo/templates/filters/text_filter.tt +1 -1
- data/lib/generators/avo/templates/initializer/avo.tt +1 -9
- data/lib/generators/avo/templates/locales/avo.ar.yml +6 -6
- data/lib/generators/avo/templates/locales/avo.en.yml +4 -5
- data/lib/generators/avo/templates/locales/avo.fr.yml +1 -2
- data/lib/generators/avo/templates/locales/avo.nb.yml +1 -2
- data/lib/generators/avo/templates/locales/avo.nn.yml +1 -2
- data/lib/generators/avo/templates/locales/avo.pt-BR.yml +1 -2
- data/lib/generators/avo/templates/locales/avo.pt.yml +1 -2
- data/lib/generators/avo/templates/locales/avo.ro.yml +6 -7
- data/lib/generators/avo/templates/locales/avo.tr.yml +1 -2
- data/lib/generators/avo/templates/resource/resource.tt +7 -7
- data/lib/generators/avo/templates/resource_tools/partial.tt +4 -4
- data/lib/generators/avo/templates/resource_tools/resource_tool.tt +1 -1
- data/lib/generators/avo/templates/scope.tt +6 -0
- data/lib/generators/avo/templates/tool/view.tt +2 -2
- data/lib/tasks/avo_tasks.rake +27 -0
- data/public/avo-assets/avo.base.css +1810 -1189
- data/public/avo-assets/avo.base.js +217 -307
- data/public/avo-assets/avo.base.js.map +3 -3
- data/public/avo-assets/avo.css +9744 -0
- data/public/avo-assets/avo.js +513 -0
- data/public/avo-assets/avo.js.map +7 -0
- metadata +97 -139
- data/app/assets/stylesheets/css/tags.css +0 -32
- data/app/components/avo/card_component.html.erb +0 -46
- data/app/components/avo/card_component.rb +0 -25
- data/app/components/avo/dashboards/divider_component.html.erb +0 -9
- data/app/components/avo/dashboards/divider_component.rb +0 -19
- data/app/components/avo/fields/belongs_to_field/autocomplete_component.html.erb +0 -47
- data/app/components/avo/fields/belongs_to_field/autocomplete_component.rb +0 -95
- data/app/components/avo/fields/tags_field/edit_component.html.erb +0 -35
- data/app/components/avo/fields/tags_field/edit_component.rb +0 -4
- data/app/components/avo/fields/tags_field/index_component.html.erb +0 -10
- data/app/components/avo/fields/tags_field/index_component.rb +0 -9
- data/app/components/avo/fields/tags_field/show_component.html.erb +0 -7
- data/app/components/avo/fields/tags_field/show_component.rb +0 -5
- data/app/components/avo/fields/tags_field/tag_component.html.erb +0 -9
- data/app/components/avo/fields/tags_field/tag_component.rb +0 -11
- data/app/components/avo/index/ordering/base_component.rb +0 -9
- data/app/components/avo/index/ordering/button_component.html.erb +0 -11
- data/app/components/avo/index/ordering/button_component.rb +0 -23
- data/app/components/avo/index/ordering/buttons_component.html.erb +0 -32
- data/app/components/avo/index/ordering/buttons_component.rb +0 -47
- data/app/components/avo/sidebar/item_switcher_component.html.erb +0 -16
- data/app/components/avo/sidebar/item_switcher_component.rb +0 -15
- data/app/controllers/avo/dashboards/cards_controller.rb +0 -37
- data/app/controllers/avo/dashboards_controller.rb +0 -22
- data/app/controllers/avo/reorder_controller.rb +0 -25
- data/app/javascript/js/controllers/base_controller.js +0 -22
- data/app/javascript/js/controllers/fields/reload_belongs_to_field_controller.js +0 -51
- data/app/javascript/js/controllers/fields/tags_field_controller.js +0 -127
- data/app/javascript/js/controllers/toggle_panel_controller.js +0 -18
- data/app/views/avo/base/_new_via_belongs_to.html.erb +0 -12
- data/app/views/avo/base/close_modal_and_reload_field.turbo_stream.erb +0 -8
- data/app/views/avo/base/create_fail_action.turbo_stream.erb +0 -13
- data/app/views/avo/dashboards/cards/_chartkick_card.html.erb +0 -3
- data/app/views/avo/dashboards/cards/_metric_card.html.erb +0 -5
- data/app/views/avo/dashboards/cards/chartkick_missing.html.erb +0 -14
- data/app/views/avo/dashboards/cards/show.html.erb +0 -3
- data/app/views/avo/dashboards/show.html.erb +0 -38
- data/app/views/avo/partials/_flash_alerts.turbo_stream.erb +0 -3
- data/app/views/avo/partials/_global_search.html.erb +0 -19
- data/app/views/avo/sidebar/_license_warnings.html.erb +0 -6
- data/lib/avo/app.rb +0 -237
- data/lib/avo/base_card.rb +0 -161
- data/lib/avo/concerns/fetches_things.rb +0 -150
- data/lib/avo/concerns/handles_field_args.rb +0 -47
- data/lib/avo/concerns/has_action_stimulus_controllers.rb +0 -15
- data/lib/avo/concerns/has_editable_controls.rb +0 -34
- data/lib/avo/concerns/has_fields.rb +0 -334
- data/lib/avo/concerns/has_html_attributes.rb +0 -123
- data/lib/avo/concerns/pagination.rb +0 -53
- data/lib/avo/concerns/policy_helpers.rb +0 -31
- data/lib/avo/concerns/visible_in_dashboard.rb +0 -31
- data/lib/avo/concerns/visible_items.rb +0 -51
- data/lib/avo/dashboards/base_dashboard.rb +0 -89
- data/lib/avo/dashboards/base_divider.rb +0 -35
- data/lib/avo/dashboards/chartkick_card.rb +0 -77
- data/lib/avo/dashboards/dashboard_card.rb +0 -6
- data/lib/avo/dashboards/metric_card.rb +0 -9
- data/lib/avo/dashboards/partial_card.rb +0 -7
- data/lib/avo/fields/field_extensions/has_field_name.rb +0 -19
- data/lib/avo/fields/field_extensions/visible_in_different_views.rb +0 -111
- data/lib/avo/fields/tags_field.rb +0 -102
- data/lib/avo/grid_collector.rb +0 -42
- data/lib/avo/hosts/association_scope_host.rb +0 -8
- data/lib/avo/hosts/base_host.rb +0 -25
- data/lib/avo/hosts/card_visibility.rb +0 -20
- data/lib/avo/hosts/dashboard_card.rb +0 -22
- data/lib/avo/hosts/dashboard_visibility.rb +0 -19
- data/lib/avo/hosts/ordering.rb +0 -22
- data/lib/avo/hosts/record_host.rb +0 -7
- data/lib/avo/hosts/resource_record_host.rb +0 -7
- data/lib/avo/hosts/resource_view_record_host.rb +0 -7
- data/lib/avo/hosts/search_scope_host.rb +0 -7
- data/lib/avo/hosts/view_record_host.rb +0 -7
- data/lib/avo/hosts/visibility_host.rb +0 -12
- data/lib/avo/items_holder.rb +0 -96
- data/lib/avo/main_panel.rb +0 -3
- data/lib/avo/menu/base_item.rb +0 -25
- data/lib/avo/menu/builder.rb +0 -82
- data/lib/avo/menu/dashboard.rb +0 -22
- data/lib/avo/menu/group.rb +0 -2
- data/lib/avo/menu/link.rb +0 -6
- data/lib/avo/menu/menu.rb +0 -2
- data/lib/avo/menu/resource.rb +0 -22
- data/lib/avo/menu/section.rb +0 -2
- data/lib/avo/panel.rb +0 -24
- data/lib/avo/panel_builder.rb +0 -25
- data/lib/avo/resources/controls/action.rb +0 -38
- data/lib/avo/resources/controls/execution_context.rb +0 -58
- data/lib/avo/resources/controls/items_holder.rb +0 -19
- data/lib/avo/resources/controls/link_to.rb +0 -27
- data/lib/avo/row.rb +0 -26
- data/lib/avo/row_builder.rb +0 -24
- data/lib/avo/services/authorization_clients/nil_client.rb +0 -37
- data/lib/avo/services/authorization_clients/pundit_client.rb +0 -51
- data/lib/avo/sidebar.rb +0 -30
- data/lib/avo/sidebar_builder.rb +0 -24
- data/lib/avo/tab.rb +0 -72
- data/lib/avo/tab_builder.rb +0 -25
- data/lib/avo/tab_group.rb +0 -42
- data/lib/avo/tab_group_builder.rb +0 -43
- data/lib/avo/tools_manager.rb +0 -11
- data/lib/generators/avo/card/chartkick_generator.rb +0 -18
- data/lib/generators/avo/card/metric_generator.rb +0 -18
- data/lib/generators/avo/card/partial_generator.rb +0 -19
- data/lib/generators/avo/templates/locales/avo.es.yml +0 -126
- data/lib/generators/avo/templates/standalone_action.tt +0 -8
- /data/app/components/avo/fields/common/files/view_type/{list_item_component.html.erb → list_component.html.erb} +0 -0
@@ -39,19 +39,11 @@ module Generators
|
|
39
39
|
say "Adding the CSS asset to the partial"
|
40
40
|
prepend_to_file Rails.root.join("app", "views", "avo", "partials", "_pre_head.html.erb"), "<%= stylesheet_link_tag \"avo.tailwind.css\", media: \"all\" %>"
|
41
41
|
|
42
|
-
tailwind_script = setup_tailwind_script
|
43
42
|
say "Ensure you have the following script in your package.json file.", :yellow
|
44
|
-
say %("scripts": { "avo:tailwindcss": "
|
43
|
+
say %("scripts": { "avo:tailwindcss": "tailwindcss -i ./app/assets/stylesheets/avo.tailwind.css -o ./app/assets/builds/avo.tailwind.css --minify" }), :green
|
45
44
|
end
|
46
45
|
|
47
46
|
no_tasks do
|
48
|
-
def setup_tailwind_script
|
49
|
-
tailwind_config_path = tailwindcss_config_path()
|
50
|
-
tailwind_script = "tailwindcss -i ./app/assets/stylesheets/avo.tailwind.css -o ./app/assets/builds/avo.tailwind.css"
|
51
|
-
tailwind_script += " -c #{tailwind_config_path}" if tailwind_config_path
|
52
|
-
tailwind_script
|
53
|
-
end
|
54
|
-
|
55
47
|
def template_path(filename)
|
56
48
|
Pathname.new(__dir__).join("..", "templates", "tailwindcss", filename).to_s
|
57
49
|
end
|
@@ -59,12 +51,6 @@ module Generators
|
|
59
51
|
def tailwindcss_installed?
|
60
52
|
Rails.root.join("config", "tailwind.config.js").exist? || Rails.root.join("tailwind.config.js").exist?
|
61
53
|
end
|
62
|
-
|
63
|
-
def tailwindcss_config_path
|
64
|
-
if Rails.root.join("config", "tailwind.config.js").exist?
|
65
|
-
"./config/tailwind.config.js"
|
66
|
-
end
|
67
|
-
end
|
68
54
|
end
|
69
55
|
end
|
70
56
|
end
|
@@ -1,14 +1,16 @@
|
|
1
|
-
class
|
2
|
-
|
1
|
+
class Avo::Actions::<%= class_name.camelize %> < Avo::BaseAction
|
2
|
+
<%= configuration_options %>
|
3
3
|
# self.visible = -> do
|
4
4
|
# true
|
5
5
|
# end
|
6
6
|
|
7
|
-
def
|
8
|
-
|
7
|
+
# def fields
|
8
|
+
# # Add Action fields here
|
9
|
+
# end
|
9
10
|
|
10
|
-
|
11
|
-
|
11
|
+
def handle(records:, fields:, current_user:, resource:, **args)
|
12
|
+
records.each do |record|
|
13
|
+
# Do something with your records.
|
12
14
|
end
|
13
15
|
end
|
14
16
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class
|
1
|
+
class Avo::Cards::<%= class_name.camelize %> < Avo::Dashboards::PartialCard
|
2
2
|
self.id = "<%= name.underscore %>"
|
3
3
|
self.label = "<%= name.underscore.humanize %>"
|
4
4
|
self.partial = "avo/cards/<%= name.underscore %>"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class
|
1
|
+
class Avo::Cards::<%= class_name.camelize %> < Avo::Dashboards::PartialCard
|
2
2
|
self.id = "<%= name.underscore %>"
|
3
3
|
self.label = "<%= name.underscore.humanize %>"
|
4
4
|
self.partial = "avo/cards/<%= name.underscore %>"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class
|
1
|
+
class Avo::Dashboards::<%= class_name.camelize %> < Avo::Dashboards::BaseDashboard
|
2
2
|
self.id = "<%= name.underscore %>"
|
3
3
|
self.name = "<%= name.underscore.humanize %>"
|
4
4
|
# self.description = "Tiny dashboard description"
|
@@ -7,6 +7,8 @@ class <%= class_name.camelize %> < Avo::Dashboards::BaseDashboard
|
|
7
7
|
# true
|
8
8
|
# end
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
def cards
|
11
|
+
# cards go here
|
12
|
+
# card UsersCount
|
13
|
+
end
|
12
14
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class
|
1
|
+
class Avo::Filters::<%= class_name.camelize %> < Avo::Filters::TextFilter
|
2
2
|
self.name = "<%= name.underscore.humanize %>"
|
3
3
|
self.button_label = 'Filter by <%= class_name.underscore.humanize.downcase.gsub(' filter', '') %>'
|
4
4
|
# self.visible = -> do
|
@@ -47,18 +47,11 @@ Avo.configure do |config|
|
|
47
47
|
# config.per_page_steps = [12, 24, 48, 72]
|
48
48
|
# config.via_per_page = 8
|
49
49
|
# config.id_links_to_resource = false
|
50
|
-
|
51
|
-
## == Cache options ==
|
52
|
-
## Provide a lambda to customize the cache store used by Avo.
|
53
|
-
## We compute the cache store by default, this is NOT the default, just an example.
|
54
|
-
# config.cache_store = -> {
|
55
|
-
# ActiveSupport::Cache.lookup_store(:solid_cache_store)
|
56
|
-
# }
|
57
50
|
# config.cache_resources_on_index_view = true
|
58
51
|
## permanent enable or disable cache_resource_filters, default value is false
|
59
52
|
# config.cache_resource_filters = false
|
60
53
|
## provide a lambda to enable or disable cache_resource_filters per user/resource.
|
61
|
-
# config.cache_resource_filters = ->
|
54
|
+
# config.cache_resource_filters = -> { current_user.cache_resource_filters? }
|
62
55
|
|
63
56
|
## == Customization ==
|
64
57
|
# config.app_name = 'Avocadelicious'
|
@@ -71,7 +64,6 @@ Avo.configure do |config|
|
|
71
64
|
# config.view_component_path = "app/components"
|
72
65
|
# config.display_license_request_timeout_error = true
|
73
66
|
# config.disabled_features = []
|
74
|
-
# config.tabs_style = :tabs # can be :tabs or :pills
|
75
67
|
# config.buttons_on_form_footers = true
|
76
68
|
# config.field_wrapper_layout = true
|
77
69
|
|
@@ -1,17 +1,17 @@
|
|
1
1
|
---
|
2
2
|
ar:
|
3
3
|
avo:
|
4
|
-
action_ran_successfully: تم تنفيذ الأمر بنجاح!
|
4
|
+
action_ran_successfully: 'تم تنفيذ الأمر بنجاح!'
|
5
5
|
actions: أوامر
|
6
6
|
and_x_other_resources: و %{count} موارد أخرى
|
7
7
|
are_you_sure: هل أنت متأكد؟
|
8
|
-
are_you_sure_detach_item: هل أنت متأكد أنك تريد فصل هذا
|
8
|
+
are_you_sure_detach_item: هل أنت متأكد أنك تريد فصل هذا الـ٪{item}؟
|
9
9
|
are_you_sure_you_want_to_run_this_option: هل أنت متأكد أنك تريد تشغيل هذا الخيار؟
|
10
10
|
attach: ربط
|
11
11
|
attach_and_attach_another: ربط وربط آخر
|
12
12
|
attach_item: ربط %{item}
|
13
|
-
attachment_class_attached:
|
14
|
-
attachment_class_detached:
|
13
|
+
attachment_class_attached: '%{attachment_class} تم ربط'
|
14
|
+
attachment_class_detached: '%{attachment_class} تم فصل'
|
15
15
|
attachment_destroyed: تم حذف المرفق
|
16
16
|
cancel: إلغاء
|
17
17
|
choose_a_country: اختر دولة
|
@@ -80,7 +80,6 @@ ar:
|
|
80
80
|
to_top: حرك السجل للأعلى بشكل كامل
|
81
81
|
per_page: لكل صفحة
|
82
82
|
prev_page: الصفحة السابقة
|
83
|
-
records_selected_from_all_pages_html: جميع السجلات مختارة من جميع الصفحات
|
84
83
|
remove_selection: إزالة التحديد
|
85
84
|
reset_filters: إعادة تعيين الفلاتر
|
86
85
|
resource_created: تم إنشاء السجل
|
@@ -122,5 +121,6 @@ ar:
|
|
122
121
|
zero: لا توجد عناصر إضافية
|
123
122
|
x_records_selected_from_a_total_of_x_html: <span class="font-bold text-gray-700">%{selected}</span> السجلات المحددة في هذه الصفحة من إجمالي<span class="font-bold text-gray-700">%{count}</span>
|
124
123
|
x_records_selected_from_all_pages_html: <span class="font-bold text-gray-700">%{count}</span> السجلات المحددة من كل الصفحات
|
125
|
-
x_records_selected_from_page_html: <span class="font-bold text-gray-700">%{selected}</span> السجلات المختارة في هذه الصفحة
|
126
124
|
you_missed_something_check_form: ربما نسيت شيئًا، يرجى التحقق من البيانات.
|
125
|
+
|
126
|
+
|
@@ -23,6 +23,7 @@ en:
|
|
23
23
|
create_new_item: Create new %{item}
|
24
24
|
dashboard: Dashboard
|
25
25
|
dashboards: Dashboards
|
26
|
+
default_scope: All
|
26
27
|
delete: delete
|
27
28
|
delete_file: Delete file
|
28
29
|
delete_item: Delete %{item}
|
@@ -43,9 +44,9 @@ en:
|
|
43
44
|
other: files
|
44
45
|
zero: files
|
45
46
|
people:
|
46
|
-
one:
|
47
|
-
other:
|
48
|
-
zero:
|
47
|
+
one: person
|
48
|
+
other: people
|
49
|
+
zero: people
|
49
50
|
filter_by: Filter by
|
50
51
|
filters: Filters
|
51
52
|
go_back: Go back
|
@@ -80,7 +81,6 @@ en:
|
|
80
81
|
to_top: Move record to top
|
81
82
|
per_page: Per page
|
82
83
|
prev_page: Previous page
|
83
|
-
records_selected_from_all_pages_html: All records selected from all pages
|
84
84
|
remove_selection: Remove selection
|
85
85
|
reset_filters: Reset filters
|
86
86
|
resource_created: Record created
|
@@ -122,5 +122,4 @@ en:
|
|
122
122
|
zero: no more items
|
123
123
|
x_records_selected_from_a_total_of_x_html: <span class="font-bold text-gray-700">%{selected}</span> records selected on this page from a total of <span class="font-bold text-gray-700">%{count}</span>
|
124
124
|
x_records_selected_from_all_pages_html: <span class="font-bold text-gray-700">%{count}</span> records selected from all pages
|
125
|
-
x_records_selected_from_page_html: <span class="font-bold text-gray-700">%{selected}</span> records selected on this page
|
126
125
|
you_missed_something_check_form: You might have missed something. Please check the form.
|
@@ -23,6 +23,7 @@ fr:
|
|
23
23
|
create_new_item: Créer un nouveau %{item}
|
24
24
|
dashboard: Tableau de bord
|
25
25
|
dashboards: Tableaux de bord
|
26
|
+
default_scope: Tout
|
26
27
|
delete: supprimer
|
27
28
|
delete_file: Supprimer le fichier
|
28
29
|
delete_item: Supprimer %{item}
|
@@ -80,7 +81,6 @@ fr:
|
|
80
81
|
to_top: Déplacer tout en haut
|
81
82
|
per_page: Par page
|
82
83
|
prev_page: Page précédente
|
83
|
-
records_selected_from_all_pages_html: tous les éléments sélectionnés de toutes les pages
|
84
84
|
remove_selection: Supprimer la sélection
|
85
85
|
reset_filters: Réinitialiser les filtres
|
86
86
|
resource_created: Ressource créee
|
@@ -118,5 +118,4 @@ fr:
|
|
118
118
|
zero: aucun élément supplémentaire
|
119
119
|
x_records_selected_from_a_total_of_x_html: <span class="font-bold text-gray-700">%{selected}</span> enregistrements sélectionnés sur cette page sur un total de <span class="font-bold text-gray-700">%{count}</span>
|
120
120
|
x_records_selected_from_all_pages_html: <span class="font-bold text-gray-700">%{count}</span> enregistrements sélectionnés dans toutes les pages
|
121
|
-
x_records_selected_from_page_html: <span class="font-bold text-gray-700">%{selected}</span> éléments sélectionnés de cette page
|
122
121
|
you_missed_something_check_form: Vous avez peut-être oublié quelque chose. Veuillez vérifier le formulaire
|
@@ -23,6 +23,7 @@ nb:
|
|
23
23
|
create_new_item: Lag ny %{item}
|
24
24
|
dashboard: Dashboard
|
25
25
|
dashboards: Dashboards
|
26
|
+
default_scope: Alle
|
26
27
|
delete: slett
|
27
28
|
delete_file: Slett fil
|
28
29
|
delete_item: Slett %{item}
|
@@ -80,7 +81,6 @@ nb:
|
|
80
81
|
to_top: Flytt elementet til toppen
|
81
82
|
per_page: Per side
|
82
83
|
prev_page: Forrige side
|
83
|
-
records_selected_from_all_pages_html: Alle poster valgt fra alle sider
|
84
84
|
remove_selection: Fjern valg
|
85
85
|
reset_filters: Nullstill filter
|
86
86
|
resource_created: Ressurs generert
|
@@ -118,5 +118,4 @@ nb:
|
|
118
118
|
zero: ingen flere elementer
|
119
119
|
x_records_selected_from_a_total_of_x_html: <span class="font-bold text-gray-700">%{selected}</span> poster valgt på denne siden fra totalt <span class="font-bold text-gray-700">%{count}</span>
|
120
120
|
x_records_selected_from_all_pages_html: <span class="font-bold text-gray-700">%{count}</span> poster valgt fra alle sider
|
121
|
-
x_records_selected_from_page_html: <span class="font-bold text-gray-700">%{selected}</span> poster valgt på denne siden
|
122
121
|
you_missed_something_check_form: Her mangler du noe. Vennligst sjekk skjemaet.
|
@@ -23,6 +23,7 @@ nn:
|
|
23
23
|
create_new_item: Lag ny %{item}
|
24
24
|
dashboard: Dashboard
|
25
25
|
dashboards: Dashboards
|
26
|
+
default_scope: Alle
|
26
27
|
delete: slett
|
27
28
|
delete_file: Slett fil
|
28
29
|
delete_item: Slett %{item}
|
@@ -80,7 +81,6 @@ nn:
|
|
80
81
|
to_top: Flytt elementet til toppen
|
81
82
|
per_page: Per side
|
82
83
|
prev_page: Førre side
|
83
|
-
records_selected_from_all_pages_html: Alle poster valgt fra alle sider
|
84
84
|
remove_selection: Fjern val
|
85
85
|
reset_filters: Nullstill filter
|
86
86
|
resource_created: Ressurs generert
|
@@ -118,5 +118,4 @@ nn:
|
|
118
118
|
zero: ingen fleire element
|
119
119
|
x_records_selected_from_a_total_of_x_html: <span class="font-bold text-gray-700">%{selected}</span> valde postar på denne sida av totalt <span class="font-bold text-gray-700">%{count}</span>
|
120
120
|
x_records_selected_from_all_pages_html: <span class="font-bold text-gray-700">%{count}</span> valde postar frå alle sider
|
121
|
-
x_records_selected_from_page_html: <span class="font-bold text-gray-700">%{selected}</span> poster valgt på denne siden
|
122
121
|
you_missed_something_check_form: Her manglar du noko. Ver venleg og sjekk skjemaet.
|
@@ -23,6 +23,7 @@ pt-BR:
|
|
23
23
|
create_new_item: Criar novo %{item}
|
24
24
|
dashboard: Painel
|
25
25
|
dashboards: Painéis
|
26
|
+
default_scope: Todos
|
26
27
|
delete: deletar
|
27
28
|
delete_file: Deletar arquivo
|
28
29
|
delete_item: Deletar %{item}
|
@@ -80,7 +81,6 @@ pt-BR:
|
|
80
81
|
to_top: Mover registro para cima
|
81
82
|
per_page: Por página
|
82
83
|
prev_page: Página anterior
|
83
|
-
records_selected_from_all_pages_html: Todos os registros de todas as páginas selecionados
|
84
84
|
remove_selection: Remover seleção
|
85
85
|
reset_filters: Limpar filtros
|
86
86
|
resource_created: Recurso criado
|
@@ -118,5 +118,4 @@ pt-BR:
|
|
118
118
|
zero: mais nenhum item
|
119
119
|
x_records_selected_from_a_total_of_x_html: <span class="font-bold text-gray-700">%{selected}</span> registros selecionados nesta página de um total de <span class="font-bold text-gray-700">%{count}</span>
|
120
120
|
x_records_selected_from_all_pages_html: <span class="font-bold text-gray-700">%{count}</span> registros selecionados de todas as páginas
|
121
|
-
x_records_selected_from_page_html: <span class="font-bold text-gray-700">%{selected}</span> registros selecionados nesta página
|
122
121
|
you_missed_something_check_form: Você pode ter esquecido algo. Por favor, cheque o formulário.
|
@@ -23,6 +23,7 @@ pt:
|
|
23
23
|
create_new_item: Criar novo %{item}
|
24
24
|
dashboard: Painel
|
25
25
|
dashboards: Painéis
|
26
|
+
default_scope: Todos
|
26
27
|
delete: apagar
|
27
28
|
delete_file: Apagar arquivo
|
28
29
|
delete_item: Apagar %{item}
|
@@ -80,7 +81,6 @@ pt:
|
|
80
81
|
to_top: Mover recurso para o topo
|
81
82
|
per_page: Por página
|
82
83
|
prev_page: Página anterior
|
83
|
-
records_selected_from_all_pages_html: Todos os itens de todas as páginas selecionados
|
84
84
|
remove_selection: Remover seleção
|
85
85
|
reset_filters: Limpar filtros
|
86
86
|
resource_created: Recurso criado
|
@@ -118,5 +118,4 @@ pt:
|
|
118
118
|
zero: mais nenhum item
|
119
119
|
x_records_selected_from_a_total_of_x_html: <span class="font-bold text-gray-700">%{selected}</span> itens selecionados nesta página de um total de <span class="font-bold text-gray-700">%{count}</span>
|
120
120
|
x_records_selected_from_all_pages_html: <span class="font-bold text-gray-700">%{count}</span> itens selecionados de todas as páginas
|
121
|
-
x_records_selected_from_page_html: <span class="font-bold text-gray-700">%{selected}</span> itens selecionados nesta página
|
122
121
|
you_missed_something_check_form: Pode ter-se esquecido algo. Por favor, verifique o formulário.
|
@@ -23,6 +23,7 @@ ro:
|
|
23
23
|
create_new_item: Creează %{item}
|
24
24
|
dashboard: Panou de control
|
25
25
|
dashboards: Panouri de control
|
26
|
+
default_scope: Tot
|
26
27
|
delete: șterge
|
27
28
|
delete_file: Șterge fișierul
|
28
29
|
delete_item: Șterge %{item}
|
@@ -43,9 +44,9 @@ ro:
|
|
43
44
|
other: fișiere
|
44
45
|
zero: fișiere
|
45
46
|
people:
|
46
|
-
one:
|
47
|
-
other:
|
48
|
-
zero:
|
47
|
+
one: persoana
|
48
|
+
other: persoane
|
49
|
+
zero: persoane
|
49
50
|
filter_by: Filtează după
|
50
51
|
filters: Filtre
|
51
52
|
go_back: Înapoi
|
@@ -62,7 +63,7 @@ ro:
|
|
62
63
|
more: Mai multe
|
63
64
|
new: nou
|
64
65
|
next_page: Pagina următoare
|
65
|
-
no_cards_present:
|
66
|
+
no_cards_present: Nici un card găsit
|
66
67
|
no_item_found: Nici un articol găsit
|
67
68
|
no_options_available: Nicio opțiune disponibilă
|
68
69
|
no_related_item_found: Nici un articol asociat găsit
|
@@ -80,7 +81,6 @@ ro:
|
|
80
81
|
to_top: Mutați înregistrarea sus de tot
|
81
82
|
per_page: Pe pagină
|
82
83
|
prev_page: Pagina anterioara
|
83
|
-
records_selected_from_all_pages_html: Toate selectate din toate paginile
|
84
84
|
remove_selection: Șterge selecția
|
85
85
|
reset_filters: Resetați filtrele
|
86
86
|
resource_created: Resursă creata
|
@@ -90,7 +90,7 @@ ro:
|
|
90
90
|
one: utilizator
|
91
91
|
other: utilizatori
|
92
92
|
zero: utilizatori
|
93
|
-
resource_updated: Resursă
|
93
|
+
resource_updated: Resursă actualizată
|
94
94
|
resources: Resurse
|
95
95
|
run: Rulează
|
96
96
|
save: Salvează
|
@@ -118,5 +118,4 @@ ro:
|
|
118
118
|
zero: zero articole
|
119
119
|
x_records_selected_from_a_total_of_x_html: <span class="font-bold text-gray-700">%{selected}</span> selectate dintr-un total de <span class="font-bold text-gray-700">%{count}</span>
|
120
120
|
x_records_selected_from_all_pages_html: <span class="font-bold text-gray-700">%{count}</span> selectate din toate paginile
|
121
|
-
x_records_selected_from_page_html: <span class="font-bold text-gray-700">%{selected}</span> selectate
|
122
121
|
you_missed_something_check_form: S-ar putea să fi omis ceva. Vă rugăm să verificați formularul.
|
@@ -23,6 +23,7 @@ tr:
|
|
23
23
|
create_new_item: Yeni bir %{item} oluşturun
|
24
24
|
dashboard: Yönetim Paneli
|
25
25
|
dashboards: Yönetim Panelleri
|
26
|
+
default_scope: Herşey
|
26
27
|
delete: sil
|
27
28
|
delete_file: Dosyayı sil
|
28
29
|
delete_item: "%{item} öğresini sil"
|
@@ -80,7 +81,6 @@ tr:
|
|
80
81
|
to_top: Kaydı en üste taşı
|
81
82
|
per_page: Sayfa başına
|
82
83
|
prev_page: Önceki sayfa
|
83
|
-
records_selected_from_all_pages_html: Tüm sayfalardan seçilen tüm kayıtlar
|
84
84
|
remove_selection: Seçimi sil
|
85
85
|
reset_filters: Filtreleri sıfırla
|
86
86
|
resource_created: Kayıt oluşturuldu
|
@@ -118,5 +118,4 @@ tr:
|
|
118
118
|
zero: daha fazla öğe yok
|
119
119
|
x_records_selected_from_a_total_of_x_html: <span class="font-bold text-gray-700">%{selected}</span> bu sayfada seçilen toplam kayıtlar <span class="font-bold text-gray-700">%{count}</span>
|
120
120
|
x_records_selected_from_all_pages_html: <span class="font-bold text-gray-700">%{count}</span> tüm sayfalardan seçilen kayıtlar
|
121
|
-
x_records_selected_from_page_html: <span class="font-bold text-gray-700">%{selected}</span> bu sayfada seçilen kayıtlar
|
122
121
|
you_missed_something_check_form: Bir şeyleri kaçırmış olabilirsiniz. Lütfen formu kontrol edin.
|
@@ -1,10 +1,10 @@
|
|
1
|
-
class
|
2
|
-
self.title = :id
|
1
|
+
class Avo::Resources::<%= resource_class %> < Avo::BaseResource
|
3
2
|
self.includes = []<%= model_class_from_args %>
|
4
|
-
# self.
|
5
|
-
#
|
6
|
-
#
|
3
|
+
# self.search = {
|
4
|
+
# query: -> { query.ransack(id_eq: params[:q], m: "or").result(distinct: false) }
|
5
|
+
# }
|
7
6
|
|
8
|
-
|
9
|
-
|
7
|
+
def fields
|
8
|
+
field :id, as: :id<%= generate_fields %>
|
9
|
+
end
|
10
10
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<div class="flex flex-col">
|
2
2
|
<%%= render Avo::PanelComponent.new(name: "<%= human_name %>") do |c| %>
|
3
|
-
<%% c.
|
3
|
+
<%% c.tools do %>
|
4
4
|
<%%= a_link('/avo', icon: 'heroicons/solid/academic-cap', color: :primary, style: :primary) do %>
|
5
5
|
Dummy link
|
6
6
|
<%% end %>
|
7
7
|
<%% end %>
|
8
8
|
|
9
|
-
<%% c.
|
9
|
+
<%% c.body do %>
|
10
10
|
<div class="flex flex-col p-4 min-h-24">
|
11
11
|
<div class="space-y-4">
|
12
12
|
<h3>🪧 This partial is waiting to be updated</h3>
|
@@ -23,9 +23,9 @@
|
|
23
23
|
# In this partial you have access to the following variables:
|
24
24
|
# tool
|
25
25
|
# @resource
|
26
|
-
# @resource.
|
26
|
+
# @resource.record
|
27
27
|
# params
|
28
|
-
# Avo::
|
28
|
+
# Avo::Current.context
|
29
29
|
# current_user
|
30
30
|
%>
|
31
31
|
</div>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<div class="flex flex-col">
|
2
2
|
<%%= render Avo::PanelComponent.new(name: '<%= human_name %>', display_breadcrumbs: true) do |c| %>
|
3
|
-
<%% c.
|
3
|
+
<%% c.tools do %>
|
4
4
|
<div class="text-sm italic">This is the panels tools section.</div>
|
5
5
|
<%% end %>
|
6
6
|
|
7
|
-
<%% c.
|
7
|
+
<%% c.body do %>
|
8
8
|
<div class="flex flex-col justify-between py-6 min-h-24">
|
9
9
|
<div class="px-6 space-y-4">
|
10
10
|
<h3>What a nice new tool 👋</h3>
|
data/lib/tasks/avo_tasks.rake
CHANGED
@@ -3,6 +3,11 @@
|
|
3
3
|
# # Task goes here
|
4
4
|
# end
|
5
5
|
|
6
|
+
desc "Runs the update command for all Avo gems."
|
7
|
+
task "avo:update" do
|
8
|
+
system "bundle update avo avo-pro avo-advanced avo-dashboards avo_filters avo-menu avo_upgrade"
|
9
|
+
end
|
10
|
+
|
6
11
|
desc "Installs Avo assets and bundles them for when you want to use the GitHub repo in your app"
|
7
12
|
task "avo:build-assets" do
|
8
13
|
spec = get_gem_spec "avo"
|
@@ -36,3 +41,25 @@ def get_gem_spec(name)
|
|
36
41
|
|
37
42
|
spec
|
38
43
|
end
|
44
|
+
|
45
|
+
desc "Finds all Avo gems and outputs theyr paths"
|
46
|
+
task "avo:gem_paths" do
|
47
|
+
config = YAML.load_file("../support/gems.yml")
|
48
|
+
|
49
|
+
existing_gems = config["gems"].keys
|
50
|
+
.map do |gem|
|
51
|
+
path = `bundle show #{gem} 2> /dev/null`.chomp
|
52
|
+
|
53
|
+
unless path.empty?
|
54
|
+
"#{gem}:#{path}"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
.reject(&:nil?)
|
58
|
+
result = existing_gems.join(",")
|
59
|
+
|
60
|
+
# Outputs a CSV "hash-like" string in this format
|
61
|
+
#
|
62
|
+
# GEM_NAME:GEM_PATH,SECOND_GEM_NAME:SECOND_GEM_PATH
|
63
|
+
# avo:/Users/adrian/work/avocado/avo-3,avo_filters:/Users/adrian/work/avocado/advanced/avo_filters
|
64
|
+
puts result
|
65
|
+
end
|