Sha256: 3616a48c68cec59f5ff9a231fec203adb14d2e19de52c8d2373aeedb661f7486
Contents?: true
Size: 1.18 KB
Versions: 31
Compression:
Stored size: 1.18 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 end def field_component final_item = item.dup.hydrate(resource: @resource, record: @resource.record, user: resource.user, view: view) final_item.component_for_view(@view).new(field: final_item, resource: @resource, index: index, form: form) end end
Version data entries
31 entries across 31 versions & 1 rubygems