const appList = (function () {
const lists = document.querySelectorAll('.list');
return {
init: function() {
if (lists) {
lists.forEach(list => {
this.addIcons(list);
if (list.classList.contains("list-type-left")) {
this.listTypeLeft(list);
}
});
}
},
listTypeLeft: function(list) {
const firstElement = list.querySelector('.list__item');
firstElement.classList.add('is-hover');
if (firstElement.querySelector('.list-level-0')) {
list.closest(".list-wrapper").querySelector(".list-type-left-content").appendChild(firstElement.querySelector(".list-level-0").cloneNode(true));
}
list.querySelectorAll('.list__item .list__title a').forEach(link => {
link.addEventListener("mouseenter", e => {
list.querySelectorAll('.list__item .list__title a').forEach(link => {
link.closest('.list__item').classList.remove('is-hover');
});
e.currentTarget.closest('.list__item').classList.add('is-hover');
list.closest('.list-wrapper').querySelector(".list-type-left-content").innerHTML = "";
if (link.closest('.list__item').querySelector('.list-level-0')) {
list.closest('.list-wrapper').querySelector(".list-type-left-content").appendChild(link.closest('.list__item').querySelector('.list-level-0').cloneNode(true));
}
});
});
},
addIcons: function(list) {
list.querySelectorAll("li").forEach((item) => {
if (!item.classList.contains('js-icon-processed')) {
if (item.getAttribute("data-ico")) {
item.classList.add('js-icon-processed');
item.querySelector(".list__title a").insertAdjacentHTML('afterbegin', ``)
}
}
});
},
}
})();
appList.init();