Difference between revisions of "MediaWiki:Common.js"

Jump to: navigation, search

Difference between revisions of "MediaWiki:Common.js"

 
(126 intermediate revisions by 2 users not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
+
// Terms Modal
 +
$(document).ready(function() {
  
jQuery.fn.visible = function() {
+
  setTimeout(function() {
     return this.css('visibility', 'visible');
+
     const termsModal = $('#termsModal');
};
 
  
jQuery.fn.invisible = function() {
+
    if (termsModal.length) {
    return this.css('visibility', 'hidden');
+
      // Check if the "rpmTermsAgreement" cookie is present
};
+
      if (!document.cookie.includes('rpmTermsAgreement')) {
 +
        // Show the Bootstrap modal
 +
        termsModal.modal({
 +
          backdrop: "static"
 +
        });
 +
      }
  
jQuery.fn.visibilityToggle = function() {
+
      // Agree button click event to set the "rpm" cookie
    return this.css('visibility', function(i, visibility) {
+
      $('#agreeTermsButton').click(function() {
         return (visibility == 'visible') ? 'hidden' : 'visible';
+
        termsModal.modal('hide');
    });
+
       
};
+
        // Set the "rpmTermsAgreement" cookie with expiration date five years from now
 +
        var expirationDate = new Date();
 +
         expirationDate.setFullYear(expirationDate.getFullYear() + 5);
 +
        document.cookie = "rpmTermsAgreement=true; expires=" + expirationDate.toUTCString() + "; path=/";
 +
      });
 +
    }
 +
  }, 200);
  
var monthNames = ["January", "February", "March", "April", "May", "June",
+
   /* MailChimp Form */
   "July", "August", "September", "October", "November", "December"
 
];
 
  
x = new Date;
+
  var mailchimpFormHTML =
var y = ' || ' + x.getFullYear() + '-' + monthNames[(x.getMonth()+3)] + '-' + x.getDate() + ' }}';
+
    '<div id="mc_embed_signup">' +
 +
    '    <form action="https://rcabc.us21.list-manage.com/subscribe/post?u=aa570610c198792349997a983&amp;id=91bc758592&amp;f_id=000857e1f0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_self">' +
 +
    '        <div id="mc_embed_signup_scroll">' +
 +
    '            <div class="mc-field-group form-group">' +
 +
    '                <label for="mce-EMAIL">Email Address</label>' +
 +
    '                <input type="email" value="" name="EMAIL" class="required email form-control" id="mce-EMAIL" required>' +
 +
    '                <span id="mce-EMAIL-HELPERTEXT" class="helper_text"></span>' +
 +
    '            </div>' +
 +
    '           <div id="mce-responses" class="clear foot">' +
 +
    '                <div class="response" id="mce-error-response" style="display:none"></div>' +
 +
    '               <div class="response" id="mce-success-response" style="display:none"></div>' +
 +
    '            </div>' +
 +
    '            <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_aa570610c198792349997a983_91bc758592" tabindex="-1" value=""></div>' +
 +
    '           <input type="submit" value="Subscribe To RPM Updates" name="subscribe" id="mc-embedded-subscribe" class="btn btn-primary">' +
 +
    '        </div>' +
 +
    '    </form>' +
 +
    '</div>';
  
$.ajax({
+
  $('#mailchimpForm').html(mailchimpFormHTML);
url: 'https://meta.wikimedia.org/w/index.php?title=User:Krinkle/Scripts/InsertWikiEditorButton.js&action=raw&ctype=text/javascript',
 
dataType: 'script',
 
cache: true
 
}).done(function () {
 
       
 
//Highlight
 
krInsertWikiEditorButton({
 
id: "mw-customeditbutton-hilite",
 
icon: "//upload.wikimedia.org/wikipedia/commons/3/3f/Button_attendre.png",
 
label: 'Highlight with Date',
 
insertBefore: '{{hilite | ',
 
insertAfter: y,
 
sampleText: 'Highlight this text'
 
});
 
        //Strike
 
        krInsertWikiEditorButton({
 
id: "mw-customeditbutton-strike",
 
icon: "//upload.wikimedia.org/wikipedia/commons/0/08/VisualEditor_-_Icon_-_Strikethrough-a.svg",
 
label: 'Strikethrough',
 
insertBefore: '{{strike| ',
 
insertAfter: y,
 
sampleText: 'Strike this text'
 
});
 
 
});
 
});

Latest revision as of 22:13, 19 June 2023

// Terms Modal
$(document).ready(function() {

  setTimeout(function() {
    const termsModal = $('#termsModal');

    if (termsModal.length) {
      // Check if the "rpmTermsAgreement" cookie is present
      if (!document.cookie.includes('rpmTermsAgreement')) {
        // Show the Bootstrap modal
        termsModal.modal({
          backdrop: "static"
        });
      }

      // Agree button click event to set the "rpm" cookie
      $('#agreeTermsButton').click(function() {
        termsModal.modal('hide');
        
        // Set the "rpmTermsAgreement" cookie with expiration date five years from now
        var expirationDate = new Date();
        expirationDate.setFullYear(expirationDate.getFullYear() + 5);
        document.cookie = "rpmTermsAgreement=true; expires=" + expirationDate.toUTCString() + "; path=/";
      });
    }
  }, 200);

  /* MailChimp Form */

  var mailchimpFormHTML =
    '<div id="mc_embed_signup">' +
    '    <form action="https://rcabc.us21.list-manage.com/subscribe/post?u=aa570610c198792349997a983&amp;id=91bc758592&amp;f_id=000857e1f0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_self">' +
    '        <div id="mc_embed_signup_scroll">' +
    '            <div class="mc-field-group form-group">' +
    '                <label for="mce-EMAIL">Email Address</label>' +
    '                <input type="email" value="" name="EMAIL" class="required email form-control" id="mce-EMAIL" required>' +
    '                <span id="mce-EMAIL-HELPERTEXT" class="helper_text"></span>' +
    '            </div>' +
    '            <div id="mce-responses" class="clear foot">' +
    '                <div class="response" id="mce-error-response" style="display:none"></div>' +
    '                <div class="response" id="mce-success-response" style="display:none"></div>' +
    '            </div>' +
    '            <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_aa570610c198792349997a983_91bc758592" tabindex="-1" value=""></div>' +
    '            <input type="submit" value="Subscribe To RPM Updates" name="subscribe" id="mc-embedded-subscribe" class="btn btn-primary">' +
    '        </div>' +
    '    </form>' +
    '</div>';

  $('#mailchimpForm').html(mailchimpFormHTML);
});