Module: MenuBarHelper

Defined in:
app/helpers/menu_bar_helper.rb

Instance Method Summary collapse

Instance Method Details

#any_menu_bar_links?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'app/helpers/menu_bar_helper.rb', line 50

def any_menu_bar_links?
  menu_bar_links.any?
end

#li_tag(link) ⇒ Object



15
16
17
# File 'app/helpers/menu_bar_helper.rb', line 15

def li_tag(link)
   :li, link
end


37
38
39
# File 'app/helpers/menu_bar_helper.rb', line 37

def logout_menu_link
  li_tag menu_item('sign-out-alt', :sign_out, logout_path(origin: url_for, organization: Organization.current))
end


2
3
4
5
6
7
8
9
# File 'app/helpers/menu_bar_helper.rb', line 2

def menu_bar_links
  [
    menu_link_to_classroom,
    menu_link_to_bibliotheca,
    solve_discussions_link,
    user_discussions_link
  ]
end


11
12
13
# File 'app/helpers/menu_bar_helper.rb', line 11

def menu_bar_list_items
  menu_bar_links.compact.map { |link| li_tag(link) }.join.html_safe
end


41
42
43
# File 'app/helpers/menu_bar_helper.rb', line 41

def menu_item(icon, name, url, css_class = nil, translation_params = {}, options = {})
  menu_text_item(icon, t(name, translation_params), url, css_class, **options)
end


31
32
33
34
35
# File 'app/helpers/menu_bar_helper.rb', line 31

def menu_link_to_application(icon, app_name, minimal_permissions)
  return unless current_user&.send(minimal_permissions)
  url = url_for_application(app_name)
  menu_item icon, app_name, url
end


27
28
29
# File 'app/helpers/menu_bar_helper.rb', line 27

def menu_link_to_bibliotheca
  menu_link_to_application :book, :bibliotheca_ui, :writer?
end


23
24
25
# File 'app/helpers/menu_bar_helper.rb', line 23

def menu_link_to_classroom
  menu_link_to_application 'graduation-cap', :classroom_ui, :teacher_here?
end


54
55
56
# File 'app/helpers/menu_bar_helper.rb', line 54

def menu_link_to_faqs
  li_tag menu_item(:info, :faqs_abbreviated, faqs_path)
end


19
20
21
# File 'app/helpers/menu_bar_helper.rb', line 19

def menu_link_to_profile
  li_tag menu_item('user', :my_account, user_path)
end


45
46
47
48
# File 'app/helpers/menu_bar_helper.rb', line 45

def menu_text_item(icon, text, url, css_class = nil, **options)
  link_options = { role: 'menuitem', tabindex: '-1', class: "dropdown-item #{css_class}" }.merge(options)
  link_to fixed_fa_icon(icon, text: text), url, link_options
end