Index: lams_learning/web/includes/javascript/learnerPage.js =================================================================== diff -u -r0a4686c3282eeb4f688ffb52a17818d8de6bbfd5 -r735e5ff1a7439c3b86b3448b18e324ea20eef5d0 --- lams_learning/web/includes/javascript/learnerPage.js (.../learnerPage.js) (revision 0a4686c3282eeb4f688ffb52a17818d8de6bbfd5) +++ lams_learning/web/includes/javascript/learnerPage.js (.../learnerPage.js) (revision 735e5ff1a7439c3b86b3448b18e324ea20eef5d0) @@ -21,16 +21,24 @@ let supportBarItems = $('.component-page-wrapper .component-sidebar #support-bar').removeClass('d-none') .find('#support-bar-items').empty(); $.each(result.support, function (activityIndex, activityData) { - let activityItem = $('
  • ').attr('role', 'presentation') - .addClass('support-bar-item progress-bar-item-openable') - .prepend('').appendTo(supportBarItems); + let activityItem = $('
  • ').attr('role', 'presentation').addClass('support-bar-item progress-bar-item-openable'), + activityIconUrl = getActivityIconUrl(activityData), + activityIcon = null; + + if (activityIconUrl) { + activityIcon = $('').attr('src', LAMS_URL + activityIconUrl); + } else { + activityIcon = $(''); + } + let activityLink = $('').text(activityData.name).attr({ 'target': '_blank', 'href': activityData.url, 'role': 'menuitem', 'title': 'Open completed activity' }); - activityItem.addClass('progress-bar-item-openable').append(activityLink); + activityItem.addClass('progress-bar-item-openable').append(activityIcon).append(activityLink) + .appendTo(supportBarItems); }); } @@ -39,26 +47,30 @@ $.each(result.activities, function (activityIndex, activityData) { let activityItem = $('
  • ').attr('role', 'presentation').appendTo(progressBarItems), activityName = !activityData.name && activityData.type === 'g' ? 'Gate' : activityData.name, + activityIconUrl = getActivityIconUrl(activityData), + activityIcon = null; + + if (activityIconUrl) { + activityIcon = $('').attr('src', LAMS_URL + activityIconUrl); + } else { activityIcon = $(''); + } if (activityData.status === 0) { - activityItem.addClass('progress-bar-item-current').text(activityName).prepend(activityIcon); - if (activityData.type === 'g') { - activityIcon.addClass('fa-hourglass-half'); - } else { + activityItem.addClass('progress-bar-item-current').append(activityIcon) + .append($('').text(activityName)); + if (!activityIconUrl) { activityIcon.addClass('fa-pen-to-square'); } } else if (activityData.status === 1) { completedActivityCount++; activityItem.addClass('progress-bar-item-complete').prepend(activityIcon); - if (activityData.type === 'g') { - activityIcon.addClass('fa-hourglass-full'); - } else { + if (!activityIconUrl) { activityIcon.addClass('fa-square-check'); } if (activityData.url) { - let activityLink = $('').text(activityName).attr({ + let activityLink = $('').text(activityName).attr({ 'target': '_blank', 'href': activityData.url, 'role': 'menuitem', @@ -67,10 +79,9 @@ activityItem.addClass('progress-bar-item-openable').append(activityLink); } } else { - activityItem.addClass('progress-bar-item-incomplete').text(activityName).prepend(activityIcon); - if (activityData.type === 'g') { - activityIcon.addClass('fa-hourglass-start'); - } else { + activityItem.addClass('progress-bar-item-incomplete').append(activityIcon) + .append($('').text(activityName)); + if (!activityIconUrl) { activityIcon.addClass('fa-square'); } } @@ -108,4 +119,22 @@ } }); } +} + +function getActivityIconUrl(activityData){ + if (activityData.iconURL){ + return activityData.iconURL; + } + if (activityData.type === 'g') { + return 'images/svg/gate' + (activityData.gateOpen ? 'Open' : 'Closed') + '.svg'; + } + if (activityData.isGrouping) { + return 'images/svg/grouping.svg'; + } + if (activityData.type === 'b') { + return 'images/svg/branchingStart.svg'; + } + if (activityData.type === 'o') { + return 'images/svg/optional.svg'; + } } \ No newline at end of file