localhost-front/public/js/app-email.js
2024-12-13 14:33:50 +09:00

1 line
6.2 KiB
JavaScript

document.addEventListener("DOMContentLoaded",function(){{let e=document.querySelector(".email-list"),a=[].slice.call(document.querySelectorAll(".email-list-item")),l=[].slice.call(document.querySelectorAll(".email-list-item-input")),t=document.querySelector(".app-email-view-content"),r=document.querySelector(".email-filters"),o=[].slice.call(document.querySelectorAll(".email-filter-folders li")),i=document.querySelector(".email-editor"),s=document.querySelector(".app-email-sidebar"),c=document.querySelector(".app-overlay"),n=document.querySelector(".email-reply-editor"),d=[].slice.call(document.querySelectorAll(".email-list-item-bookmark")),m=document.getElementById("email-select-all"),u=document.querySelector(".email-search-input"),p=document.querySelector(".email-compose-toggle-cc"),v=document.querySelector(".email-compose-toggle-bcc"),g=document.querySelector(".app-email-compose"),h=document.querySelector(".email-list-delete"),S=document.querySelector(".email-list-read"),y=document.querySelector(".email-list-empty"),k=document.querySelector(".email-refresh"),b=document.getElementById("app-email-view"),f=[].slice.call(document.querySelectorAll(".email-filter-folders li")),L=[].slice.call(document.querySelectorAll(".email-list-item-actions li"));if(e&&new PerfectScrollbar(e,{wheelPropagation:!1,suppressScrollX:!0}),r&&new PerfectScrollbar(r,{wheelPropagation:!1,suppressScrollX:!0}),t&&new PerfectScrollbar(t,{wheelPropagation:!1,suppressScrollX:!0}),i&&new Quill(".email-editor",{modules:{toolbar:".email-editor-toolbar"},placeholder:"Message... ",theme:"snow"}),n&&new Quill(".email-reply-editor",{modules:{toolbar:".email-reply-toolbar"},placeholder:"Write your message... ",theme:"snow"}),d&&d.forEach(e=>{e.addEventListener("click",e=>{var t=e.currentTarget.parentNode.parentNode.parentNode,l=t.getAttribute("data-starred");e.stopPropagation(),l?t.removeAttribute("data-starred"):t.setAttribute("data-starred","true")})}),m&&m.addEventListener("click",e=>{e.currentTarget.checked?l.forEach(e=>e.checked=1):l.forEach(e=>e.checked=0)}),l&&l.forEach(e=>{e.addEventListener("click",e=>{e.stopPropagation();let t=0;l.forEach(e=>{e.checked&&t++}),t<l.length?0==t?m.indeterminate=!1:m.indeterminate=!0:t==l.length?(m.indeterminate=!1,m.checked=!0):m.indeterminate=!1})}),u&&u.addEventListener("keyup",e=>{let l=e.currentTarget.value.toLowerCase(),t={},a=document.querySelector(".email-filter-folders .active").getAttribute("data-target");(t="inbox"!=a?[].slice.call(document.querySelectorAll(".email-list-item[data-"+a+'="true"]')):[].slice.call(document.querySelectorAll(".email-list-item"))).forEach(e=>{var t=e.textContent.toLowerCase();l?-1<t.indexOf(l)?e.classList.add("d-block"):e.classList.add("d-none"):e.classList.remove("d-none")})}),o.forEach(e=>{e.addEventListener("click",e=>{let t=e.currentTarget,l=t.getAttribute("data-target");s.classList.remove("show"),c.classList.remove("show"),Helpers._removeClass("active",o),t.classList.add("active"),a.forEach(e=>{"inbox"==l||e.hasAttribute("data-"+l)?(e.classList.add("d-block"),e.classList.remove("d-none")):(e.classList.add("d-none"),e.classList.remove("d-block"))})})}),v&&v.addEventListener("click",e=>{Helpers._toggleClass(document.querySelector(".email-compose-bcc"),"d-block","d-none")}),p&&p.addEventListener("click",e=>{Helpers._toggleClass(document.querySelector(".email-compose-cc"),"d-block","d-none")}),g.addEventListener("hidden.bs.modal",e=>{document.querySelector(".email-editor .ql-editor").innerHTML="",$("#emailContacts").val(""),C()}),h&&h.addEventListener("click",e=>{l.forEach(e=>{e.checked&&e.parentNode.closest("li.email-list-item").remove()}),m.indeterminate=!1,m.checked=!1,0==document.querySelectorAll(".email-list-item").length&&y.classList.remove("d-none")}),S&&S.addEventListener("click",e=>{l.forEach(e=>{e.checked&&(e.checked=!1,e.parentNode.closest("li.email-list-item").classList.add("email-marked-read"),e=e.parentNode.closest("li.email-list-item").querySelector(".email-list-item-actions li"),Helpers._hasClass("email-read",e))&&(e.classList.remove("email-read"),e.classList.add("email-unread"),e.querySelector("i").classList.remove("bx-envelope-open"),e.querySelector("i").classList.add("bx-envelope"))}),m.indeterminate=!1,m.checked=!1}),k&&e){let t=$(".email-list"),l=new PerfectScrollbar(e,{wheelPropagation:!1,suppressScrollX:!0});k.addEventListener("click",e=>{t.block({message:'<div class="spinner-border text-primary" role="status"></div>',timeout:1e3,css:{backgroundColor:"transparent",border:"0"},overlayCSS:{backgroundColor:"#000",opacity:.1},onBlock:function(){l.settings.suppressScrollY=!0},onUnblock:function(){l.settings.suppressScrollY=!1}})})}var w=$(".email-earlier-msgs");w.length&&w.on("click",function(){var e=$(this);e.parents().find(".email-card-last").addClass("hide-pseudo"),e.next(".email-card-prev").slideToggle(),e.remove()});let q=$("#emailContacts");function C(){function e(e){return e.id?"<div class='d-flex flex-wrap align-items-center'><div class='avatar avatar-xs me-2 w-px-20 h-px-20'><img src='"+assetsPath+"img/avatars/"+$(e.element).data("avatar")+"' alt='avatar' class='rounded-circle' /></div>"+e.text+"</div>":e.text}q.length&&q.wrap('<div class="position-relative"></div>').select2({placeholder:"Select value",dropdownParent:q.parent(),closeOnSelect:!1,templateResult:e,templateSelection:e,escapeMarkup:function(e){return e}})}C();let E=$(".app-email-view-content");E.find(".scroll-to-reply").on("click",function(){0===E[0].scrollTop&&E.animate({scrollTop:E[0].scrollHeight},1500)}),f&&f.forEach(e=>{e.addEventListener("click",e=>{b.classList.remove("show")})}),L&&L.forEach(e=>{e.addEventListener("click",e=>{e.stopPropagation();e=e.currentTarget;Helpers._hasClass("email-delete",e)?(e.parentNode.closest("li.email-list-item").remove(),0==document.querySelectorAll(".email-list-item").length&&y.classList.remove("d-none")):Helpers._hasClass("email-read",e)?(e.parentNode.closest("li.email-list-item").classList.add("email-marked-read"),Helpers._toggleClass(e,"email-read","email-unread"),Helpers._toggleClass(e.querySelector("i"),"bx-envelope-open","bx-envelope")):Helpers._hasClass("email-unread",e)&&(e.parentNode.closest("li.email-list-item").classList.remove("email-marked-read"),Helpers._toggleClass(e,"email-read","email-unread"),Helpers._toggleClass(e.querySelector("i"),"bx-envelope-open","bx-envelope"))})})}});