Class: Jav::Fields::ShowComponent

Inherits:
ViewComponent::Base
  • Object
show all
Includes:
ResourcesHelper
Defined in:
app/components/jav/fields/show_component.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ResourcesHelper

#field_wrapper, #filter_wrapper, #index_field_wrapper, #item_select_all_input, #item_selector_init, #item_selector_input, #resource_grid, #resource_table

Constructor Details

#initialize(field: nil, resource: nil, index: 0, form: nil, compact: false, stacked: nil) ⇒ ShowComponent

Returns a new instance of ShowComponent.



8
9
10
11
12
13
14
15
16
# File 'app/components/jav/fields/show_component.rb', line 8

def initialize(field: nil, resource: nil, index: 0, form: nil, compact: false, stacked: nil)
  super
  @compact = compact
  @field = field
  @index = index
  @resource = resource
  @stacked = stacked
  @view = :show
end

Instance Attribute Details

#compactObject (readonly)

Returns the value of attribute compact.



6
7
8
# File 'app/components/jav/fields/show_component.rb', line 6

def compact
  @compact
end

#fieldObject (readonly)

Returns the value of attribute field.



6
7
8
# File 'app/components/jav/fields/show_component.rb', line 6

def field
  @field
end

#indexObject (readonly)

Returns the value of attribute index.



6
7
8
# File 'app/components/jav/fields/show_component.rb', line 6

def index
  @index
end

#resourceObject (readonly)

Returns the value of attribute resource.



6
7
8
# File 'app/components/jav/fields/show_component.rb', line 6

def resource
  @resource
end

#stackedObject (readonly)

Returns the value of attribute stacked.



6
7
8
# File 'app/components/jav/fields/show_component.rb', line 6

def stacked
  @stacked
end

#viewObject (readonly)

Returns the value of attribute view.



6
7
8
# File 'app/components/jav/fields/show_component.rb', line 6

def view
  @view
end

Instance Method Details

#disabled?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'app/components/jav/fields/show_component.rb', line 50

def disabled?
  field.is_readonly? || field.is_disabled?
end

#field_wrapper_argsObject



39
40
41
42
43
44
45
46
47
48
# File 'app/components/jav/fields/show_component.rb', line 39

def field_wrapper_args
  {
    compact: compact,
    field: field,
    index: index,
    resource: resource,
    stacked: stacked,
    view: view
  }
end

#stimulus_attributesObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/components/jav/fields/show_component.rb', line 24

def stimulus_attributes
  attributes = {}

  if @resource.present?
    @resource.get_stimulus_controllers.split.each do |controller|
      attributes["#{controller}-target"] = "#{@field.id.to_s.underscore}_#{@field.type.to_s.underscore}_wrapper".camelize(:lower)
    end
  end

  wrapper_data_attributes = @field.get_html :data, view: view, element: :wrapper
  attributes.merge! wrapper_data_attributes if wrapper_data_attributes.present?

  attributes
end

#wrapper_dataObject



18
19
20
21
22
# File 'app/components/jav/fields/show_component.rb', line 18

def wrapper_data
  {
    **stimulus_attributes
  }
end