Class: Katalyst::Navigation::Editor::ItemEditorComponent

Inherits:
ViewComponent::Base
  • Object
show all
Defined in:
app/components/katalyst/navigation/editor/item_editor_component.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(menu:, item:) ⇒ ItemEditorComponent

Returns a new instance of ItemEditorComponent.



11
12
13
14
15
16
# File 'app/components/katalyst/navigation/editor/item_editor_component.rb', line 11

def initialize(menu:, item:)
  super()

  @menu = menu
  @item = item
end

Instance Attribute Details

#itemObject (readonly) Also known as: model

Returns the value of attribute item.



7
8
9
# File 'app/components/katalyst/navigation/editor/item_editor_component.rb', line 7

def item
  @item
end

Returns the value of attribute menu.



7
8
9
# File 'app/components/katalyst/navigation/editor/item_editor_component.rb', line 7

def menu
  @menu
end

Instance Method Details

#callObject



18
19
20
# File 'app/components/katalyst/navigation/editor/item_editor_component.rb', line 18

def call
  render("form", model:, scope:, url:, id:)
end

#idObject



22
23
24
# File 'app/components/katalyst/navigation/editor/item_editor_component.rb', line 22

def id
  dom_id(item, :form)
end

#scopeObject



26
27
28
# File 'app/components/katalyst/navigation/editor/item_editor_component.rb', line 26

def scope
  :item
end

#titleObject



30
31
32
33
34
35
36
# File 'app/components/katalyst/navigation/editor/item_editor_component.rb', line 30

def title
  if item.persisted?
    "Edit #{item.model_name.human.downcase}"
  else
    "New #{item.model_name.human.downcase}"
  end
end

#urlObject



38
39
40
41
42
43
44
# File 'app/components/katalyst/navigation/editor/item_editor_component.rb', line 38

def url
  if item.persisted?
    view_context.katalyst_navigation.menu_item_path(menu, item)
  else
    view_context.katalyst_navigation.menu_items_path(menu)
  end
end