Class: Plutonium::UI::DynaFrame::Content

Inherits:
Component::Base show all
Includes:
Phlex::Rails::Helpers::TurboFrameTag
Defined in:
lib/plutonium/ui/dyna_frame/content.rb

Instance Method Summary collapse

Methods included from Component::Behaviour

#around_template

Methods included from Component::Tokens

#classes, #tokens

Methods included from Component::Kit

#BuildActionButton, #BuildActionsDropdown, #BuildBlock, #BuildBreadcrumbs, #BuildBulkActionsToolbar, #BuildColorModeSelector, #BuildDynaFrameContent, #BuildDynaFrameHost, #BuildEmptyCard, #BuildFrameNavigatorPanel, #BuildPageHeader, #BuildPanel, #BuildRowActionsDropdown, #BuildSkeletonTable, #BuildTabList, #BuildTableInfo, #BuildTablePagination, #BuildTableScopesBar, #BuildTableSearchBar, #method_missing, #respond_to_missing?

Constructor Details

#initialize(content = nil) ⇒ Content

Returns a new instance of Content.



7
8
9
# File 'lib/plutonium/ui/dyna_frame/content.rb', line 7

def initialize(content = nil)
  @content = content
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Plutonium::UI::Component::Kit

Instance Method Details

#render_contentObject



24
25
26
# File 'lib/plutonium/ui/dyna_frame/content.rb', line 24

def render_content
  @content&.call
end

#view_templateObject



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/plutonium/ui/dyna_frame/content.rb', line 11

def view_template
  if current_turbo_frame.present?
    # Frame request: render only the turbo-frame with content
    turbo_frame_tag(current_turbo_frame) do
      render partial("flash")
      @content&.call
    end
  else
    # Regular request: yield self so caller can call frame.render_content
    yield(self)
  end
end