Class: ActiveAdmin::Annotations::ReviewPanel

Inherits:
Object
  • Object
show all
Defined in:
lib/activeadmin/annotations/review_panel.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(subject:, reviewer:, field:, view_context:, context_builder:, content_builder:, context_panels_builder: nil, advance_review_url: nil, categories: nil, category_label: nil, content_revision_enabled: nil, viewing_content_revision_version: nil) ⇒ ReviewPanel

Returns a new instance of ReviewPanel.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/activeadmin/annotations/review_panel.rb', line 9

def initialize(
  subject:,
  reviewer:,
  field:,
  view_context:,
  context_builder:,
  content_builder:,
  context_panels_builder: nil,
  advance_review_url: nil,
  categories: nil,
  category_label: nil,
  content_revision_enabled: nil,
  viewing_content_revision_version: nil
)
  @subject = subject
  @reviewer = reviewer
  @field = field.to_s
  @view_context = view_context
  @context_builder = context_builder
  @content_builder = content_builder
  @context_panels_builder = context_panels_builder
  @advance_review_url = advance_review_url
  @categories = categories
  @category_label = category_label
  @content_revision_enabled = content_revision_enabled
  @viewing_content_revision_version = viewing_content_revision_version
end

Class Method Details

.render(**kwargs) ⇒ Object



5
6
7
# File 'lib/activeadmin/annotations/review_panel.rb', line 5

def self.render(**kwargs)
  new(**kwargs).render
end

Instance Method Details

#renderObject



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/activeadmin/annotations/review_panel.rb', line 37

def render
  revision_enabled = @content_revision_enabled.nil? ? ContentRevision.enabled_for?(@subject) : @content_revision_enabled
  latest_version = revision_enabled ? ContentRevision.current_version_for(@subject) : 0
  browsing_revision = @viewing_content_revision_version.present?

  if browsing_revision
    render_browsed_revision(
      revision_enabled: revision_enabled,
      latest_version: latest_version,
      display_version: @viewing_content_revision_version.to_i.clamp(0, latest_version)
    )
  else
    render_review_revision(revision_enabled: revision_enabled, latest_version: latest_version)
  end
end