Difference between revisions of "MediaWiki:Common.js"

Jump to: navigation, search

Difference between revisions of "MediaWiki:Common.js"

 
(64 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');
 
    //On scroll
 
    $(window).scroll(function(){
 
      scrollingToc();
 
    });
 
    scrollingToc();
 
    $(window).scrollTop($(window).scrollTop()-1);
 
}
 
  
function scrollingToc()
+
  setTimeout(function() {
{
+
     const termsModal = $('#termsModal');
    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');
 
    }
 
}
 
  
//--------------------Variables for the auto highlighter---------------//
+
    if (termsModal.length) {
var monthNames = ["January", "February", "March", "April", "May", "June",
+
      // Check if the "rpmTermsAgreement" cookie is present
  "July", "August", "September", "October", "November", "December"
+
      if (!document.cookie.includes('rpmTermsAgreement')) {
];
+
        // Show the Bootstrap modal
 +
        termsModal.modal({
 +
          backdrop: "static"
 +
        });
 +
      }
  
var x = new Date();
+
      // Agree button click event to set the "rpm" cookie
x.setMonth(x.getMonth() + 3);
+
      $('#agreeTermsButton').click(function() {
 
+
        termsModal.modal('hide');
var y = ' || ' + x.getFullYear() + '-' + monthNames[x.getMonth()] + '-' + x.getDate() + ' }}';
+
       
 
+
        // Set the "rpmTermsAgreement" cookie with expiration date five years from now
//--------------------Visible and Invisible options for the defined text (red,green,blue)---------------//
+
        var expirationDate = new Date();
jQuery.fn.visible = function() {
+
        expirationDate.setFullYear(expirationDate.getFullYear() + 5);
    return this.css('visibility', 'visible');
+
        document.cookie = "rpmTermsAgreement=true; expires=" + expirationDate.toUTCString() + "; path=/";
};
+
      });
 
+
     }
jQuery.fn.invisible = function() {
+
   }, 200);
    return this.css('visibility', 'hidden');
 
};
 
 
 
jQuery.fn.visibilityToggle = function() {
 
    return this.css('visibility', function(i, visibility) {
 
        return (visibility == 'visible') ? 'hidden' : 'visible';
 
    });
 
};
 
 
 
//--------------------Editing Toolbar Buttons---------------//
 
$.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({
 
    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({
 
    id: "mw-customeditbutton-policiesSpan",
 
    icon: "//rpm3.rcabc.org/resources/assets/policiesSpan.png",
 
    label: 'Guiding Principles Span',
 
    insertBefore: '<span class="principles">',
 
    insertAfter: '</span>',
 
    sampleText: 'Guiding Principles Span'
 
  });
 
 
 
        krInsertWikiEditorButton({
 
    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({
+
  /* MailChimp Form */
    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({
+
  var mailchimpFormHTML =
     id: 'mw-customeditbutton-referenceSpan',
+
     '<div id="mc_embed_signup">' +
     icon: '//rpm3.rcabc.org/resources/assets/referenceSpan.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: 'Reference Span',
+
    '        <div id="mc_embed_signup_scroll">' +
     insertBefore: '<span class="reference">',
+
    '           <div class="mc-field-group form-group">' +
     insertAfter: '</span>',
+
     '               <label for="mce-EMAIL">Email Address</label>' +
     sampleText: 'Reference 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-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);
});