Class: EasyAdmin::Versions::DiffModalComponent

Inherits:
BaseComponent
  • Object
show all
Defined in:
app/components/easy_admin/versions/diff_modal_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(version:, record:, resource_class:) ⇒ DiffModalComponent

Returns a new instance of DiffModalComponent.



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

def initialize(version:, record:, resource_class:)
  @version = version
  @record = record
  @resource_class = resource_class
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
# File 'app/components/easy_admin/versions/diff_modal_component.rb', line 10

def view_template
  turbo_frame(id: "modal") do
    # Modal backdrop
    div(
      id: "modal-backdrop",
      class: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black bg-opacity-50 opacity-100 transition-opacity duration-300",
      data: { controller: "modal", action: "click->modal#closeOnBackdrop" }
    ) do
      # Modal container
      div(
        class: "relative w-full max-w-4xl max-h-[90vh] bg-white rounded-lg shadow-xl overflow-hidden"
      ) do
        render_modal_header
        render_modal_body
        render_modal_footer
      end
    end
  end
end