Module: Avo
- Defined in:
- lib/avo/view_inquirer.rb,
lib/avo.rb,
lib/avo/cover.rb,
lib/avo/avatar.rb,
lib/avo/engine.rb,
lib/avo/plugin.rb,
lib/avo/version.rb,
lib/avo/mappings.rb,
lib/avo/engine_dsl.rb,
lib/avo/plugin_dsl.rb,
lib/avo/base_action.rb,
lib/avo/railtie_dsl.rb,
lib/avo/test_helpers.rb,
app/avo/base_resource.rb,
lib/avo/asset_manager.rb,
lib/avo/configuration.rb,
lib/avo/error_manager.rb,
lib/avo/loaders/loader.rb,
lib/avo/plugin_manager.rb,
lib/avo/resources/base.rb,
lib/avo/fields/id_field.rb,
lib/avo/wait_for_loaded.rb,
lib/avo/dsl/field_parser.rb,
lib/avo/tailwind_builder.rb,
lib/avo/execution_context.rb,
lib/avo/fields/area_field.rb,
lib/avo/fields/base_field.rb,
lib/avo/fields/code_field.rb,
lib/avo/fields/date_field.rb,
lib/avo/fields/file_field.rb,
lib/avo/fields/tags_field.rb,
lib/avo/fields/text_field.rb,
lib/avo/fields/time_field.rb,
lib/avo/fields/trix_field.rb,
lib/avo/table_row_options.rb,
lib/avo/base_resource_tool.rb,
lib/avo/concerns/has_cover.rb,
lib/avo/concerns/has_items.rb,
lib/avo/concerns/hydration.rb,
lib/avo/concerns/safe_call.rb,
lib/avo/fields/array_field.rb,
lib/avo/fields/badge_field.rb,
lib/avo/fields/files_field.rb,
lib/avo/fields/radio_field.rb,
lib/avo/fields/stars_field.rb,
lib/avo/tools/tool_manager.rb,
app/helpers/avo/url_helpers.rb,
lib/avo/concerns/has_avatar.rb,
lib/avo/concerns/is_visible.rb,
lib/avo/concerns/pagination.rb,
lib/avo/fields/avatar_field.rb,
lib/avo/fields/hidden_field.rb,
lib/avo/fields/number_field.rb,
lib/avo/fields/select_field.rb,
lib/avo/fields/status_field.rb,
lib/avo/fields/tiptap_field.rb,
lib/avo/filters/base_filter.rb,
lib/avo/filters/text_filter.rb,
lib/avo/concerns/breadcrumbs.rb,
lib/avo/concerns/has_helpers.rb,
lib/avo/fields/boolean_field.rb,
lib/avo/fields/country_field.rb,
lib/avo/fields/field_manager.rb,
lib/avo/fields/has_one_field.rb,
lib/avo/fields/heading_field.rb,
lib/avo/fields/preview_field.rb,
lib/avo/services/hq_reporter.rb,
lib/avo/services/uri_service.rb,
lib/avo/concerns/form_builder.rb,
lib/avo/concerns/has_controls.rb,
lib/avo/fields/easy_mde_field.rb,
lib/avo/fields/gravatar_field.rb,
lib/avo/fields/has_many_field.rb,
lib/avo/fields/location_field.rb,
lib/avo/fields/password_field.rb,
lib/avo/fields/textarea_field.rb,
lib/avo/filters/basic_filters.rb,
lib/avo/filters/select_filter.rb,
lib/avo/loaders/fields_loader.rb,
lib/avo/loaders/scopes_loader.rb,
lib/avo/prefixed_test_helpers.rb,
lib/avo/concerns/has_item_type.rb,
lib/avo/concerns/visible_items.rb,
lib/avo/fields/concerns/dom_id.rb,
lib/avo/fields/concerns/nested.rb,
lib/avo/fields/date_time_field.rb,
lib/avo/fields/key_value_field.rb,
lib/avo/filters/boolean_filter.rb,
lib/avo/grid_fields/body_field.rb,
lib/avo/grid_fields/grid_field.rb,
lib/avo/loaders/actions_loader.rb,
lib/avo/loaders/filters_loader.rb,
lib/avo/search/results_limiter.rb,
lib/avo/concerns/private_access.rb,
lib/avo/fields/belongs_to_field.rb,
lib/avo/fields/frame_base_field.rb,
lib/avo/grid_fields/title_field.rb,
app/helpers/avo/resources_helper.rb,
lib/avo/concerns/has_description.rb,
lib/avo/concerns/request_methods.rb,
lib/avo/fields_execution_context.rb,
lib/avo/filters/date_time_filter.rb,
lib/avo/resources/array_resource.rb,
lib/avo/concerns/is_resource_item.rb,
lib/avo/fields/progress_bar_field.rb,
lib/avo/grid_fields/preview_field.rb,
app/helpers/avo/application_helper.rb,
lib/avo/concerns/abstract_resource.rb,
lib/avo/concerns/can_replace_items.rb,
lib/avo/fields/boolean_group_field.rb,
lib/avo/fields/checkbox_list_field.rb,
lib/avo/fields/has_many_base_field.rb,
lib/avo/resources/resource_manager.rb,
app/controllers/avo/base_controller.rb,
app/controllers/avo/home_controller.rb,
lib/avo/concerns/frame_loading_mode.rb,
lib/avo/fields/concerns/has_default.rb,
lib/avo/fields/concerns/is_disabled.rb,
lib/avo/fields/concerns/is_readonly.rb,
lib/avo/fields/concerns/is_required.rb,
lib/avo/fields/concerns/reload_icon.rb,
lib/avo/fields/external_image_field.rb,
lib/avo/media_library/configuration.rb,
lib/avo/services/encryption_service.rb,
lib/avo/tailwind_variables_preparer.rb,
app/controllers/avo/array_controller.rb,
app/controllers/avo/debug_controller.rb,
app/helpers/avo/summary_chart_helper.rb,
lib/avo/concerns/borrow_items_holder.rb,
lib/avo/concerns/has_field_discovery.rb,
lib/avo/fields/concerns/use_resource.rb,
lib/avo/fields/many_frame_base_field.rb,
lib/avo/view_types/view_type_manager.rb,
app/controllers/avo/charts_controller.rb,
app/controllers/avo/search_controller.rb,
lib/avo/fields/concerns/frame_loading.rb,
lib/avo/fields/concerns/is_searchable.rb,
app/controllers/avo/actions_controller.rb,
app/controllers/avo/private_controller.rb,
lib/avo/fields/concerns/has_field_name.rb,
lib/avo/fields/concerns/linkable_title.rb,
lib/avo/filters/multiple_select_filter.rb,
lib/avo/resources/controls/back_button.rb,
lib/avo/resources/controls/edit_button.rb,
lib/avo/resources/controls/save_button.rb,
lib/avo/resources/controls/show_button.rb,
lib/avo/services/authorization_service.rb,
lib/avo/concerns/find_association_field.rb,
lib/avo/concerns/has_translatable_title.rb,
lib/avo/resources/controls/actions_list.rb,
lib/avo/resources/controls/base_control.rb,
app/components/avo/header_menu_component.rb,
app/controllers/avo/resources_controller.rb,
lib/avo/concerns/association_query_scope.rb,
lib/avo/concerns/filters_session_handler.rb,
lib/avo/resources/controls/attach_button.rb,
lib/avo/resources/controls/create_button.rb,
lib/avo/resources/controls/delete_button.rb,
lib/avo/resources/controls/detach_button.rb,
app/components/avo/u_i/tabs/tab_component.rb,
lib/avo/concerns/has_discreet_information.rb,
lib/avo/concerns/model_class_constantized.rb,
lib/avo/resources/controls/order_controls.rb,
app/components/avo/u_i/tabs/tabs_component.rb,
app/controllers/avo/application_controller.rb,
app/controllers/avo/attachments_controller.rb,
lib/avo/concerns/checks_show_authorization.rb,
lib/avo/fields/concerns/file_authorization.rb,
lib/avo/fields/concerns/handles_field_args.rb,
app/controllers/avo/associations_controller.rb,
app/helpers/avo/turbo_stream_actions_helper.rb,
lib/avo/concerns/checks_assoc_authorization.rb,
lib/avo/concerns/row_controls_configuration.rb,
lib/avo/concerns/visible_in_different_views.rb,
lib/avo/fields/concerns/has_html_attributes.rb,
lib/avo/fields/concerns/use_view_components.rb,
app/controllers/avo/media_library_controller.rb,
app/controllers/concerns/avo/initializes_avo.rb,
lib/avo/fields/has_and_belongs_to_many_field.rb,
app/components/avo/fields/concerns/item_labels.rb,
app/controllers/concerns/avo/common_controller.rb,
app/components/avo/media_library/list_component.rb,
app/controllers/avo/base_application_controller.rb,
lib/avo/concerns/has_action_stimulus_controllers.rb,
lib/avo/fields/field_extensions/has_include_blank.rb,
app/controllers/avo/appearance_settings_controller.rb,
lib/avo/concerns/has_resource_stimulus_controllers.rb,
app/components/avo/media_library/list_item_component.rb,
app/components/avo/media_library/item_details_component.rb
Overview
This controller is currently only used for searchable fields, it keeps the old search controller without any changes
Possibly have much more logic that it uses, but it's not worth the effort to refactor it since we're going to replace it with a new searchable fields way
Defined Under Namespace
Modules: ApplicationHelper, CommonController, Concerns, Dsl, EngineDSL, Fields, Filters, GridFields, InitializesAvo, Loaders, Mappings, MediaLibrary, PluginDSL, PrefixedTestHelpers, RailtieDSL, Resources, ResourcesHelper, Search, Services, SummaryChartHelper, TestHelpers, Tools, TurboStreamActionsHelper, UI, UrlHelpers, ViewTypes, WaitForLoaded
Classes: ActionNotRegisteredError, ActionsComponent, ActionsController, AlertComponent, AppearanceSettingsController, ApplicationController, ArrayController, AssetManager, AssociationsController, AttachmentsController, Avatar, BacktraceAlertComponent, BaseAction, BaseApplicationController, BaseComponent, BaseController, BaseResource, BaseResourceTool, BlankFieldComponent, BreadcrumbElementComponent, BreadcrumbsComponent, ButtonComponent, ChartsController, ClipboardComponent, ComponentMissingComponent, Configuration, Cover, CoverComponent, Current, DebugController, DeprecatedAPIError, DescriptionListComponent, DeveloperWarningComponent, DiscreetInformation, DiscreetInformationComponent, Divider, DividerComponent, EmptyStateComponent, Engine, ErrorManager, ExecutionContext, FieldWrapperComponent, FieldsExecutionContext, FiltersComponent, FlashAlertsComponent, HeaderMenuComponent, HomeController, ItemGrapher, KeyboardShortcutsComponent, LicenseInvalidError, LicenseVerificationTemperedError, LoadingComponent, ManualFrameComponent, MediaLibraryController, MissingGemError, MissingResourceError, ModalComponent, NoPolicyError, NotAuthorizedError, PaginatorComponent, PanelNameComponent, PhotoObject, Plugin, PluginManager, PrivateController, ProfileItemComponent, ReferrerParamsComponent, Reloader, ResourceComponent, ResourceListingComponent, ResourceNotFoundError, ResourceSidebarComponent, ResourcesController, RowSelectorComponent, SearchController, SearchOverlayComponent, SidebarComponent, SidebarProfileComponent, TabContentComponent, TabGroupComponent, TableRowOptions, TailwindBuilder, TailwindVariablesPreparer, TurboFrameWrapperComponent, UIInstance, ViewInquirer, ViewTypeComponentNotFoundError
Constant Summary
collapse
- ROOT_PATH =
Pathname.new(File.join(__dir__, ".."))
- IN_DEVELOPMENT =
ENV["AVO_IN_DEVELOPMENT"] == "1"
- PACKED =
!IN_DEVELOPMENT
- COOKIES_KEY =
"avo"
- MODAL_FRAME_ID =
:modal_frame
- MEDIA_LIBRARY_ITEM_DETAILS_FRAME_ID =
:media_library_item_details
- ACTIONS_BACKGROUND_FRAME_ID =
:actions_background
- VERSION =
"4.1.2"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.cache_store ⇒ Object
Returns the value of attribute cache_store.
116
117
118
|
# File 'lib/avo.rb', line 116
def cache_store
@cache_store
end
|
.field_manager ⇒ Object
Returns the value of attribute field_manager.
117
118
119
|
# File 'lib/avo.rb', line 117
def field_manager
@field_manager
end
|
.logger ⇒ Object
Returns the value of attribute logger.
115
116
117
|
# File 'lib/avo.rb', line 115
def logger
@logger
end
|
Class Method Details
.app_status ⇒ Object
161
162
163
|
# File 'lib/avo.rb', line 161
def app_status
:ok
end
|
.asset_manager ⇒ Object
38
39
40
|
# File 'lib/avo/asset_manager.rb', line 38
def self.asset_manager
@manager ||= AssetManager.new
end
|
.avo_dynamic_filters_installed? ⇒ Boolean
165
166
167
|
# File 'lib/avo.rb', line 165
def avo_dynamic_filters_installed?
defined?(Avo::DynamicFilters).present?
end
|
.boot ⇒ Object
Runs when the app boots up
.check_rails_version_issues ⇒ Object
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
|
# File 'lib/avo.rb', line 185
def check_rails_version_issues
return if Rails.env.test?
if Rails.version.start_with?("7.1")
Avo.error_manager.add({
url: "https://docs.avohq.io/3.0/upgrade.html#upgrade-from-3-7-4-to-3-9-1",
target: "_blank",
message: "Due to a Rails 7.1 bug the following features won't work:\n\r
- Dashboards\n\r
- Ordering\n\r
- Dynamic filters\n\r
We recommend you upgrade to Rails 7.2\n\r
Click banner for more information."
})
end
end
|
.configuration ⇒ Object
511
512
513
|
# File 'lib/avo/configuration.rb', line 511
def self.configuration
@configuration ||= Configuration.new
end
|
.configuration=(config) ⇒ Object
515
516
517
|
# File 'lib/avo/configuration.rb', line 515
def self.configuration=(config)
@configuration = config
end
|
519
520
521
|
# File 'lib/avo/configuration.rb', line 519
def self.configure
yield configuration
end
|
202
203
204
205
206
207
208
209
210
|
# File 'lib/avo.rb', line 202
def
return if Avo.configuration.main_menu.nil?
Avo.error_manager.add({
url: "https://docs.avohq.io/4.0/menu-editor.html",
target: "_blank",
message: "The menu editor is available exclusively with the Pro license or above. Consider upgrading to access this feature."
})
end
|
212
213
214
215
216
217
218
219
220
|
# File 'lib/avo.rb', line 212
def
return if Avo.configuration..nil?
Avo.error_manager.add({
url: "https://docs.avohq.io/4.0/menu-editor.html#profile-menu",
target: "_blank",
message: "The profile menu editor is available exclusively with the Pro license or above. Consider upgrading to access this feature."
})
end
|
.eager_load_actions ⇒ Object
181
182
183
|
# File 'lib/avo.rb', line 181
def eager_load_actions
Rails.autoloaders.main.eager_load_namespace(Avo::Actions) if defined?(Avo::Actions)
end
|
177
178
179
|
# File 'lib/avo.rb', line 177
def
[:pro, :advanced, :menu, :dynamic_filters, :dashboards, :enterprise, :audits]
end
|
.mount_engines ⇒ Object
169
170
171
172
173
174
175
|
# File 'lib/avo.rb', line 169
def mount_engines
-> {
raise "'mount_engines' method is now obsolete. \n" \
"Please refer to the upgrade guide for details on the new mounting point: \n" \
"https://docs.avohq.io/3.0/upgrade.html#Avo's%20mounting%20point%20update"
}
end
|
.plugin_manager ⇒ Object
160
161
162
|
# File 'lib/avo/plugin_manager.rb', line 160
def self.plugin_manager
@plugin_manager ||= PluginManager.new
end
|
.root_path(paths: [], query: {}, **args) ⇒ Object
Generate a dynamic root path using the URIService
154
155
156
157
158
159
|
# File 'lib/avo.rb', line 154
def root_path(paths: [], query: {}, **args)
Avo::Services::URIService.parse(Avo::Current.view_context.avo.root_url.to_s)
.append_paths(paths)
.append_query(query)
.to_s
end
|
.view_type_manager ⇒ Object
67
68
69
|
# File 'lib/avo/view_types/view_type_manager.rb', line 67
def self.view_type_manager
@view_type_manager ||= Avo::ViewTypes::ViewTypeManager.new.tap(&:reset)
end
|