diff --git a/app/views/workloads/_trigger.erb b/app/views/workloads/_trigger.erb
index 8916689..4ab231c 100644
--- a/app/views/workloads/_trigger.erb
+++ b/app/views/workloads/_trigger.erb
@@ -3,7 +3,9 @@
# Parameters:
# trigger_for: set as "data-for"-attribute
#
-# ▶ is a right-pointing filled triangle.
+# The icon is rendered once as 'angle-right'. The opened state is expressed by
+# the 'opened' css class, which rotates it by 90 degrees. Do not swap the icon
+# in JavaScript; the class is the single source of truth for the state.
%>
-▶
+<%= sprite_icon('angle-right') %>
diff --git a/assets/javascripts/slides.js b/assets/javascripts/slides.js
index 9fbe50e..c922ed9 100644
--- a/assets/javascripts/slides.js
+++ b/assets/javascripts/slides.js
@@ -6,8 +6,6 @@
$(document).ready(function() {
$('.trigger').click(function() {
- var OPENED = '▼'
- var CLOSED = '▶'
$(this).toggleClass('closed opened');
identifier = $(this).attr('data-for');
@@ -44,7 +42,6 @@ $(document).ready(function() {
$(this).show(); // but keep its 'children' closed if any
$(this).siblings('.invisible-issues-summary.' + identifierClasses).show();
});
- $(this).html(OPENED);
}
else {
lowerHierarchieLevelClasses = bottomUpHierarchieChain.get(currentHierarchieLevel);
@@ -54,11 +51,10 @@ $(document).ready(function() {
$(css).hide();
$(css).siblings('.invisible-issues-summary.' + identifierClasses).hide();
currentHierarchieLevel = $(css).find('span.trigger.opened');
- currentHierarchieLevel.html(CLOSED);
+ currentHierarchieLevel.removeClass('opened').addClass('closed');
currentHierarchieLevel.siblings('dl').hide();
})
$(this).siblings().hide();
- $(this).html(CLOSED);
}
});
});
diff --git a/assets/stylesheets/style.css b/assets/stylesheets/style.css
index 61504d8..4b7231e 100644
--- a/assets/stylesheets/style.css
+++ b/assets/stylesheets/style.css
@@ -146,6 +146,15 @@
margin-right: 4px;
}
+.controller-workloads .data .trigger svg {
+ vertical-align: middle;
+ transition: transform 0.15s ease-in-out;
+}
+
+.controller-workloads .data .trigger.opened svg {
+ transform: rotate(90deg);
+}
+
.controller-workloads table dt.mt-5,
.controller-workloads table dd.mt-5 {
margin-top: 5px;