Difference between revisions of "MediaWiki:Common.js"

Jump to: navigation, search

Difference between revisions of "MediaWiki:Common.js"

 
(67 intermediate revisions by 2 users not shown)
Line 1: Line 1:
$( document ).ready()
+
// Terms Modal
{
+
$(document).ready(function() {
    //Activate windows scroller to highlight links
 
    $('body').scrollspyv2();
 
    //Hide TOC from mobile
 
    $('.toc').addClass('hidden-sm');
 
    //The following is the old function.
 
    /* - COMMENTED OUT FOR EXAMPLE
 
    $(window).scroll(function(){
 
      $("#toc").css({"margin-top": ($(window).scrollTop()-150) + "px", "margin-left":($(window).scrollLeft()) + "px"});
 
    });
 
    */
 
    //The following is an updated function
 
    /* - UNCOMMENTED OUT FOR EXAMPLE */
 
    $(window).scroll(function(){
 
      if($(window).scrollTop()>150)
 
      {
 
        $('.toc').removeClass('affix-top toc-top');
 
        $('.toc').addClass('affix toc-scrolling');
 
      } else {
 
        $('.toc').removeClass('affix toc-scrolling');
 
        $('.toc').addClass('affix-top toc-top');
 
      }
 
    });
 
}
 
  
var monthNames = ["January", "February", "March", "April", "May", "June",
+
   setTimeout(function() {
   "July", "August", "September", "October", "November", "December"
+
    const termsModal = $('#termsModal');
];
 
  
var x = new Date();
+
    if (termsModal.length) {
x.setMonth(x.getMonth() + 3);
+
      // Check if the "rpmTermsAgreement" cookie is present
 +
      if (!document.cookie.includes('rpmTermsAgreement')) {
 +
        // Show the Bootstrap modal
 +
        termsModal.modal({
 +
          backdrop: "static"
 +
        });
 +
      }
  
var y = ' || ' + x.getFullYear() + '-' + monthNames[x.getMonth()] + '-' + x.getDate() + ' }}';
+
      // Agree button click event to set the "rpm" cookie
 
+
      $('#agreeTermsButton').click(function() {
jQuery.fn.visible = function() {
+
        termsModal.modal('hide');
    return this.css('visibility', 'visible');
+
       
};
+
        // Set the "rpmTermsAgreement" cookie with expiration date five years from now
 
+
        var expirationDate = new Date();
jQuery.fn.invisible = function() {
+
        expirationDate.setFullYear(expirationDate.getFullYear() + 5);
    return this.css('visibility', 'hidden');
+
        document.cookie = "rpmTermsAgreement=true; expires=" + expirationDate.toUTCString() + "; path=/";
};
+
      });
 
+
    }
jQuery.fn.visibilityToggle = function() {
+
  }, 200);
    return this.css('visibility', function(i, visibility) {
 
        return (visibility == 'visible') ? 'hidden' : 'visible';
 
    });
 
};
 
 
 
$.ajax({
 
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 () {
 
  
krInsertWikiEditorButton({
+
  /* MailChimp Form */
id: "mw-customeditbutton-policiesDiv",
 
icon: "//rpm3.rcabc.org/resources/assets/policiesDiv.png",
 
label: 'Guiding Principles Div',
 
insertBefore: '<div class="principles">',
 
insertAfter: '</div>',
 
sampleText: 'Guiding Principles Div'
 
});
 
  
        krInsertWikiEditorButton({
+
  var mailchimpFormHTML =
id: "mw-customeditbutton-policiesSpan",
+
    '<div id="mc_embed_signup">' +
icon: "//rpm3.rcabc.org/resources/assets/policiesSpan.png",
+
    '    <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">' +
label: 'Guiding Principles Span',
+
    '        <div id="mc_embed_signup_scroll">' +
insertBefore: '<span class="principles">',
+
    '            <div class="mc-field-group form-group">' +
insertAfter: '</span>',
+
    '                <label for="mce-EMAIL">Email Address</label>' +
sampleText: 'Guiding Principles Span'
+
    '               <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>';
  
        krInsertWikiEditorButton({
+
  $('#mailchimpForm').html(mailchimpFormHTML);
id: "mw-customeditbutton-policiesP",
 
icon: "//rpm3.rcabc.org/resources/assets/policiesP.png",
 
label: 'Guiding Principles Paragraph',
 
insertBefore: '<p class="principles">',
 
insertAfter: '</p>',
 
sampleText: 'Guiding Principles Paragraph'
 
});
 
 
 
krInsertWikiEditorButton({
 
id: 'mw-customeditbutton-recommendedDiv',
 
icon: '//rpm3.rcabc.org/resources/assets/recommendationsDiv.png',
 
label: 'Recommended',
 
insertBefore: '<div class="recommended">',
 
insertAfter: '</div>',
 
sampleText: 'Recommended'
 
});
 
 
 
      krInsertWikiEditorButton({
 
id: 'mw-customeditbutton-recommendedSpan',
 
icon: '//rpm3.rcabc.org/resources/assets/recommendationsSpan.png',
 
label: 'Recommended Span',
 
insertBefore: '<span class="recommended">',
 
insertAfter: '</span>',
 
sampleText: 'Recommended Span'
 
});
 
 
 
krInsertWikiEditorButton({
 
id: 'mw-customeditbutton-recommendedP',
 
icon: '//rpm3.rcabc.org/resources/assets/recommendationsP.png',
 
label: 'Recommended Paragraph',
 
insertBefore: '<p class="recommended">',
 
insertAfter: '</p>',
 
sampleText: 'Recommended Paragraph'
 
});
 
 
 
 
 
 
        krInsertWikiEditorButton({
 
id: 'mw-customeditbutton-referenceDiv',
 
icon: '//rpm3.rcabc.org/resources/assets/referenceDiv.png',
 
label: 'Reference Div',
 
insertBefore: '<div class="reference">',
 
insertAfter: '</div>',
 
sampleText: 'Reference Div'
 
});
 
 
 
        krInsertWikiEditorButton({
 
id: 'mw-customeditbutton-referenceSpan',
 
icon: '//rpm3.rcabc.org/resources/assets/referenceSpan.png',
 
label: 'Reference Span',
 
insertBefore: '<span class="reference">',
 
insertAfter: '</span>',
 
sampleText: 'Reference Span'
 
});
 
 
 
        krInsertWikiEditorButton({
 
id: 'mw-customeditbutton-referenceP',
 
icon: '//rpm3.rcabc.org/resources/assets/referenceP.png',
 
label: 'Reference Paragraph',
 
insertBefore: '<p class="reference">',
 
insertAfter: '</p>',
 
sampleText: 'Reference Paragraph'
 
});
 
       
 
        krInsertWikiEditorButton({
 
id: 'mw-customeditbutton-tabgroup',
 
icon: '//rpm3.rcabc.org/resources/assets/tabstart.png',
 
label: 'Create Tab Group',
 
insertBefore: '<tabs>',
 
insertAfter: '</tabs>'
 
});
 
        krInsertWikiEditorButton({
 
id: 'mw-customeditbutton-tab',
 
icon: '//rpm3.rcabc.org/resources/assets/tab.png',
 
label: 'Create Tab',
 
insertBefore: '<tab name="CHANGE ME">',
 
insertAfter: '</tab>'
 
});
 
        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'
 
});
 
        krInsertWikiEditorButton({
 
id: "mw-customeditbutton-hilite",
 
icon: "//upload.wikimedia.org/wikipedia/commons/0/08/VisualEditor_-_Icon_-_Strikethrough-a.svg",
 
label: 'Strike with Date',
 
insertBefore: '{{strike| ',
 
insertAfter: y,
 
sampleText: 'Strike this'
 
});
 
 
});
 
});

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);
});