diff options
author | Marius Balteanu <marius.balteanu@zitec.com> | 2024-10-19 10:08:14 +0000 |
---|---|---|
committer | Marius Balteanu <marius.balteanu@zitec.com> | 2024-10-19 10:08:14 +0000 |
commit | 42762a3f3cd3b67d5062cf7208441f46e6b4c2de (patch) | |
tree | 8a83ba29491ae4b30d3cbf6ded6456943c57bc59 | |
parent | d1008280d8bead4757646d53f18d0b76fa20b429 (diff) | |
download | redmine-42762a3f3cd3b67d5062cf7208441f46e6b4c2de.tar.gz redmine-42762a3f3cd3b67d5062cf7208441f46e6b4c2de.zip |
@sprite_icon@ accepts plugin name as parameter to render an icon from a sprite provided by a plugin (#23980).
git-svn-id: https://svn.redmine.org/redmine/trunk@23146 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/helpers/icons_helper.rb | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/app/helpers/icons_helper.rb b/app/helpers/icons_helper.rb index ee1c66f3e..28661fbea 100644 --- a/app/helpers/icons_helper.rb +++ b/app/helpers/icons_helper.rb @@ -21,8 +21,10 @@ module IconsHelper DEFAULT_ICON_SIZE = "18" DEFAULT_SPRITE = "icons" - def sprite_icon(icon_name, label = nil, icon_only: false, size: DEFAULT_ICON_SIZE, css_class: nil) - svg_icon = svg_sprite_icon(icon_name, size: size, css_class: css_class) + 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"] @@ -45,7 +47,7 @@ module IconsHelper end def principal_icon(principal_class, size: DEFAULT_ICON_SIZE, css_class: nil) - svg_sprite_icon('group', size: size, css_class: css_class) if ['groupanonymous', 'groupnonmember', 'group'].include?(principal_class) + sprite_icon('group', size: size, css_class: css_class) if ['groupanonymous', 'groupnonmember', 'group'].include?(principal_class) end def activity_event_type_icon(event_type, size: DEFAULT_ICON_SIZE, css_class: nil) @@ -60,19 +62,18 @@ module IconsHelper event_type end - svg_sprite_icon(icon_name, size: size, css_class: css_class) + sprite_icon(icon_name, size: size, css_class: css_class) end private def svg_sprite_icon(icon_name, size: DEFAULT_ICON_SIZE, sprite: DEFAULT_SPRITE, css_class: nil) - sprite_path = "#{sprite}.svg" css_classes = "s#{size} icon-svg" css_classes += " #{css_class}" unless css_class.nil? content_tag( :svg, - content_tag(:use, '', { 'href' => "#{asset_path(sprite_path)}#icon--#{icon_name}" }), + content_tag(:use, '', { 'href' => "#{asset_path(sprite)}#icon--#{icon_name}" }), class: css_classes, aria: { hidden: true |