// Please see documentation at https://learn.microsoft.com/aspnet/core/client-side/bundling-and-minification // for details on configuring this project to bundle and minify static web assets. // Write your JavaScript code. class Aside { constructor() { this.body = document.body; this.aside = document.getElementById("aside"); this.btnAsideToggle = document.getElementById("btnAsideToggle"); } // 사이드 바 토글 시 toggleAside(e) { let isHidden = this.isHidden(); if (isHidden) { aside.showAside(); } else { aside.hideAside(); } setCookie("hidden-aside", isHidden ? "visible" : "hidden", 7); } // 사이드 바 토글 시 아이콘 변경 toggleAsideIcon (isHidden) { let icon = this.btnAsideToggle.querySelector("i"); if (isHidden) { icon.classList.remove("bi-arrow-left"); icon.classList.add("bi-arrow-right"); } else { icon.classList.remove("bi-arrow-right"); icon.classList.add("bi-arrow-left"); } }; // 숨김 여부 확인 isHidden() { let isHidden = getCookie("hidden-aside") ; if (isHidden == "") { isHidden = this.body.classList.contains("hidden-aside"); } return (isHidden === "hidden"); } // 보이기 showAside() { this.body.classList.remove("hidden-aside"); this.toggleAsideIcon(0); setCookie("hidden-aside", "visible", 7); } // 숨기기 hideAside() { this.body.classList.add("hidden-aside"); this.toggleAsideIcon(1); setCookie("hidden-aside", "hidden", 7); } } const aside = new Aside(); $(function () { // 사이드 바 토글 유지 let isHidden = aside.isHidden(); if (isHidden) { aside.hideAside(); } else { aside.showAside(); } }); document.getElementById("btnAsideToggle").addEventListener("click", (e) => aside.toggleAside(e)); // 화면이 작아지면 window.addEventListener("resize", function () { if (window.innerWidth > 768) { aside.showAside(0); } else { aside.hideAside(1); } }); // 메뉴 토글 유지 const collapseElementList = document.querySelectorAll('.collapse'); collapseElementList.forEach(collapseEl => { const collapseID = collapseEl.id; const collapseState = getCookie(collapseID); if (collapseState === 'open') { new bootstrap.Collapse(collapseEl, { show: true }); } else if (collapseState === 'closed') { new bootstrap.Collapse(collapseEl, { toggle: false }); } collapseEl.addEventListener('show.bs.collapse', () => { setCookie(collapseID, 'open', 7); }); collapseEl.addEventListener('hide.bs.collapse', () => { setCookie(collapseID, 'closed', 7); }); }); // 드롭박스 적용 const dropdownElementList = document.querySelectorAll('.dropdown-toggle'); const dropdownList = [...dropdownElementList].map(dropdownToggleEl => new bootstrap.Dropdown(dropdownToggleEl)); // 삭제 처리 $(document).on("click", ".btn-delete-row", function (e) { e.preventDefault(); if (confirm("삭제하시겠습니까?")) { location.href = e.target.closest("a").href; } });