Sha256: e1f50671743e2199ba82c95072b678da522b3f9d55ac59afdc033f6d06efed07
Contents?: true
Size: 1.75 KB
Versions: 27
Compression:
Stored size: 1.75 KB
Contents
# frozen_string_literal: true class Avo::Views::ResourceShowComponent < Avo::ResourceComponent include Avo::ResourcesHelper include Avo::ApplicationHelper def initialize(resource: nil, reflection: nil, parent_resource: nil, parent_model: nil, resource_panel: nil, actions: []) @resource = resource @reflection = reflection @resource_panel = resource_panel @actions = actions @parent_model = parent_model @parent_resource = parent_resource @view = :show end def title if @reflection.present? return field.name if has_one_field? reflection_resource.name else @resource.default_panel_name end end def back_path if via_resource? helpers.resource_path(model: params[:via_resource_class].safe_constantize, resource: relation_resource, resource_id: params[:via_resource_id]) else helpers.resources_path(resource: @resource) end end def edit_path args = {} if via_resource? args = { via_resource_class: params[:via_resource_class], via_resource_id: params[:via_resource_id] } end helpers.edit_resource_path(model: @resource.model, resource: @resource, **args) end def destroy_path if params[:via_resource_class].present? helpers.resource_path(model: @resource.model, resource: @resource, referrer: back_path) else helpers.resource_path(model: @resource.model, resource: @resource) end end private # In development and test environments we shoudl show the invalid field errors def should_display_invalid_fields_errors? (Rails.env.development? || Rails.env.test?) && @resource.invalid_fields.present? end def has_one_field? field.present? and field.instance_of? Avo::Fields::HasOneField end end
Version data entries
27 entries across 27 versions & 1 rubygems