|
@ -1,13 +1,18 @@ |
|
|
# Font Awesome Helper |
|
|
# Font Awesome Helper |
|
|
module IconHelper |
|
|
module IconHelper |
|
|
|
|
|
# accept name without 'fa-' prefix, style: (solid by default), size:, class: and 'aria-hidden': |
|
|
def fa_icon(name, html_options = {}) |
|
|
def fa_icon(name, html_options = {}) |
|
|
html_options[:style] ||= :solid |
|
|
html_options[:style] ||= :solid |
|
|
html_options['aria-hidden'] ||= true |
|
|
html_options['aria-hidden'] ||= true |
|
|
|
|
|
|
|
|
content_class = "fa-#{html_options[:style].to_s.dasherize} fa-#{name.to_s.dasherize}" |
|
|
|
|
|
content_class << " fa-#{html_options[:size].to_s.dasherize}" if html_options.key? :size |
|
|
|
|
|
|
|
|
content_class = "fa-#{unsymbolize(html_options[:style])} fa-#{unsymbolize(name)}" |
|
|
|
|
|
content_class << " fa-#{unsymbolize(html_options[:size])}" if html_options.key? :size |
|
|
content_class << " #{html_options[:class]}" if html_options.key? :class |
|
|
content_class << " #{html_options[:class]}" if html_options.key? :class |
|
|
|
|
|
|
|
|
tag.i(class: content_class, 'aria-hidden': html_options['aria-hidden']) |
|
|
tag.i(class: content_class, 'aria-hidden': html_options['aria-hidden']) |
|
|
end |
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
private |
|
|
|
|
|
|
|
|
|
|
|
def unsymbolize(symbol) = symbol.to_s.dasherize |
|
|
end |
|
|
end |