diff --git a/dist/mailgo.js b/dist/mailgo.js index a5478e2..6a31737 100644 --- a/dist/mailgo.js +++ b/dist/mailgo.js @@ -1 +1,70 @@ -let mailgos=document.querySelectorAll('a[href^="mailto:"]:not(.no-mailgo)'),styles="\n .mailgo-modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: none;\n }\n .mailgo-modal-background {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: black;\n }\n .mailgo-modal.is-active {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .mailgo-modal-content {\n padding: 24px;\n margin: 24px;\n }\n",styleSheet=document.createElement("style");styleSheet.type="text/css",styleSheet.innerText=styles,document.head.appendChild(styleSheet),console.log("mailgo is WIP!"),mailgos.forEach((e,t)=>{let n=document.createElement("div");n.className="mailgo-modal",n.id="mailgo-modal-"+t;let l=document.createElement("div");l.className="mailgo-modal-background",n.appendChild(l);let o=document.createElement("div");o.className="mailgo-modal-content",n.appendChild(o);let a=document.createTextNode("mailgo");o.appendChild(a),e.parentNode.insertBefore(n,e.nextSibling),e.addEventListener("click",t=>{t.preventDefault(),e.nextElementSibling.classList.add("is-active")},!1)}); \ No newline at end of file +// ottengo tutti i mailto contenuti nella pagina +let mailgos = document.querySelectorAll('a[href^="mailto:"]:not(.no-mailgo)'); + +let styles = ` + .mailgo-modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: none; + } + .mailgo-modal-background { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: black; + } + .mailgo-modal.is-active { + display: flex; + justify-content: center; + align-items: center; + } + .mailgo-modal-content { + padding: 24px; + margin: 24px; + } +`; + +// CSS +let styleSheet = document.createElement("style"); +styleSheet.type = "text/css"; +styleSheet.innerText = styles; +document.head.appendChild(styleSheet); + +console.log("mailgo is WIP!"); + +// attivo mailgo su tutti gli elementi +mailgos.forEach((mailgo, index) => { + let modal = document.createElement("div"); + modal.className = "mailgo-modal"; + modal.id = "mailgo-modal-" + index; + + let modalBackground = document.createElement("div"); + modalBackground.className = "mailgo-modal-background"; + modal.appendChild(modalBackground); + + let modalContent = document.createElement("div"); + modalContent.className = "mailgo-modal-content"; + modal.appendChild(modalContent); + + let text = document.createTextNode("mailgo"); + modalContent.appendChild(text); + + mailgo.parentNode.insertBefore(modal, mailgo.nextSibling); + + mailgo.addEventListener( + "click", + event => { + // blocco l'esecuzione normale del mailto: + event.preventDefault(); + + // setto il modal come attivo + mailgo.nextElementSibling.classList.add("is-active"); + }, + false + ); +}); diff --git a/dist/mailgo.min.js b/dist/mailgo.min.js new file mode 100644 index 0000000..a5478e2 --- /dev/null +++ b/dist/mailgo.min.js @@ -0,0 +1 @@ +let mailgos=document.querySelectorAll('a[href^="mailto:"]:not(.no-mailgo)'),styles="\n .mailgo-modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: none;\n }\n .mailgo-modal-background {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: black;\n }\n .mailgo-modal.is-active {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .mailgo-modal-content {\n padding: 24px;\n margin: 24px;\n }\n",styleSheet=document.createElement("style");styleSheet.type="text/css",styleSheet.innerText=styles,document.head.appendChild(styleSheet),console.log("mailgo is WIP!"),mailgos.forEach((e,t)=>{let n=document.createElement("div");n.className="mailgo-modal",n.id="mailgo-modal-"+t;let l=document.createElement("div");l.className="mailgo-modal-background",n.appendChild(l);let o=document.createElement("div");o.className="mailgo-modal-content",n.appendChild(o);let a=document.createTextNode("mailgo");o.appendChild(a),e.parentNode.insertBefore(n,e.nextSibling),e.addEventListener("click",t=>{t.preventDefault(),e.nextElementSibling.classList.add("is-active")},!1)}); \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 7710c63..ec8abcd 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,5 +1,6 @@ const { src, dest, parallel } = require("gulp"); const terser = require("gulp-terser"); +const rename = require("gulp-rename"); function js() { return src("src/*.js", { sourcemaps: false }).pipe( @@ -10,9 +11,15 @@ function js() { function jsmin() { return src("src/*.js") .pipe(terser()) + .pipe( + rename({ + suffix: ".min" + }) + ) .pipe(dest("dist")); } exports.js = js; exports.jsmin = jsmin; + exports.default = parallel(js, jsmin); diff --git a/package.json b/package.json index b3da523..865d7d6 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "homepage": "https://mailgo.js.org", "devDependencies": { "gulp": "^4.0.1", + "gulp-rename": "^1.4.0", "gulp-terser": "^1.1.7" } } diff --git a/yarn.lock b/yarn.lock index 1cb3f51..8e5c2b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -876,6 +876,11 @@ gulp-cli@^2.2.0: v8flags "^3.0.1" yargs "^7.1.0" +gulp-rename@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd" + integrity sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg== + gulp-terser@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/gulp-terser/-/gulp-terser-1.1.7.tgz#b011c05cc05661c3d2b629d114f419a90622462e"