Class: Plutonium::UI::Display::Components::Attachment

Inherits:
Phlexi::Display::Components::Base
  • Object
show all
Includes:
Phlexi::Display::Components::Concerns::DisplaysValue, Component::Behaviour, Component::Methods
Defined in:
lib/plutonium/ui/display/components/attachment.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?

Dynamic Method Handling

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

Instance Method Details

#render_value(attachment) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/plutonium/ui/display/components/attachment.rb', line 12

def render_value(attachment)
  return unless attachment.url.present?

  div(
    class: "p-2 w-full",
    title: attachment.filename,
    data: {
      controller: "attachment-preview",
      attachment_preview_mime_type_value: attachment.content_type,
      attachment_preview_thumbnail_url_value: attachment_thumbnail_url(attachment)
    }
  ) do
    div(class: "flex flex-col items-center w-full") do
      render_thumbnail(attachment)
      render_caption(attachment)
    end
  end
end