From 368cd07c5c3fe9c45ebf0333127f76a904f30382 Mon Sep 17 00:00:00 2001 From: Matteo Manzinello Date: Fri, 13 Sep 2019 22:29:20 +0200 Subject: [PATCH] go on with tel --- dist/mailgo.min.js | 2 +- mailgo.js | 2 +- src/mailgo.js | 154 ++++++++++++++------------------------------- 3 files changed, 49 insertions(+), 109 deletions(-) diff --git a/dist/mailgo.min.js b/dist/mailgo.min.js index 72a20c7..e62d55e 100644 --- a/dist/mailgo.min.js +++ b/dist/mailgo.min.js @@ -1 +1 @@ -"use strict";var V="0.6.10",MAILTO="mailto:",TEL="tel:",mailgoCSS=document.createElement("style");mailgoCSS.id="mailgo-style",mailgoCSS.type="text/css";var mailgoCSSContent=document.createTextNode('.mailgo-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.mailgo-modal a,.mailgo-modal p,.mailgo-modal span,.mailgo-modal strong{margin:0;padding:0;font-size:100%;line-height:1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}.mailgo-modal strong{font-weight:700}.mailgo-modal .mailgo-modal-background{position:absolute;z-index:10001;top:0;right:0;bottom:0;left:0;background-color:rgba(32,35,42,.75);opacity:.8}.mailgo-modal .mailgo-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:.97;border-radius:5px;box-shadow:0 3px 8px 0 rgba(32,35,42,.12);color:#4a4a4a;display:block;overflow:auto;padding:20px}.mailgo-modal .mailgo-modal-content:hover{opacity:1;box-shadow:0 18px 30px 0 rgba(32,35,42,.23)}.mailgo-modal .mailgo-modal-content .mailgo-title{display:block;margin-bottom:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mailgo-modal .mailgo-modal-content .mailgo-details{margin-bottom:10px}.mailgo-modal .mailgo-modal-content .mailgo-details p{font-size:12px;margin-top:3px;margin-bottom:3px}.mailgo-modal .mailgo-modal-content a{display:block;padding:10px;color:#4a4a4a;border-radius:5px;text-decoration:none}.mailgo-modal .mailgo-modal-content a.mailgo-gmail{color:#d44638}.mailgo-modal .mailgo-modal-content a.mailgo-outlook{color:#0072c6}.mailgo-modal .mailgo-modal-content a.mailgo-copy{padding:16px 10px;font-size:16px}.mailgo-modal .mailgo-modal-content a.mailgo-copy:hover,.mailgo-modal .mailgo-modal-content a.mailgo-default:hover{background-color:rgba(0,0,0,.08);color:#4a4a4a}.mailgo-modal .mailgo-modal-content a.mailgo-outlook:hover{background-color:rgba(0,114,198,.08);color:#0072c6}.mailgo-modal .mailgo-modal-content a.mailgo-gmail:hover{background-color:rgba(212,70,56,.08);color:#d44638}.mailgo-modal .mailgo-modal-content a.mailgo-by{display:block;font-size:8px;margin-top:1rem;padding:0;color:#4a4a4a;opacity:.5}.mailgo-modal .mailgo-modal-content a.mailgo-by:hover{opacity:1}.mailgo-modal .mailgo-modal-content .mailgo-weight-500{font-weight:500}');mailgoCSS.appendChild(mailgoCSSContent),document.head.appendChild(mailgoCSS);var mailgoInit=function(){var e=document.createElement("div");e.style.display="none",e.id="mailgo",e.classList.add("mailgo-modal");var a=document.createElement("div");a.className="mailgo-modal-background",e.appendChild(a);var o=document.createElement("div");o.className="mailgo-modal-content",e.appendChild(o);var t=document.createElement("strong");t.id="mailgo-title",t.className="mailgo-title",o.appendChild(t);var l=document.createElement("div");l.id="mailgo-details",l.className="mailgo-details";var n=document.createElement("p");n.id="mailgo-cc";var i=document.createElement("span");i.className="mailgo-weight-500";var d=document.createTextNode("cc ");i.appendChild(d);var c=document.createElement("span");c.id="mailgo-cc-value",n.appendChild(i),n.appendChild(c),l.appendChild(n);var m=document.createElement("p");m.id="mailgo-bcc";var r=document.createElement("span");r.className="mailgo-weight-500";var s=document.createTextNode("bcc ");r.appendChild(s);var p=document.createElement("span");p.id="mailgo-bcc-value",m.appendChild(r),m.appendChild(p),l.appendChild(m);var g=document.createElement("p");g.id="mailgo-subject";var u=document.createElement("span");u.className="mailgo-weight-500";var h=document.createTextNode("subject ");u.appendChild(h);var v=document.createElement("span");v.id="mailgo-subject-value",g.appendChild(u),g.appendChild(v),l.appendChild(g);var b=document.createElement("p");b.id="mailgo-body";var E=document.createElement("span");E.className="mailgo-weight-500";var y=document.createTextNode("body ");E.appendChild(y);var C=document.createElement("span");C.id="mailgo-body-value",b.appendChild(E),b.appendChild(C),l.appendChild(b),o.appendChild(l);var f=document.createElement("a");f.id="mailgo-gmail",f.href="#mailgo-gmail",f.classList.add("mailgo-open"),f.classList.add("mailgo-gmail");var x=document.createTextNode("open in ");f.appendChild(x);var w=document.createElement("span");w.className="mailgo-weight-500";var L=document.createTextNode("Gmail");w.appendChild(L),f.appendChild(w),o.appendChild(f);var k=document.createElement("a");k.id="mailgo-outlook",k.href="#mailgo-outlook",k.classList.add("mailgo-open"),k.classList.add("mailgo-outlook");var T=document.createTextNode("open in ");k.appendChild(T);var N=document.createElement("span");N.className="mailgo-weight-500";var j=document.createTextNode("Outlook");N.appendChild(j),k.appendChild(N),o.appendChild(k);var M=document.createElement("a");M.id="mailgo-open",M.href="#mailgo-open",M.classList.add("mailgo-open"),M.classList.add("mailgo-default");var S=document.createElement("span");S.className="mailgo-weight-500";var A=document.createTextNode("open");S.appendChild(A);var I=document.createTextNode(" default");M.appendChild(S),M.appendChild(I),o.appendChild(M);var R=document.createElement("a");R.id="mailgo-copy",R.href="#mailgo-copy",R.classList.add("mailgo-copy"),R.classList.add("mailgo-weight-500");var U=document.createTextNode("copy");R.appendChild(U),o.appendChild(R);var O=document.createElement("a");O.href="https://mailgo.js.org?ref=mailgo-modal",O.className="mailgo-by",O.target="_blank",O.rel="noopener noreferrer";var z=document.createTextNode("mailgo.js.org");O.appendChild(z),o.appendChild(O),document.body.appendChild(e),a.addEventListener("click",hideMailgo)},mailgoTelInit=function(){var e=document.createElement("div");e.style.display="none",e.id="mailgo-tel",e.classList.add("mailgo-modal");var a=document.createElement("div");a.className="mailgo-modal-background",e.appendChild(a);var o=document.createElement("div");o.className="mailgo-modal-content",e.appendChild(o);var t=document.createElement("strong");t.id="mailgo-title",t.className="mailgo-title",o.appendChild(t);var l=document.createElement("div");l.id="mailgo-details",l.className="mailgo-details";var n=document.createElement("p");n.id="mailgo-cc";var i=document.createElement("span");i.className="mailgo-weight-500";var d=document.createTextNode("cc ");i.appendChild(d);var c=document.createElement("span");c.id="mailgo-cc-value",n.appendChild(i),n.appendChild(c),l.appendChild(n);var m=document.createElement("p");m.id="mailgo-bcc";var r=document.createElement("span");r.className="mailgo-weight-500";var s=document.createTextNode("bcc ");r.appendChild(s);var p=document.createElement("span");p.id="mailgo-bcc-value",m.appendChild(r),m.appendChild(p),l.appendChild(m);var g=document.createElement("p");g.id="mailgo-subject";var u=document.createElement("span");u.className="mailgo-weight-500";var h=document.createTextNode("subject ");u.appendChild(h);var v=document.createElement("span");v.id="mailgo-subject-value",g.appendChild(u),g.appendChild(v),l.appendChild(g);var b=document.createElement("p");b.id="mailgo-body";var E=document.createElement("span");E.className="mailgo-weight-500";var y=document.createTextNode("body ");E.appendChild(y);var C=document.createElement("span");C.id="mailgo-body-value",b.appendChild(E),b.appendChild(C),l.appendChild(b),o.appendChild(l);var f=document.createElement("a");f.id="mailgo-wa",f.href="#mailgo-wa",f.classList.add("mailgo-open"),f.classList.add("mailgo-wa");var x=document.createTextNode("open in ");f.appendChild(x);var w=document.createElement("span");w.className="mailgo-weight-500";var L=document.createTextNode("WhatsApp");w.appendChild(L),f.appendChild(w),o.appendChild(f);var k=document.createElement("a");k.id="mailgo-telegram",k.href="#mailgo-telegram",k.classList.add("mailgo-open"),k.classList.add("mailgo-telegram");var T=document.createTextNode("open in ");k.appendChild(T);var N=document.createElement("span");N.className="mailgo-weight-500";var j=document.createTextNode("Telegram");N.appendChild(j),k.appendChild(N),o.appendChild(k);var M=document.createElement("a");M.id="mailgo-open",M.href="#mailgo-open",M.classList.add("mailgo-open"),M.classList.add("mailgo-default");var S=document.createElement("span");S.className="mailgo-weight-500";var A=document.createTextNode("call");S.appendChild(A);var I=document.createTextNode(" default");M.appendChild(S),M.appendChild(I),o.appendChild(M);var R=document.createElement("a");R.id="mailgo-copy",R.href="#mailgo-copy",R.classList.add("mailgo-copy"),R.classList.add("mailgo-weight-500");var U=document.createTextNode("copy");R.appendChild(U),o.appendChild(R);var O=document.createElement("a");O.href="https://mailgo.js.org?ref=mailgo-modal",O.className="mailgo-by",O.target="_blank",O.rel="noopener noreferrer";var z=document.createTextNode("mailgo.js.org");O.appendChild(z),o.appendChild(O),document.body.appendChild(e),a.addEventListener("click",hideMailgo)},mailgoRender=function(e){var a="",o="",t="",l="",n="",i="";if(e.href&&e.href.toLowerCase().startsWith(MAILTO)){o=decodeURIComponent(e.href.split("?")[0].split(MAILTO)[1].trim()),a=new URL(e.href);var d=new URLSearchParams(a.search);t=d.get("cc"),l=d.get("bcc"),n=d.get("subject"),i=d.get("body")}else o=e.getAttribute("data-address")+"@"+e.getAttribute("data-domain"),a=new URL(MAILTO+encodeURIComponent(o)),t=e.getAttribute("data-cc-address")+"@"+e.getAttribute("data-cc-domain"),l=e.getAttribute("data-bcc-address")+"@"+e.getAttribute("data-bcc-domain"),n=e.getAttribute("data-subject"),i=e.getAttribute("data-body");if(validateEmails(o.split(","))){t&&!validateEmails(t.split(","))&&(t=""),l&&!validateEmails(l.split(","))&&(l="");var c=getE("mailgo-title"),m=(getE("mailgo-details"),getE("mailgo-cc")),r=getE("mailgo-cc-value"),s=getE("mailgo-bcc"),p=getE("mailgo-bcc-value"),g=getE("mailgo-subject"),u=getE("mailgo-subject-value"),h=getE("mailgo-body"),v=getE("mailgo-body-value"),b=getE("mailgo-gmail"),E=getE("mailgo-outlook"),y=getE("mailgo-open"),C=getE("mailgo-copy");c.innerHTML=o.split(",").join("
"),t?(m.style.display="block",r.innerHTML=t.split(",").join("
")):m.style.display="none",l?(s.style.display="block",p.innerHTML=l.split(",").join("
")):s.style.display="none",n?(g.style.display="block",u.textContent=n):g.style.display="none",i?(h.style.display="block",v.textContent=i):h.style.display="none",b.addEventListener("click",function(){return actions.openGmail(o,t,l,n,i)}),E.addEventListener("click",function(){return actions.openOutlook(o,n,i)});var f=encodeEmail(o);y.addEventListener("click",function(){return actions.openDefault(f)}),C.addEventListener("click",function(){return actions.copy(o,C)}),showMailgo(),document.addEventListener("keydown",function(){return mailgoKeydown(o,t,l,n,i,f,C)})}},mailgoTelRender=function(e){mail=decodeURIComponent(e.href.split("?")[0].split(TEL)[1].trim()),url=new URL(e.href);new URLSearchParams(url.search);var a=getE("mailgo-title"),o=(getE("mailgo-details"),getE("mailgo-cc")),t=getE("mailgo-cc-value"),l=getE("mailgo-bcc"),n=getE("mailgo-bcc-value"),i=getE("mailgo-subject"),d=getE("mailgo-subject-value"),c=getE("mailgo-body"),m=getE("mailgo-body-value"),r=getE("mailgo-gmail"),s=getE("mailgo-outlook"),p=getE("mailgo-open"),g=getE("mailgo-copy");a.innerHTML=mail.split(",").join("
"),cc?(o.style.display="block",t.innerHTML=cc.split(",").join("
")):o.style.display="none",bcc?(l.style.display="block",n.innerHTML=bcc.split(",").join("
")):l.style.display="none",subject?(i.style.display="block",d.textContent=subject):i.style.display="none",bodyMail?(c.style.display="block",m.textContent=bodyMail):c.style.display="none",r.addEventListener("click",function(){return actions.openGmail(mail,cc,bcc,subject,bodyMail)}),s.addEventListener("click",function(){return actions.openOutlook(mail,subject,bodyMail)});var u=encodeEmail(mail);p.addEventListener("click",function(){return actions.openDefault(u)}),g.addEventListener("click",function(){return actions.copy(mail,g)}),showMailgoTel(),document.addEventListener("keydown",function(){return mailgoKeydown(mail,cc,bcc,subject,bodyMail,u,g)})},actions={openGmail:function(e,a,o,t,l){var n="https://mail.google.com/mail/u/0/?view=cm&source=mailto&to="+encodeURIComponent(e);a&&(n=n.concat("&cc="+encodeURIComponent(a))),o&&(n=n.concat("&bcc="+encodeURIComponent(o))),t&&(n=n.concat("&subject="+t)),l&&(n=n.concat("&body="+l)),window.open(n,"_blank")},openOutlook:function(e,a,o){var t="https://outlook.live.com/owa/?path=/mail/action/compose&to="+encodeURIComponent(e);a&&(t=t.concat("&subject="+a)),o&&(t=t.concat("&body="+o)),window.open(t,"_blank")},openDefault:function(e){mailToEncoded(e)},openWhatsApp:function(e,a){var o="https://wa.me/"+e;window.open(o,"_blank")},openTelegram:function(e,a){var o="tg://msg?text="+(1()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)},showMailgo=function(){return getE("mailgo").style.display="flex"},hideMailgo=function(){return getE("mailgo").style.display="none"},mailgoIsShowing=function(){return"flex"===getE("mailgo").style.display},mailToEncoded=function(e){return window.location.href=MAILTO+atob(e)},encodeEmail=function(e){return btoa(e)},getE=function(e){return document.getElementById(e)},composedPath=function(e){for(var a=[];e;){if(a.push(e),"HTML"===e.tagName)return a.push(document),a.push(window),a;e=e.parentElement}},validateEmails=function(e){return e.every(validateEmail)},cleanTel=function(e){return e},copyToClipboard=function(e){var a=document.createElement("textarea");a.value=e,a.setAttribute("readonly",""),a.style.position="absolute",a.style.left="-9999px",document.body.appendChild(a);var o=0"),t?(m.style.display="block",r.innerHTML=t.split(",").join("
")):m.style.display="none",l?(s.style.display="block",g.innerHTML=l.split(",").join("
")):s.style.display="none",n?(p.style.display="block",u.textContent=n):p.style.display="none",i?(h.style.display="block",v.textContent=i):h.style.display="none",f.addEventListener("click",function(){return actions.openGmail(o,t,l,n,i)}),C.addEventListener("click",function(){return actions.openOutlook(o,n,i)});var y=encodeEmail(o);b.addEventListener("click",function(){return actions.openDefault(y)}),E.addEventListener("click",function(){return actions.copy(o,E)}),showMailgo(),document.addEventListener("keydown",function(){return mailgoKeydown(o,t,l,n,i,y,E)})}},mailgoTelRender=function(e){var a="";e.href&&e.href.toLowerCase().startsWith(TEL)&&(a=decodeURIComponent(e.href.split("?")[0].split(TEL)[1].trim())),e.href&&e.href.toLowerCase().startsWith(CALLTO)&&(a=decodeURIComponent(e.href.split("?")[0].split(CALLTO)[1].trim()));var o=getE("mailgo-title"),t=getE("mailgo-wa"),l=getE("mailgo-telegram"),n=getE("mailgo-call"),i=getE("mailgo-copy");o.innerHTML=a,t.addEventListener("click",function(){return actions.openWhatsApp(a)}),l.addEventListener("click",function(){return actions.openTelegram(a)}),n.addEventListener("click",function(){return actions.callDefault(a)}),i.addEventListener("click",function(){return actions.copy(a,i)}),showMailgoTel()},actions={openGmail:function(e,a,o,t,l){var n="https://mail.google.com/mail/u/0/?view=cm&source=mailto&to="+encodeURIComponent(e);a&&(n=n.concat("&cc="+encodeURIComponent(a))),o&&(n=n.concat("&bcc="+encodeURIComponent(o))),t&&(n=n.concat("&subject="+t)),l&&(n=n.concat("&body="+l)),window.open(n,"_blank")},openOutlook:function(e,a,o){var t="https://outlook.live.com/owa/?path=/mail/action/compose&to="+encodeURIComponent(e);a&&(t=t.concat("&subject="+a)),o&&(t=t.concat("&body="+o)),window.open(t,"_blank")},openDefault:function(e){mailToEncoded(e)},openWhatsApp:function(e,a){var o="https://wa.me/"+e;window.open(o,"_blank")},openTelegram:function(e,a){var o="tg://msg?text="+(1()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)},showMailgo=function(){return getE("mailgo").style.display="flex"},showMailgoTel=function(){return getE("mailgo-tel").style.display="flex"},hideMailgo=function(){return getE("mailgo").style.display="none"},mailgoIsShowing=function(){return"flex"===getE("mailgo").style.display},mailToEncoded=function(e){return window.location.href=MAILTO+atob(e)},encodeEmail=function(e){return btoa(e)},getE=function(e){return document.getElementById(e)},composedPath=function(e){for(var a=[];e;){if(a.push(e),"HTML"===e.tagName)return a.push(document),a.push(window),a;e=e.parentElement}},validateEmails=function(e){return e.every(validateEmail)},cleanTel=function(e){return e},copyToClipboard=function(e){var a=document.createElement("textarea");a.value=e,a.setAttribute("readonly",""),a.style.position="absolute",a.style.left="-9999px",document.body.appendChild(a);var o=0"),o?(u.style.display="block",v.innerHTML=o.split(",").join("
")):u.style.display="none",n?(f.style.display="block",b.innerHTML=n.split(",").join("
")):f.style.display="none",d?(y.style.display="block",C.textContent=d):y.style.display="none",m?(x.style.display="block",E.textContent=m):x.style.display="none",w.addEventListener("click",(function(){return l.openGmail(t,o,n,d,m)})),N.addEventListener("click",(function(){return l.openOutlook(t,d,m)}));var T=s(t);k.addEventListener("click",(function(){return l.openDefault(T)})),L.addEventListener("click",(function(){return l.copy(t,L)})),c(),document.addEventListener("keydown",(function(){return i(t,o,n,d,m,T,L)}))}}(a)}))}}));var d=function(e){return/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)},c=function(){return g("mailgo").style.display="flex"},m=function(){return g("mailgo").style.display="none"},r=function(){return"flex"===g("mailgo").style.display},p=function(e){return window.location.href="mailto:"+atob(e)},s=function(e){return btoa(e)},g=function(e){return document.getElementById(e)},u=function(e){for(var a=[];e;){if(a.push(e),"HTML"===e.tagName)return a.push(document),a.push(window),a;e=e.parentElement}},h=function(e){return e.every(d)},v=function(e){var a=document.createElement("textarea");a.value=e,a.setAttribute("readonly",""),a.style.position="absolute",a.style.left="-9999px",document.body.appendChild(a);var t=0"),o?(s.style.display="block",f.innerHTML=o.split(",").join("
")):s.style.display="none",n?(v.style.display="block",b.innerHTML=n.split(",").join("
")):v.style.display="none",d?(y.style.display="block",C.textContent=d):y.style.display="none",r?(x.style.display="block",w.textContent=r):x.style.display="none",E.addEventListener("click",(function(){return l.openGmail(t,o,n,d,r)})),k.addEventListener("click",(function(){return l.openOutlook(t,d,r)}));var T=g(t);L.addEventListener("click",(function(){return l.openDefault(T)})),N.addEventListener("click",(function(){return l.copy(t,N)})),c(),document.addEventListener("keydown",(function(){return i(t,o,n,d,r,T,N)}))}}(a)):function(e){return e.href&&(e.href.toLowerCase().startsWith("tel:")||e.href.toLowerCase().startsWith("callto:"))&&!e.classList.contains("no-mailgo")}(a)?(e.preventDefault(),void function(e){var a="";e.href&&e.href.toLowerCase().startsWith("tel:")&&(a=decodeURIComponent(e.href.split("?")[0].split("tel:")[1].trim())),e.href&&e.href.toLowerCase().startsWith("callto:")&&(a=decodeURIComponent(e.href.split("?")[0].split("callto:")[1].trim()));var t=u("mailgo-title"),o=u("mailgo-wa"),n=u("mailgo-telegram"),i=u("mailgo-call"),d=u("mailgo-copy");t.innerHTML=a,o.addEventListener("click",(function(){return l.openWhatsApp(a)})),n.addEventListener("click",(function(){return l.openTelegram(a)})),i.addEventListener("click",(function(){return l.callDefault(a)})),d.addEventListener("click",(function(){return l.copy(a,d)})),r()}(a)):void 0}))}}));var d=function(e){return/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)},c=function(){return u("mailgo").style.display="flex"},r=function(){return u("mailgo-tel").style.display="flex"},m=function(){return u("mailgo").style.display="none"},p=function(){return"flex"===u("mailgo").style.display},s=function(e){return window.location.href="mailto:"+atob(e)},g=function(e){return btoa(e)},u=function(e){return document.getElementById(e)},f=function(e){for(var a=[];e;){if(a.push(e),"HTML"===e.tagName)return a.push(document),a.push(window),a;e=e.parentElement}},h=function(e){return e.every(d)},v=function(e){var a=document.createElement("textarea");a.value=e,a.setAttribute("readonly",""),a.style.position="absolute",a.style.left="-9999px",document.body.appendChild(a);var t=0 { title.className = "mailgo-title"; modalContent.appendChild(title); - // details - let details = document.createElement("div"); - details.id = "mailgo-details"; - details.className = "mailgo-details"; - - let detailCc = document.createElement("p"); - detailCc.id = "mailgo-cc"; - let ccSpan = document.createElement("span"); - ccSpan.className = "mailgo-weight-500"; - let ccContent = document.createTextNode("cc "); - ccSpan.appendChild(ccContent); - let ccValue = document.createElement("span"); - ccValue.id = "mailgo-cc-value"; - detailCc.appendChild(ccSpan); - detailCc.appendChild(ccValue); - details.appendChild(detailCc); - - let detailBcc = document.createElement("p"); - detailBcc.id = "mailgo-bcc"; - let bccSpan = document.createElement("span"); - bccSpan.className = "mailgo-weight-500"; - let bccContent = document.createTextNode("bcc "); - bccSpan.appendChild(bccContent); - let bccValue = document.createElement("span"); - bccValue.id = "mailgo-bcc-value"; - detailBcc.appendChild(bccSpan); - detailBcc.appendChild(bccValue); - details.appendChild(detailBcc); - - let detailSubject = document.createElement("p"); - detailSubject.id = "mailgo-subject"; - let subjectSpan = document.createElement("span"); - subjectSpan.className = "mailgo-weight-500"; - let subjectContent = document.createTextNode("subject "); - subjectSpan.appendChild(subjectContent); - let subjectValue = document.createElement("span"); - subjectValue.id = "mailgo-subject-value"; - detailSubject.appendChild(subjectSpan); - detailSubject.appendChild(subjectValue); - details.appendChild(detailSubject); - - let detailBody = document.createElement("p"); - detailBody.id = "mailgo-body"; - let bodySpan = document.createElement("span"); - bodySpan.className = "mailgo-weight-500"; - let bodyContent = document.createTextNode("body "); - bodySpan.appendChild(bodyContent); - let bodyValue = document.createElement("span"); - bodyValue.id = "mailgo-body-value"; - detailBody.appendChild(bodySpan); - detailBody.appendChild(bodyValue); - details.appendChild(detailBody); - - modalContent.appendChild(details); - // WhatsApp let wa = document.createElement("a"); wa.id = "mailgo-wa"; @@ -284,7 +230,7 @@ const mailgoTelInit = () => { modalContent.appendChild(telegram); - // open default + // call default let call = document.createElement("a"); call.id = "mailgo-open"; call.href = "#mailgo-open"; @@ -466,78 +412,54 @@ const mailgoTelRender = mailgo => { let tel = "", msg = ""; - mail = decodeURIComponent( - mailgo.href - .split("?")[0] - .split(TEL)[1] - .trim() - ); + if (mailgo.href && mailgo.href.toLowerCase().startsWith(TEL)) { + tel = decodeURIComponent( + mailgo.href + .split("?")[0] + .split(TEL)[1] + .trim() + ); + } - url = new URL(mailgo.href); - let urlParams = new URLSearchParams(url.search); + if (mailgo.href && mailgo.href.toLowerCase().startsWith(CALLTO)) { + tel = decodeURIComponent( + mailgo.href + .split("?")[0] + .split(CALLTO)[1] + .trim() + ); + } // information let titleEl = getE("mailgo-title"); - let detailsEl = getE("mailgo-details"); - let ccEl = getE("mailgo-cc"); - let ccValueEl = getE("mailgo-cc-value"); - let bccEl = getE("mailgo-bcc"); - let bccValueEl = getE("mailgo-bcc-value"); - let subjectEl = getE("mailgo-subject"); - let subjectValueEl = getE("mailgo-subject-value"); - let bodyEl = getE("mailgo-body"); - let bodyValueEl = getE("mailgo-body-value"); // actions - let gmailButton = getE("mailgo-gmail"); - let outlookButton = getE("mailgo-outlook"); - let openButton = getE("mailgo-open"); + let waButton = getE("mailgo-wa"); + let telegramButton = getE("mailgo-telegram"); + let callButton = getE("mailgo-call"); let copyButton = getE("mailgo-copy"); // the title of the modal (email address) - titleEl.innerHTML = mail.split(",").join("
"); - - // add the details if provided - cc - ? ((ccEl.style.display = "block"), - (ccValueEl.innerHTML = cc.split(",").join("
"))) - : (ccEl.style.display = "none"); - - bcc - ? ((bccEl.style.display = "block"), - (bccValueEl.innerHTML = bcc.split(",").join("
"))) - : (bccEl.style.display = "none"); - - subject - ? ((subjectEl.style.display = "block"), - (subjectValueEl.textContent = subject)) - : (subjectEl.style.display = "none"); - - bodyMail - ? ((bodyEl.style.display = "block"), (bodyValueEl.textContent = bodyMail)) - : (bodyEl.style.display = "none"); + titleEl.innerHTML = tel; // add the actions - gmailButton.addEventListener("click", () => - actions.openGmail(mail, cc, bcc, subject, bodyMail) - ); + waButton.addEventListener("click", () => actions.openWhatsApp(tel)); - outlookButton.addEventListener("click", () => - actions.openOutlook(mail, subject, bodyMail) - ); + telegramButton.addEventListener("click", () => actions.openTelegram(tel)); - let encEmail = encodeEmail(mail); - openButton.addEventListener("click", () => actions.openDefault(encEmail)); + callButton.addEventListener("click", () => actions.callDefault(tel)); - copyButton.addEventListener("click", () => actions.copy(mail, copyButton)); + copyButton.addEventListener("click", () => actions.copy(tel, copyButton)); // show the mailgo showMailgoTel(); // listener keyDown + /* document.addEventListener("keydown", () => mailgoKeydown(mail, cc, bcc, subject, bodyMail, encEmail, copyButton) ); + */ }; // actions @@ -579,6 +501,11 @@ const actions = { window.open(tgUrl, "_blank"); }, + callDefault: tel => { + let callUrl = "tel:" + tel; + window.open(callUrl, "_blank"); + }, + copy: (mail, copyButton) => { copyToClipboard(mail); copyButton.textContent = "copied"; @@ -601,7 +528,8 @@ const isMailgo = element => const isMailgoTel = element => // first case: it is an element with "mailto:..." in href and no no-mailgo in classList element.href && - element.href.toLowerCase().startsWith(TEL) && + (element.href.toLowerCase().startsWith(TEL) || + element.href.toLowerCase().startsWith(CALLTO)) && !element.classList.contains("no-mailgo"); /** @@ -631,6 +559,15 @@ const mailgoCheckRender = event => { // render mailgo mailgoRender(element); + return; + } + if (isMailgoTel(element)) { + // stop the normal execution of the element click + event.preventDefault(); + + // render mailgo + mailgoTelRender(element); + return; } }); @@ -698,6 +635,9 @@ const validateEmail = email => { // show the modal const showMailgo = () => (getE("mailgo").style.display = "flex"); +// show the tel modal +const showMailgoTel = () => (getE("mailgo-tel").style.display = "flex"); + // hide the modal const hideMailgo = () => (getE("mailgo").style.display = "none");