From 8eb465ffaf4c595c71d97b024f8458358a7fedc3 Mon Sep 17 00:00:00 2001 From: Stephanie Hobson Date: Mon, 8 Jul 2019 15:06:46 -0700 Subject: [PATCH] Newletter.js only runs when there is a newsletter (#400) --- CHANGELOG.md | 4 ++ src/assets/js/protocol/protocol-newsletter.js | 45 +++++++++++-------- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cba1c10da..628d52c45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# HEAD + +* **js:** Newsletter.js only runs when there is a newsletter (#400) + # 7.0.1 * **css:** Text display mixin consistency (#389) diff --git a/src/assets/js/protocol/protocol-newsletter.js b/src/assets/js/protocol/protocol-newsletter.js index a0916ff02..c3e3c67fd 100644 --- a/src/assets/js/protocol/protocol-newsletter.js +++ b/src/assets/js/protocol/protocol-newsletter.js @@ -10,10 +10,10 @@ // Expand email form on input focus or submit if details aren't visible function initEmailForm() { var newsletterForm = document.getElementById('newsletter-form'); - var submitButton = document.getElementById('newsletter-submit'); - var formDetails = document.getElementById('newsletter-details'); - var emailField = document.querySelector('.mzp-js-email-field'); - var formExpanded = window.getComputedStyle(formDetails).display === 'none' ? false : true; + var submitButton; + var formDetails; + var emailField; + var formExpanded; function emailFormShowDetails() { if (!formExpanded) { @@ -22,23 +22,30 @@ } } - emailField.addEventListener('focus', function() { - emailFormShowDetails(); - }); + if (newsletterForm) { + submitButton = document.getElementById('newsletter-submit'); + formDetails = document.getElementById('newsletter-details'); + emailField = document.querySelector('.mzp-js-email-field'); + formExpanded = window.getComputedStyle(formDetails).display === 'none' ? false : true; - submitButton.addEventListener('click', function(e) { - if (!formExpanded) { - e.preventDefault(); + emailField.addEventListener('focus', function() { emailFormShowDetails(); - } - }); - - newsletterForm.addEventListener('submit', function(e) { - if (!formExpanded) { - e.preventDefault(); - emailFormShowDetails(); - } - }); + }); + + submitButton.addEventListener('click', function(e) { + if (!formExpanded) { + e.preventDefault(); + emailFormShowDetails(); + } + }); + + newsletterForm.addEventListener('submit', function(e) { + if (!formExpanded) { + e.preventDefault(); + emailFormShowDetails(); + } + }); + } } initEmailForm();