MediaWiki:Common.js: Difference between revisions

From LearnSocialStudies
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */mw.loader.using('jquery', function () {
/* Any JavaScript here will be loaded for all users on every page load. */
 
mw.loader.using('jquery', function () {


     $(function () {
     $(function () {


         // Remove line breaks
         console.log("COMMON JS LOADED");
         $(document).on('click', '#removeBreaksBtn', function () {
 
         $('#removeBreaksBtn').on('click', function () {


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


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


             let result = '';
             var result = '';


             // Preserve paragraphs
             // Preserve paragraphs
Line 27: Line 31:
             else if (option === 'nopara') {
             else if (option === 'nopara') {


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


             }
             }
Line 37: Line 39:
             else {
             else {


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


             }
             }
Line 48: Line 48:
         });
         });


 
         $('#clearText').on('click', function () {
        // Reset button
         $(document).on('click', '#clearText', function () {


             $('#oldText').val('');
             $('#oldText').val('');
Line 57: Line 55:
         });
         });


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


        // Copy button
             var text =
        $(document).on('click', '#copyClip', function () {
                $('#newText').val();
 
             let text = $('#newText').val();


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


             $('body').append(temp);
             $('body').append(temp);
Line 74: Line 72:
             temp.remove();
             temp.remove();


             alert('Copied to clipboard!');
             alert('Copied!');


         });
         });

Latest revision as of 13:57, 17 May 2026

/* 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!');

        });

    });

});