MediaWiki:Common.js

From LearnSocialStudies

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */

mw.loader.using('jquery', function () {

    $(function () {

        console.log("COMMON JS LOADED");

        $('#removeBreaksBtn').on('click', function () {

            var text =
                $('#oldText').val() || '';

            var option =
                $('input[name="paragraphs"]:checked').val();

            var result = '';

            // Preserve paragraphs
            if (option === 'para') {

                result = text
                    .replace(/\r\n/g, '\n')
                    .replace(/\n{2,}/g, '||PARA||')
                    .replace(/\n/g, ' ')
                    .replace(/\|\|PARA\|\|/g, '\n\n');

            }

            // Replace line breaks with spaces
            else if (option === 'nopara') {

                result =
                    text.replace(/(\r\n|\n|\r)/gm, ' ');

            }

            // Remove all line breaks
            else {

                result =
                    text.replace(/(\r\n|\n|\r)/gm, '');

            }

            $('#newText').val(result);

        });

        $('#clearText').on('click', function () {

            $('#oldText').val('');
            $('#newText').val('');

        });

        $('#copyClip').on('click', function () {

            var text =
                $('#newText').val();

            // Old-school clipboard fallback
            var temp =
                $('<textarea>');

            $('body').append(temp);

            temp.val(text).select();

            document.execCommand('copy');

            temp.remove();

            alert('Copied!');

        });

    });

});