module SidebarHelpers
SidebarHelpers
is a set of helpers to display the navigation sidebar.
Public Instance Methods
collapsed_indicator(coll)
click to toggle source
# File lib/coursegen/course/helpers/sidebar_helpers.rb, line 31 def collapsed_indicator(coll) icon_markup(coll ? :plus : :minus) end
flat_section(sect)
click to toggle source
# File lib/coursegen/course/helpers/sidebar_helpers.rb, line 48 def flat_section(sect) disp_clause = sect.collapsed? ? 'display: none' : 'display: block' str = "<ul class=\"tree\" style=\"#{disp_clause}\">" str = sect.reduce(str) { |acc, item| acc + flat_section_item_link(item) } str + '</ul>' end
flat_section_item_link(citem)
click to toggle source
# File lib/coursegen/course/helpers/sidebar_helpers.rb, line 55 def flat_section_item_link(citem) bullet = @sect_def.options[:bullet] path = @items[citem.identifier].path "<li class=\"#{citem.css_class}\">#{icon_markup(bullet)}<a href=\"#{path}\">#{citem.title}</a></li>" end
icon_markup(icon_type)
click to toggle source
# File lib/coursegen/course/helpers/sidebar_helpers.rb, line 61 def icon_markup(icon_type) return '' if icon_type.nil? css_class = { dash: 'glyphicon-minus', star: 'glyphicon-star', plus: 'glyphicon-plus-sign', minus: 'glyphicon-minus-sign' }.fetch(icon_type) "<span class=\"glyphicon #{css_class}\" style=#{STYLING_CONFIG[:bullet_style]}></span>" end
nested_section(sect)
click to toggle source
# File lib/coursegen/course/helpers/sidebar_helpers.rb, line 15 def nested_section(sect) sect.subsections.reduce('') { |acc, subs| acc + subsection_body(subs) } end
section_helper(title: nil, selector: nil)
click to toggle source
# File lib/coursegen/course/helpers/sidebar_helpers.rb, line 3 def section_helper(title: nil, selector: nil) sect = Toc.instance.section(selector) @sect_def = Toc.instance.section_def(selector) str = "<li> <label class=\"tree-toggler level1\"> #{collapsed_indicator(sect.collapsed?)} #{title} </label> #{sect.has_subsections? ? nested_section(sect) : flat_section(sect)} </li>" end
subsection(subsect, collapsed)
click to toggle source
# File lib/coursegen/course/helpers/sidebar_helpers.rb, line 35 def subsection(subsect, collapsed) disp_clause = collapsed ? 'display: none' : 'display: block' str = "<ul class=\"tree\" style=\"#{disp_clause}\">" str = subsect.children.reduce(str) { |acc, item| acc + subsection_item_link(item) } str + '</ul>' end
subsection_body(sect)
click to toggle source
# File lib/coursegen/course/helpers/sidebar_helpers.rb, line 19 def subsection_body(sect) "<ul class=\"tree\"> <li> <label class=\"tree-toggler level2\"> #{collapsed_indicator(sect.content.collapsed?)} #{sect.content.title} </label> #{subsection(sect, sect.content.collapsed?)} </li> </ul>" end
subsection_item_link(tree_node)
click to toggle source
# File lib/coursegen/course/helpers/sidebar_helpers.rb, line 42 def subsection_item_link(tree_node) bullet = @sect_def.options[:bullet] link_path = @items[tree_node.content.identifier].path "<li class=\"#{tree_node.content.css_class}\">#{icon_markup(bullet)}<a href=\"#{link_path}\">#{tree_node.content.title}</a></li>" end