actions object
This commit is contained in:
parent
2b9c2fe135
commit
eec0f14a35
44
dist/mailgo.js
vendored
44
dist/mailgo.js
vendored
@ -217,17 +217,17 @@ var mailgoRender = function mailgoRender(mailgo) {
|
||||
bodyMail ? (bodyEl.style.display = "block", bodyValueEl.textContent = bodyMail) : bodyEl.style.display = "none"; // add the actions
|
||||
|
||||
gmailButton.addEventListener("click", function () {
|
||||
openGmailAction(mailtoHref);
|
||||
actions.openGmail(mailtoHref);
|
||||
}, false);
|
||||
outlookButton.addEventListener("click", function () {
|
||||
openOutlookAction(mail, url);
|
||||
actions.openOutlook(mail, url);
|
||||
}, false);
|
||||
var encEmail = encodeEmail(mail);
|
||||
openButton.addEventListener("click", function () {
|
||||
openDefaultAction(encEmail);
|
||||
actions.openDefault(encEmail);
|
||||
}, false);
|
||||
copyButton.addEventListener("click", function (event) {
|
||||
copyAction(mail, copyButton);
|
||||
actions.copy(mail, copyButton);
|
||||
}, false); // show the mailgo
|
||||
|
||||
showMailgo(); // listener keyDown
|
||||
@ -238,24 +238,23 @@ var mailgoRender = function mailgoRender(mailgo) {
|
||||
}; // actions
|
||||
|
||||
|
||||
var openGmailAction = function openGmailAction(mailtoHref) {
|
||||
var actions = {
|
||||
openGmail: function openGmail(mailtoHref) {
|
||||
window.open("https://mail.google.com/mail?extsrc=mailto&url=" + encodeURIComponent(mailtoHref), "_blank");
|
||||
};
|
||||
|
||||
var openOutlookAction = function openOutlookAction(mail, url) {
|
||||
},
|
||||
openOutlook: function openOutlook(mail, url) {
|
||||
window.open("https://outlook.office.com/owa/?rru=compose&to=" + encodeURIComponent(mail) + url.search.replace(/^[$]/, "&"), "_blank");
|
||||
};
|
||||
|
||||
var openDefaultAction = function openDefaultAction(encEmail) {
|
||||
},
|
||||
openDefault: function openDefault(encEmail) {
|
||||
mailToEncoded(encEmail);
|
||||
};
|
||||
|
||||
var copyAction = function copyAction(mail, copyButton) {
|
||||
},
|
||||
copy: function copy(mail, copyButton) {
|
||||
copyToClipboard(mail);
|
||||
copyButton.textContent = "copied";
|
||||
var timeout = setTimeout(function () {
|
||||
copyButton.textContent = "copy";
|
||||
}, 999);
|
||||
}
|
||||
};
|
||||
/**
|
||||
* mailgoCheckRender
|
||||
@ -265,7 +264,6 @@ var copyAction = function copyAction(mail, copyButton) {
|
||||
* ); and the new a[mailgo]
|
||||
*/
|
||||
|
||||
|
||||
var mailgoCheckRender = function mailgoCheckRender(event) {
|
||||
// the target element
|
||||
var e = event.target; // check if the id=mailgo exists in the body
|
||||
@ -291,7 +289,7 @@ var mailgoCheckRender = function mailgoCheckRender(event) {
|
||||
|
||||
var mailgoKeydown = function mailgoKeydown(mail, url, mailtoHref, encEmail, copyButton) {
|
||||
// if mailgo is not showing do nothing
|
||||
if (mailgoHidden()) return;
|
||||
if (!mailgoIsShowing()) return;
|
||||
|
||||
switch (event.keyCode) {
|
||||
case 27:
|
||||
@ -301,23 +299,23 @@ var mailgoKeydown = function mailgoKeydown(mail, url, mailtoHref, encEmail, copy
|
||||
|
||||
case 71:
|
||||
// g -> open GMail
|
||||
openGmailAction(mailtoHref);
|
||||
actions.openGmail(mailtoHref);
|
||||
break;
|
||||
|
||||
case 79:
|
||||
// o -> open Outlook
|
||||
openOutlookAction(mail, url);
|
||||
actions.openOutlook(mail, url);
|
||||
break;
|
||||
|
||||
case 32:
|
||||
case 13:
|
||||
// spacebar or enter -> open default
|
||||
openDefaultAction(encEmail);
|
||||
actions.openDefault(encEmail);
|
||||
break;
|
||||
|
||||
case 67:
|
||||
// c -> copy
|
||||
copyAction(mail, copyButton);
|
||||
actions.copy(mail, copyButton);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -330,7 +328,7 @@ var mailgoKeydown = function mailgoKeydown(mail, url, mailtoHref, encEmail, copy
|
||||
|
||||
document.addEventListener("DOMContentLoaded", mailgoInit, false); // event listener on body, if the element is mailgo-compatible the mailgo modal will be rendered
|
||||
|
||||
document.body.addEventListener("click", mailgoCheckRender, false); // validate the email with regex
|
||||
document.body.addEventListener("click", mailgoCheckRender, true); // validate the email with regex
|
||||
|
||||
var validateEmail = function validateEmail(email) {
|
||||
var re = /^(([^<>()[\]\\.,;:\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,}))$/;
|
||||
@ -367,8 +365,8 @@ var hideMailgo = function hideMailgo() {
|
||||
}; // is the modal hidden?
|
||||
|
||||
|
||||
var mailgoHidden = function mailgoHidden() {
|
||||
return getE("mailgo").style.display === "none";
|
||||
var mailgoIsShowing = function mailgoIsShowing() {
|
||||
return getE("mailgo").style.display === "flex";
|
||||
}; // decrypt email
|
||||
|
||||
|
||||
|
2
dist/mailgo.min.js
vendored
2
dist/mailgo.min.js
vendored
File diff suppressed because one or more lines are too long
@ -277,7 +277,7 @@ const mailgoRender = mailgo => {
|
||||
gmailButton.addEventListener(
|
||||
"click",
|
||||
() => {
|
||||
openGmailAction(mailtoHref);
|
||||
actions.openGmail(mailtoHref);
|
||||
},
|
||||
false
|
||||
);
|
||||
@ -285,7 +285,7 @@ const mailgoRender = mailgo => {
|
||||
outlookButton.addEventListener(
|
||||
"click",
|
||||
() => {
|
||||
openOutlookAction(mail, url);
|
||||
actions.openOutlook(mail, url);
|
||||
},
|
||||
false
|
||||
);
|
||||
@ -294,7 +294,7 @@ const mailgoRender = mailgo => {
|
||||
openButton.addEventListener(
|
||||
"click",
|
||||
() => {
|
||||
openDefaultAction(encEmail);
|
||||
actions.openDefault(encEmail);
|
||||
},
|
||||
false
|
||||
);
|
||||
@ -302,7 +302,7 @@ const mailgoRender = mailgo => {
|
||||
copyButton.addEventListener(
|
||||
"click",
|
||||
event => {
|
||||
copyAction(mail, copyButton);
|
||||
actions.copy(mail, copyButton);
|
||||
},
|
||||
false
|
||||
);
|
||||
@ -321,33 +321,35 @@ const mailgoRender = mailgo => {
|
||||
};
|
||||
|
||||
// actions
|
||||
let openGmailAction = mailtoHref => {
|
||||
const actions = {
|
||||
openGmail: mailtoHref => {
|
||||
window.open(
|
||||
"https://mail.google.com/mail?extsrc=mailto&url=" +
|
||||
encodeURIComponent(mailtoHref),
|
||||
"_blank"
|
||||
);
|
||||
};
|
||||
},
|
||||
|
||||
let openOutlookAction = (mail, url) => {
|
||||
openOutlook: (mail, url) => {
|
||||
window.open(
|
||||
"https://outlook.office.com/owa/?rru=compose&to=" +
|
||||
encodeURIComponent(mail) +
|
||||
url.search.replace(/^[$]/, "&"),
|
||||
"_blank"
|
||||
);
|
||||
};
|
||||
},
|
||||
|
||||
let openDefaultAction = encEmail => {
|
||||
openDefault: encEmail => {
|
||||
mailToEncoded(encEmail);
|
||||
};
|
||||
},
|
||||
|
||||
let copyAction = (mail, copyButton) => {
|
||||
copy: (mail, copyButton) => {
|
||||
copyToClipboard(mail);
|
||||
copyButton.textContent = "copied";
|
||||
let timeout = setTimeout(() => {
|
||||
copyButton.textContent = "copy";
|
||||
}, 999);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
@ -398,20 +400,20 @@ const mailgoKeydown = (mail, url, mailtoHref, encEmail, copyButton) => {
|
||||
break;
|
||||
case 71:
|
||||
// g -> open GMail
|
||||
openGmailAction(mailtoHref);
|
||||
actions.openGmail(mailtoHref);
|
||||
break;
|
||||
case 79:
|
||||
// o -> open Outlook
|
||||
openOutlookAction(mail, url);
|
||||
actions.openOutlook(mail, url);
|
||||
break;
|
||||
case 32:
|
||||
case 13:
|
||||
// spacebar or enter -> open default
|
||||
openDefaultAction(encEmail);
|
||||
actions.openDefault(encEmail);
|
||||
break;
|
||||
case 67:
|
||||
// c -> copy
|
||||
copyAction(mail, copyButton);
|
||||
actions.copy(mail, copyButton);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user