Module: IconsHelper

Included in:
ApplicationController, ApplicationHelper
Defined in:
app/helpers/icons_helper.rb

Overview

Redmine - project management software Copyright © 2006- Jean-Philippe Lang

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Constant Summary collapse

DEFAULT_ICON_SIZE =
"18"
DEFAULT_SPRITE =
"icons"

Instance Method Summary collapse

Instance Method Details

#activity_event_type_icon(event_type, size: DEFAULT_ICON_SIZE, css_class: nil) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'app/helpers/icons_helper.rb', line 52

def activity_event_type_icon(event_type, size: DEFAULT_ICON_SIZE, css_class: nil)
  icon_name = case event_type
              when 'reply'
                'comments'
              when 'time-entry'
                'time'
              when 'message'
                'comment'
              else
                event_type
              end

  sprite_icon(icon_name, size: size, css_class: css_class)
end

#file_icon(entry, name, size: DEFAULT_ICON_SIZE, css_class: nil) ⇒ Object



39
40
41
42
43
44
45
46
# File 'app/helpers/icons_helper.rb', line 39

def file_icon(entry, name, size: DEFAULT_ICON_SIZE, css_class: nil)
  if entry.is_dir?
    sprite_icon("folder", name, size: size, css_class: css_class)
  else
    icon_name = icon_for_mime_type(Redmine::MimeType.css_class_of(name))
    sprite_icon(icon_name, name, size: size, css_class: css_class)
  end
end

#principal_icon(principal_class, size: DEFAULT_ICON_SIZE, css_class: nil) ⇒ Object



48
49
50
# File 'app/helpers/icons_helper.rb', line 48

def principal_icon(principal_class, size: DEFAULT_ICON_SIZE, css_class: nil)
  sprite_icon('group', size: size, css_class: css_class) if ['groupanonymous', 'groupnonmember', 'group'].include?(principal_class)
end

#sprite_icon(icon_name, label = nil, icon_only: false, size: DEFAULT_ICON_SIZE, css_class: nil, sprite: DEFAULT_SPRITE, plugin: nil) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/helpers/icons_helper.rb', line 24

def sprite_icon(icon_name, label = nil, icon_only: false, size: DEFAULT_ICON_SIZE, css_class: nil, sprite: DEFAULT_SPRITE, plugin: nil)
  sprite = plugin ? "plugin_assets/#{plugin}/#{sprite}.svg" : "#{sprite}.svg"

  svg_icon = svg_sprite_icon(icon_name, size: size, css_class: css_class, sprite: sprite)

  if label
    label_classes = ["icon-label"]
    label_classes << "hidden" if icon_only

    svg_icon + (:span, label, class: label_classes.join(' '))
  else
    svg_icon
  end
end