avo 2.46.0 → 3.0.0.pre1
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 +23 -22
- data/Gemfile.lock +181 -160
- data/README.md +1 -1
- data/{public/avo-assets → app/assets/builds}/avo.base.css +479 -698
- data/app/assets/builds/avo.base.js +93804 -0
- data/app/assets/builds/avo.base.js.map +7 -0
- data/app/assets/stylesheets/avo.base.css +2 -2
- data/app/assets/svgs/failed_to_load.svg +1 -0
- data/app/assets/svgs/font.svg +1 -0
- data/app/assets/svgs/grid-empty-state.svg +1 -0
- data/app/assets/svgs/table-empty-state.svg +1 -0
- data/app/assets/svgs/triangle-up.svg +1 -0
- data/app/components/avo/actions_component.html.erb +18 -4
- data/app/components/avo/actions_component.rb +12 -18
- data/app/components/avo/alert_component.html.erb +1 -1
- 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 +14 -11
- 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 +4 -4
- data/app/components/avo/field_wrapper_component.rb +12 -23
- 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 +5 -20
- 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 -2
- data/app/components/avo/fields/boolean_group_field/edit_component.html.erb +3 -3
- data/app/components/avo/fields/code_field/edit_component.html.erb +0 -1
- 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.html.erb +5 -0
- data/app/components/avo/fields/common/files_list_viewer_component.rb +8 -0
- data/app/components/avo/fields/common/heading_component.html.erb +1 -1
- data/app/components/avo/fields/common/single_file_viewer_component.html.erb +56 -0
- data/app/components/avo/fields/common/single_file_viewer_component.rb +55 -0
- data/app/components/avo/fields/country_field/edit_component.html.erb +1 -3
- data/app/components/avo/fields/edit_component.rb +1 -1
- data/app/components/avo/fields/file_field/edit_component.html.erb +2 -4
- data/app/components/avo/fields/file_field/edit_component.rb +0 -1
- data/app/components/avo/fields/file_field/index_component.rb +2 -2
- data/app/components/avo/fields/file_field/show_component.html.erb +1 -1
- data/app/components/avo/fields/files_field/edit_component.html.erb +2 -4
- data/app/components/avo/fields/files_field/edit_component.rb +0 -1
- data/app/components/avo/fields/files_field/show_component.html.erb +1 -1
- data/app/components/avo/fields/has_many_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 +2 -2
- data/app/components/avo/fields/has_one_field/show_component.rb +3 -7
- data/app/components/avo/fields/index_component.rb +5 -6
- data/app/components/avo/fields/markdown_field/edit_component.html.erb +3 -4
- data/app/components/avo/fields/markdown_field/show_component.html.erb +3 -3
- data/app/components/avo/fields/number_field/edit_component.html.erb +1 -3
- data/app/components/avo/fields/password_field/edit_component.html.erb +1 -3
- 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/progress_bar_field/edit_component.html.erb +0 -1
- data/app/components/avo/fields/select_field/edit_component.html.erb +2 -3
- data/app/components/avo/fields/show_component.rb +4 -1
- data/app/components/avo/fields/status_field/edit_component.html.erb +1 -1
- data/app/components/avo/fields/text_field/edit_component.html.erb +2 -3
- data/app/components/avo/fields/textarea_field/edit_component.html.erb +0 -1
- data/app/components/avo/fields/trix_field/edit_component.html.erb +1 -2
- data/app/components/avo/fields/trix_field/edit_component.rb +1 -1
- data/app/components/avo/fields/trix_field/show_component.html.erb +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.html.erb +1 -1
- data/app/components/avo/index/grid_item_component.html.erb +5 -2
- data/app/components/avo/index/grid_item_component.rb +7 -6
- data/app/components/avo/index/resource_controls_component.html.erb +3 -81
- data/app/components/avo/index/resource_controls_component.rb +128 -18
- 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_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.html.erb +5 -10
- data/app/components/avo/item_switcher_component.rb +2 -3
- 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 -11
- data/app/components/avo/panel_component.rb +0 -1
- data/app/components/avo/profile_item_component.html.erb +2 -17
- data/app/components/avo/profile_item_component.rb +1 -13
- data/app/components/avo/referrer_params_component.html.erb +1 -4
- data/app/components/avo/resource_component.rb +142 -30
- data/app/components/avo/resource_sidebar_component.html.erb +6 -2
- data/app/components/avo/sidebar/link_component.html.erb +0 -2
- data/app/components/avo/sidebar/link_component.rb +3 -5
- data/app/components/avo/sidebar_component.html.erb +9 -2
- data/app/components/avo/sidebar_component.rb +5 -3
- data/app/components/avo/sidebar_profile_component.html.erb +27 -20
- 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 +16 -52
- data/app/components/avo/views/resource_edit_component.rb +7 -18
- data/app/components/avo/views/resource_index_component.html.erb +38 -53
- data/app/components/avo/views/resource_index_component.rb +60 -16
- data/app/components/avo/views/resource_show_component.html.erb +8 -151
- data/app/components/avo/views/resource_show_component.rb +6 -11
- data/app/controllers/avo/actions_controller.rb +19 -16
- data/app/controllers/avo/application_controller.rb +40 -109
- data/app/controllers/avo/associations_controller.rb +34 -41
- data/app/controllers/avo/attachments_controller.rb +10 -25
- data/app/controllers/avo/base_controller.rb +91 -103
- data/app/controllers/avo/debug_controller.rb +17 -5
- data/app/controllers/avo/search_controller.rb +29 -54
- data/app/controllers/avo/team_users_controller.rb +4 -0
- data/app/controllers/concerns/avo/initializes_avo.rb +26 -0
- data/app/helpers/avo/application_helper.rb +20 -21
- 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 -5
- 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/{easy_mde_controller.js → simple_mde_controller.js} +3 -4
- 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 +1 -3
- 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 +12 -8
- data/app/javascript/js/custom-stream-actions.js +15 -0
- data/app/views/avo/{attachments/destroy.turbo_stream.erb → actions/keep_modal_open.turbo_stream.erb} +0 -2
- data/app/views/avo/actions/show.html.erb +12 -11
- data/app/views/avo/associations/new.html.erb +4 -4
- 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 -15
- data/app/views/avo/home/index.html.erb +1 -1
- data/app/views/avo/partials/_custom_tools_alert.html.erb +2 -2
- 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 -3
- data/app/views/avo/partials/_view_toggle_button.html.erb +0 -9
- data/app/views/avo/private/design.html.erb +2 -2
- data/app/views/layouts/avo/application.html.erb +3 -0
- data/avo.gemspec +6 -7
- data/bin/dev +1 -1
- data/bin/prod +0 -0
- data/config/i18n-tasks.yml +1 -1
- data/config/initializers/pagy.rb +10 -14
- data/config/master.key +1 -0
- data/config/routes.rb +8 -12
- data/db/factories.rb +7 -18
- data/lib/avo/action_model.rb +20 -0
- data/lib/avo/app.rb +90 -162
- data/lib/avo/asset_manager.rb +30 -0
- data/lib/avo/base_action.rb +38 -36
- data/lib/avo/base_resource.rb +108 -96
- data/lib/avo/base_resource_tool.rb +9 -16
- data/lib/avo/concerns/{can_replace_fields.rb → can_replace_items.rb} +3 -3
- data/lib/avo/concerns/filters_session_handler.rb +1 -0
- data/lib/avo/concerns/has_controls.rb +37 -0
- data/lib/avo/concerns/has_item_type.rb +38 -0
- data/lib/avo/concerns/{has_fields.rb → has_items.rb} +110 -97
- 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/visible_in_different_views.rb +126 -0
- data/lib/avo/configuration/branding.rb +0 -12
- data/lib/avo/configuration.rb +8 -45
- data/lib/avo/current.rb +5 -0
- data/lib/avo/dsl/field_parser.rb +1 -1
- data/lib/avo/dynamic_router.rb +6 -2
- data/lib/avo/engine.rb +37 -30
- data/lib/avo/error_manager.rb +25 -0
- data/lib/avo/execution_context.rb +9 -15
- data/lib/avo/fields/badge_field.rb +1 -1
- data/lib/avo/fields/base_field.rb +72 -124
- data/lib/avo/fields/belongs_to_field.rb +14 -25
- 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_field.rb +3 -16
- data/lib/avo/fields/date_time_field.rb +1 -5
- data/lib/avo/fields/field_manager.rb +45 -0
- data/lib/avo/fields/file_field.rb +0 -2
- data/lib/avo/fields/files_field.rb +0 -6
- data/lib/avo/fields/has_and_belongs_to_many_field.rb +1 -2
- data/lib/avo/fields/has_base_field.rb +11 -14
- data/lib/avo/fields/has_many_field.rb +5 -2
- data/lib/avo/fields/has_one_field.rb +5 -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 +2 -3
- 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 +3 -8
- data/lib/avo/grid_collector.rb +7 -9
- data/lib/avo/html/builder.rb +5 -8
- data/lib/avo/item_grapher.rb +78 -0
- data/lib/avo/licensing/h_q.rb +4 -68
- data/lib/avo/licensing/license.rb +2 -2
- data/lib/avo/licensing/license_manager.rb +1 -1
- data/lib/avo/licensing/{nil_license.rb → null_license.rb} +1 -1
- data/lib/avo/licensing/pro_license.rb +1 -7
- data/lib/avo/plugin.rb +6 -0
- data/lib/avo/plugin_manager.rb +58 -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 +6 -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 +76 -0
- data/lib/avo/resources/items/item_group.rb +48 -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/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 +181 -0
- data/lib/avo/services/authorization_service.rb +11 -110
- data/lib/avo/services/debug_service.rb +92 -0
- data/lib/avo/services/telemetry_service.rb +84 -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 +7 -0
- data/lib/generators/avo/eject_generator.rb +0 -1
- data/lib/generators/avo/install_generator.rb +1 -11
- data/lib/generators/avo/resource_generator.rb +5 -23
- data/lib/generators/avo/scope_generator.rb +15 -0
- data/lib/generators/avo/tailwindcss/install_generator.rb +1 -18
- data/lib/generators/avo/templates/action.tt +1 -1
- 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 +1 -1
- 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 -11
- 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 +1 -1
- 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/standalone_action.tt +1 -1
- data/lib/generators/avo/templates/tailwindcss/Procfile.dev +1 -1
- data/lib/generators/avo/templates/tool/view.tt +2 -2
- data/lib/tasks/avo_tasks.rake +22 -0
- metadata +82 -161
- data/app/assets/stylesheets/css/tags.css +0 -32
- data/app/assets/svgs/map-empty-state.svg +0 -35
- data/app/assets/svgs/map-view-type.svg +0 -3
- 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/area_field/edit_component.html.erb +0 -7
- data/app/components/avo/fields/area_field/edit_component.rb +0 -4
- data/app/components/avo/fields/area_field/show_component.html.erb +0 -8
- data/app/components/avo/fields/area_field/show_component.rb +0 -4
- 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/common/files/controls_component.html.erb +0 -29
- data/app/components/avo/fields/common/files/controls_component.rb +0 -19
- data/app/components/avo/fields/common/files/list_viewer_component.html.erb +0 -20
- data/app/components/avo/fields/common/files/list_viewer_component.rb +0 -41
- data/app/components/avo/fields/common/files/view_type/grid_item_component.html.erb +0 -27
- data/app/components/avo/fields/common/files/view_type/grid_item_component.rb +0 -52
- data/app/components/avo/fields/common/files/view_type/list_item_component.html.erb +0 -22
- data/app/components/avo/fields/common/files/view_type/list_item_component.rb +0 -15
- data/app/components/avo/fields/location_field/edit_component.html.erb +0 -22
- data/app/components/avo/fields/location_field/edit_component.rb +0 -4
- data/app/components/avo/fields/location_field/show_component.html.erb +0 -7
- data/app/components/avo/fields/location_field/show_component.rb +0 -4
- 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/index/resource_map_component.html.erb +0 -16
- data/app/components/avo/index/resource_map_component.rb +0 -109
- data/app/components/avo/row_component.html.erb +0 -3
- data/app/components/avo/row_component.rb +0 -12
- 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/partials/_profile_menu_extra.html.erb +0 -2
- data/app/views/avo/sidebar/_license_warnings.html.erb +0 -6
- 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_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/area_field.rb +0 -39
- data/lib/avo/fields/concerns/file_authorization.rb +0 -31
- 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/location_field.rb +0 -86
- data/lib/avo/fields/tags_field.rb +0 -102
- 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/templates/locales/avo.es.yml +0 -126
- data/public/avo-assets/avo.base.js +0 -1037
- data/public/avo-assets/avo.base.js.map +0 -7
@@ -0,0 +1,30 @@
|
|
1
|
+
module Avo
|
2
|
+
module Tools
|
3
|
+
class ToolManager
|
4
|
+
class << self
|
5
|
+
def build
|
6
|
+
new
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
# Insert any partials that we find in app/views/avo/sidebar/items.
|
11
|
+
def get_sidebar_partials
|
12
|
+
Dir.glob(Rails.root.join("app", "views", "avo", "sidebar", "items", "*.html.erb"))
|
13
|
+
.map do |path|
|
14
|
+
File.basename path
|
15
|
+
end
|
16
|
+
.map do |filename|
|
17
|
+
# remove the leading underscore (_)
|
18
|
+
filename[0] = ""
|
19
|
+
# remove the extension
|
20
|
+
filename.gsub!(".html.erb", "")
|
21
|
+
filename
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def tools_for_navigation
|
26
|
+
get_sidebar_partials
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/avo/version.rb
CHANGED
data/lib/avo.rb
CHANGED
@@ -42,6 +42,7 @@ module Avo
|
|
42
42
|
COOKIES_KEY = "avo"
|
43
43
|
ENTITIES = {
|
44
44
|
cards: ["app", "avo", "cards"],
|
45
|
+
scopes: ["app", "avo", "scopes"],
|
45
46
|
fields: ["app", "avo", "fields"],
|
46
47
|
filters: ["app", "avo", "filters"],
|
47
48
|
actions: ["app", "avo", "actions"],
|
@@ -59,6 +60,12 @@ module Avo
|
|
59
60
|
class NoPolicyError < StandardError; end
|
60
61
|
|
61
62
|
class MissingGemError < StandardError; end
|
63
|
+
|
64
|
+
class << self
|
65
|
+
def avo_filters_installed?
|
66
|
+
defined?(AvoFilters).present?
|
67
|
+
end
|
68
|
+
end
|
62
69
|
end
|
63
70
|
|
64
71
|
loader.eager_load
|
@@ -17,7 +17,6 @@ module Generators
|
|
17
17
|
pre_head: "app/views/avo/partials/_pre_head.html.erb",
|
18
18
|
scripts: "app/views/avo/partials/_scripts.html.erb",
|
19
19
|
sidebar_extra: "app/views/avo/partials/_sidebar_extra.html.erb",
|
20
|
-
profile_menu_extra: "app/views/avo/partials/_profile_menu_extra.html.erb",
|
21
20
|
}
|
22
21
|
|
23
22
|
def handle
|
@@ -13,17 +13,7 @@ module Generators
|
|
13
13
|
route "mount Avo::Engine, at: Avo.configuration.root_path"
|
14
14
|
|
15
15
|
template "initializer/avo.tt", "config/initializers/avo.rb"
|
16
|
-
|
17
|
-
end
|
18
|
-
|
19
|
-
def create_resources
|
20
|
-
if defined?(User).present?
|
21
|
-
Rails::Generators.invoke("avo:resource", ["user", "-q"], {destination_root: Rails.root })
|
22
|
-
end
|
23
|
-
|
24
|
-
if defined?(Account).present?
|
25
|
-
Rails::Generators.invoke("avo:resource", ["account", "-q"], {destination_root: Rails.root })
|
26
|
-
end
|
16
|
+
directory File.join(__dir__, "templates", "locales"), "config/locales"
|
27
17
|
end
|
28
18
|
end
|
29
19
|
end
|
@@ -18,7 +18,7 @@ module Generators
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def resource_class
|
21
|
-
"#{class_name.remove(":")}
|
21
|
+
"#{class_name.remove(":")}"
|
22
22
|
end
|
23
23
|
|
24
24
|
def controller_class
|
@@ -26,7 +26,7 @@ module Generators
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def resource_name
|
29
|
-
"#{model_resource_name}
|
29
|
+
"#{model_resource_name}"
|
30
30
|
end
|
31
31
|
|
32
32
|
def controller_name
|
@@ -87,20 +87,12 @@ module Generators
|
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
|
-
def rich_texts
|
91
|
-
@rich_texts ||= reflections.select do |_, reflection|
|
92
|
-
reflection.options[:class_name] == "ActionText::RichText"
|
93
|
-
end
|
94
|
-
end
|
95
|
-
|
96
90
|
def tags
|
97
91
|
@tags ||= reflections.select { |_, reflection| reflection.options[:as] == :taggable }
|
98
92
|
end
|
99
93
|
|
100
94
|
def associations
|
101
|
-
@associations ||= reflections.reject
|
102
|
-
attachments.key?(key) || tags.key?(key) || rich_texts.key?(key)
|
103
|
-
end
|
95
|
+
@associations ||= reflections.reject { |key| attachments.key?(key) || tags.key?(key) }
|
104
96
|
end
|
105
97
|
|
106
98
|
def fields
|
@@ -123,7 +115,6 @@ module Generators
|
|
123
115
|
fields_from_model_enums
|
124
116
|
fields_from_model_attachements
|
125
117
|
fields_from_model_associations
|
126
|
-
fields_from_model_rich_texts
|
127
118
|
fields_from_model_tags
|
128
119
|
|
129
120
|
generated_fields_template
|
@@ -135,9 +126,6 @@ module Generators
|
|
135
126
|
fields_string = "\n # Fields generated from the model"
|
136
127
|
|
137
128
|
fields.each do |field_name, field_options|
|
138
|
-
# if field_options are not available (likely a missing resource for an association), skip the field
|
139
|
-
fields_string += "\n # Could not generate a field for #{field_name}" and next unless field_options
|
140
|
-
|
141
129
|
options = ""
|
142
130
|
field_options[:options].each { |k, v| options += ", #{k}: #{v}" } if field_options[:options].present?
|
143
131
|
|
@@ -161,12 +149,6 @@ module Generators
|
|
161
149
|
generated_fields_template
|
162
150
|
end
|
163
151
|
|
164
|
-
def fields_from_model_rich_texts
|
165
|
-
rich_texts.each do |name, _|
|
166
|
-
fields[(name.delete_prefix("rich_text_"))] = {field: "trix"}
|
167
|
-
end
|
168
|
-
end
|
169
|
-
|
170
152
|
def fields_from_model_tags
|
171
153
|
tags.each do |name, _|
|
172
154
|
fields[(remove_last_word_from name).pluralize] = {field: "tags"}
|
@@ -184,7 +166,7 @@ module Generators
|
|
184
166
|
end
|
185
167
|
|
186
168
|
def field_from_through_association(association)
|
187
|
-
if association.through_reflection.is_a?
|
169
|
+
if association.through_reflection.is_a? ActiveRecord::Reflection::HasManyReflection
|
188
170
|
{
|
189
171
|
field: "has_many",
|
190
172
|
options: {
|
@@ -219,7 +201,7 @@ module Generators
|
|
219
201
|
fields[enum] = {
|
220
202
|
field: "select",
|
221
203
|
options: {
|
222
|
-
enum: "::#{model_class.
|
204
|
+
enum: "::#{model_class.capitalize}.#{enum.pluralize}"
|
223
205
|
}
|
224
206
|
}
|
225
207
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative "named_base_generator"
|
2
|
+
|
3
|
+
module Generators
|
4
|
+
module Avo
|
5
|
+
class ScopeGenerator < NamedBaseGenerator
|
6
|
+
source_root File.expand_path("templates", __dir__)
|
7
|
+
|
8
|
+
namespace "avo:scope"
|
9
|
+
|
10
|
+
def create
|
11
|
+
template "scope.tt", "app/avo/scopes/#{singular_name}.rb"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -21,7 +21,7 @@ module Generators
|
|
21
21
|
end
|
22
22
|
|
23
23
|
if Rails.root.join("Procfile.dev").exist?
|
24
|
-
append_to_file "Procfile.dev", "avo_css:
|
24
|
+
append_to_file "Procfile.dev", "avo_css: bin/rails avo:tailwindcss:watch\n"
|
25
25
|
else
|
26
26
|
say "Add default Procfile.dev"
|
27
27
|
copy_file template_path("Procfile.dev"), "Procfile.dev"
|
@@ -38,20 +38,9 @@ module Generators
|
|
38
38
|
|
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
|
-
|
42
|
-
tailwind_script = setup_tailwind_script
|
43
|
-
say "Ensure you have the following script in your package.json file.", :yellow
|
44
|
-
say %("scripts": { "avo:tailwindcss": "#{tailwind_script}" --minify }), :green
|
45
41
|
end
|
46
42
|
|
47
43
|
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
44
|
def template_path(filename)
|
56
45
|
Pathname.new(__dir__).join("..", "templates", "tailwindcss", filename).to_s
|
57
46
|
end
|
@@ -59,12 +48,6 @@ module Generators
|
|
59
48
|
def tailwindcss_installed?
|
60
49
|
Rails.root.join("config", "tailwind.config.js").exist? || Rails.root.join("tailwind.config.js").exist?
|
61
50
|
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
51
|
end
|
69
52
|
end
|
70
53
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class
|
1
|
+
class Avo::Cards::<%= class_name.camelize %> < AvoDashboards::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 %> < AvoDashboards::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 %> < AvoDashboards::BaseDashboard
|
2
2
|
self.id = "<%= name.underscore %>"
|
3
3
|
self.name = "<%= name.underscore.humanize %>"
|
4
4
|
# self.description = "Tiny dashboard description"
|
@@ -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
|
@@ -2,8 +2,6 @@
|
|
2
2
|
Avo.configure do |config|
|
3
3
|
## == Routing ==
|
4
4
|
config.root_path = '/<%= options[:path] %>'
|
5
|
-
# used only when you have custom `map` configuration in your config.ru
|
6
|
-
# config.prefix_path = "/internal"
|
7
5
|
|
8
6
|
# Where should the user be redirected when visting the `/<%= options[:path] %>` url
|
9
7
|
# config.home_path = nil
|
@@ -31,7 +29,6 @@ Avo.configure do |config|
|
|
31
29
|
# update: 'update?',
|
32
30
|
# create: 'create?',
|
33
31
|
# destroy: 'destroy?',
|
34
|
-
# search: 'search?',
|
35
32
|
# }
|
36
33
|
# config.raise_error_on_missing_policy = false
|
37
34
|
# config.authorization_client = :pundit
|
@@ -47,13 +44,6 @@ Avo.configure do |config|
|
|
47
44
|
# config.per_page_steps = [12, 24, 48, 72]
|
48
45
|
# config.via_per_page = 8
|
49
46
|
# 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
47
|
# config.cache_resources_on_index_view = true
|
58
48
|
## permanent enable or disable cache_resource_filters, default value is false
|
59
49
|
# config.cache_resource_filters = false
|
@@ -71,7 +61,7 @@ Avo.configure do |config|
|
|
71
61
|
# config.view_component_path = "app/components"
|
72
62
|
# config.display_license_request_timeout_error = true
|
73
63
|
# config.disabled_features = []
|
74
|
-
# config.
|
64
|
+
# config.resource_controls = :right
|
75
65
|
# config.buttons_on_form_footers = true
|
76
66
|
# config.field_wrapper_layout = true
|
77
67
|
|
@@ -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.
|