Sha256: 8b56276c304ae2a1d1e157c8013b8a03f25f75cb5e2cf516c495e8ba4b7d2e81
Contents?: true
Size: 1.14 KB
Versions: 90
Compression:
Stored size: 1.14 KB
Contents
# frozen_string_literal: true class Avo::ItemSwitcherComponent < Avo::BaseComponent include Turbo::FramesHelper attr_reader :resource attr_reader :reflection attr_reader :index attr_reader :item attr_reader :view def initialize(resource: nil, reflection: nil, item: nil, index: nil, view: nil, form: nil) @resource = resource @reflection = reflection @form = form @index = index @item = item @view = view end def form @form || nil end def render? # Stops rendering if the field should be hidden in reflections if item.is_field? return false if in_reflection? && item.hidden_in_reflection? end return false if item.is_main_panel? true end def in_reflection? @reflection.present? end def tab_group_component Avo::TabGroupComponent.new resource: @resource, group: item.hydrate(view: view), index: index, params: params, form: form, view: view, tabs_style: item.style end def field_component item.component_for_view(@view).new(field: item.hydrate(resource: @resource, view: @view, model: @resource.model), resource: @resource, index: index, form: form) end end
Version data entries
90 entries across 90 versions & 1 rubygems