<%#

Paramètres de sidemenu item

* sidemenuItem.isCollapsible (booolean, optional) : si true, l'élement est refermable

* sidemenuItem.collapseId (string, required) : id du collapse

* sidemenuItem.items (array, optional) : tableau de sous éléments

%>
<% eval(include('../../../../core/index.ejs')); %>

<%
let sidemenuItem = locals.sidemenuItem || {};
const action = {
    label: sidemenuItem.label,
    disabled: sidemenuItem.disabled,
    attributes: {},
    classes: []
};
const sidemenuClasses = [];
const sidemenuAttrs = {};

if (sidemenuItem.active) action.attributes['aria-current'] = true;

switch (sidemenuItem.isCollapsible) {
    case true:
        action.type = 'button';
        action.markup = 'button';
        action.classes.push(`${prefix}-sidemenu__btn`);
        action.attributes['aria-expanded'] = sidemenuItem.isExpanded === true;
        action.attributes['aria-controls'] = sidemenuItem.collapseId;
        sidemenuClasses.push(`${prefix}-collapse`);
        if (sidemenuItem.isExpanded) sidemenuClasses.push(`${prefix}-collapse--expanded`);
        sidemenuAttrs.id = sidemenuItem.collapseId;
        break;
    default:
        action.markup = 'a';
        action.classes.push(`${prefix}-sidemenu__link`);
        action.href = sidemenuItem.href;
        break;
}

%>

<%- include('../../../../core/template/ejs/action/action', { action: action }) %>

<div <%- includeClasses(sidemenuClasses) %> <%- includeAttrs(sidemenuAttrs)%>>
  <%- include('./sidemenu-list.ejs', {sidemenuItems: sidemenuItem.items}); %>
</div>
