Class: EasyAdmin::Resources::ShowPageActionsComponent

Inherits:
BaseComponent
  • Object
show all
Defined in:
app/components/easy_admin/resources/show_page_actions_component.rb

Instance Method Summary collapse

Methods inherited from BaseComponent

#easy_admin_url_helpers, #helpers, #rails_url_helpers

Methods included from Permissions::Component

#current_user_can?, #current_user_has_role?, #if_can, #if_has_role, #permission_attrs, #permission_button, #permission_case, #permission_classes, #permission_field, #permission_link, #unless_can, #unless_has_role

Methods included from FieldsHelper

#field_component, #render_field

Methods included from DashboardsHelper

#delta_badge_classes, #metric_value_classes, #render_card, #sparkline_color, #sparkline_points, #trend_direction, #trend_icon, #trend_indicator_classes

Constructor Details

#initialize(record:, resource_class:, current_user: nil) ⇒ ShowPageActionsComponent

Returns a new instance of ShowPageActionsComponent.



4
5
6
7
8
# File 'app/components/easy_admin/resources/show_page_actions_component.rb', line 4

def initialize(record:, resource_class:, current_user: nil)
  @record = record
  @resource_class = resource_class
  @current_user = current_user
end

Instance Method Details

#view_templateObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/components/easy_admin/resources/show_page_actions_component.rb', line 10

def view_template
  div(class: "mt-4 sm:ml-16 sm:mt-0 sm:flex-none") do
    # Desktop: Show buttons inline (hidden on mobile)
    div(class: "hidden sm:flex sm:items-center sm:space-x-3") do
      render_edit_action
      render_row_actions
      render_delete_action
    end
    
    # Mobile: Show dropdown (hidden on desktop)
    div(class: "sm:hidden relative") do
      render_mobile_dropdown
    end
    
    # Context menu container for this record
    div(
      id: "context-menu-#{@record.id}",
      class: "fixed z-50 pointer-events-none"
    )
  end
end