diff --git a/assets/css/scorm.scss b/assets/css/scorm.scss index 932e642949..4151d29c9c 100644 --- a/assets/css/scorm.scss +++ b/assets/css/scorm.scss @@ -645,6 +645,12 @@ See https://support.chamilo.org/issues/6976 } &.scorm_item_section { + &.accordion { + .section { + @apply cursor-pointer; + } + } + .section { @apply py-3 pr-4 bg-no-repeat bg-left relative bg-gray-10 after:block after:absolute after:bottom-0 after:left-0 after:right-0 after:mr-4 after:border-b after:border-gray-25 @@ -820,4 +826,14 @@ See https://support.chamilo.org/issues/6976 .item-children { @apply bg-white; + + .accordion + & { + @apply hidden; + } + + .accordion.active + &, + .accordion + &:has(> .scorm_highlight), + &:has(& .scorm_highlight) { + @apply block; + } } diff --git a/assets/js/legacy/lp.js b/assets/js/legacy/lp.js index 359e590cc8..1760a06947 100644 --- a/assets/js/legacy/lp.js +++ b/assets/js/legacy/lp.js @@ -39,4 +39,8 @@ document.addEventListener("DOMContentLoaded", (event) => { } }) }) + + document + .querySelectorAll(".accordion") + .forEach((accordion) => accordion.addEventListener("click", () => accordion.classList.toggle("active"))) }) diff --git a/src/CoreBundle/Resources/views/LearnPath/scorm_list.html.twig b/src/CoreBundle/Resources/views/LearnPath/scorm_list.html.twig index 56edb3d62d..5603853401 100644 --- a/src/CoreBundle/Resources/views/LearnPath/scorm_list.html.twig +++ b/src/CoreBundle/Resources/views/LearnPath/scorm_list.html.twig @@ -1,21 +1,18 @@ {% autoescape false %} {% macro processItem(item, lp_current_item_id, status_list) %} {% import _self as self %} - {% set itemClass = '' %} + {% set itemClass = ' ' %} {% if 'dir' == item.itemType %} - {% set itemClass = 'scorm_item_section' %} + {% set itemClass = itemClass ~ 'scorm_item_section ' %} {% endif %} {% if lp_current_item_id == item.iid %} - {% set itemClass = 'scorm_highlight' %} + {% set itemClass = itemClass ~ 'scorm_highlight ' %} {% endif %} {% set itemLevel = 'level_' ~ (item.lvl - 1) %} {% set itemStatusClass = status_list[item.iid] %} - {% set accordionClass = '' %} - {% if item.itemType == 'dir' %} - {% set accordionClass = 'accordion' %} - {% endif %} + {% set accordionClass = item.itemType == 'dir' and 'true' == chamilo_settings_get('lp.lp_view_accordion') ? 'accordion' : '' %}