summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Balteanu <marius.balteanu@zitec.com>2024-10-19 10:08:14 +0000
committerMarius Balteanu <marius.balteanu@zitec.com>2024-10-19 10:08:14 +0000
commit42762a3f3cd3b67d5062cf7208441f46e6b4c2de (patch)
tree8a83ba29491ae4b30d3cbf6ded6456943c57bc59
parentd1008280d8bead4757646d53f18d0b76fa20b429 (diff)
downloadredmine-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.rb13
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