پرش به محتوا

مدیاویکی:Common.js: تفاوت میان نسخه‌ها

از ویکی داد
جایگزینی صفحه با '$( document ).on( 'click', '.wd-version-toggle', function () { var button = $( this ); var card = button.closest('.wd-version-history-card'); var text = card.find('.wd-version-text'); var icon = button.find('.wd-version-toggle-icon'); var label = button.find('.wd-version-toggle-label'); if (text.is(':visible')) { text.stop(true,true).slideUp(180); icon.text('+');...'
برچسب: جایگزین شد
بدون خلاصۀ ویرایش
خط ۱: خط ۱:
/* =========================================================
  سیستم تست‌های تعاملی ویکی‌داد
  ========================================================= */
$( document ).on(
    'click',
    '.wd-test-options li',
    function () {
        var option = $( this );
        var test = option.closest( '.wd-test' );
        /* اگر تست قبلاً پاسخ داده شده، کاری نکن */
        if ( test.hasClass( 'wd-test-finished' ) ) {
            return;
        }
        /* گزینه انتخاب‌شده */
        var selectedText = $.trim( option.text() );
        /* پاسخ صحیح */
        var correctAnswer = $.trim(
            test.attr( 'data-answer' ) || ''
        );
        /* حذف حالت انتخاب قبلی */
        test.find( '.wd-test-options li' )
            .removeClass( 'wd-test-selected' );
        /* ثبت انتخاب */
        option.addClass( 'wd-test-selected' );
        /* نمایش نتیجه */
        var result = test.find( '.wd-test-result' );
        var resultMessage = test.find( '.wd-test-result-message' );
        /* پاسخ صحیح یا غلط */
        var isCorrect = false;
        /*
        * پاسخ قالب معمولاً به شکل:
        * الف
        * ب
        * ج
        * د
        *
        * بنابراین ابتدا حرف گزینه را استخراج می‌کنیم.
        */
        var selectedLetter = selectedText
            .replace( /^[\s‏‌]*([الفبجد])[\s\)\.:\-ـ]*/i, '$1' );
        if ( selectedLetter === selectedText ) {
            selectedLetter = selectedText.charAt( 0 );
        }
        var answerLetter = correctAnswer
            .replace( /^[\s‏‌]*([الفبجد])[\s\)\.:\-ـ]*/i, '$1' );
        if ( answerLetter === correctAnswer ) {
            answerLetter = correctAnswer.charAt( 0 );
        }
        isCorrect =
            $.trim( selectedLetter ) ===
            $.trim( answerLetter );
        /* نمایش نتیجه */
        result.show();
        if ( isCorrect ) {
            resultMessage
                .text( '✓ پاسخ شما صحیح است.' )
                .css({
                    color: '#168477'
                });
            option.addClass( 'wd-test-correct' );
        } else {
            resultMessage
                .text( '✕ پاسخ شما نادرست است.' )
                .css({
                    color: '#b44a4a'
                });
            option.addClass( 'wd-test-wrong' );
            /*
            * مشخص کردن گزینه صحیح
            */
            test.find( '.wd-test-options li' ).each(
                function () {
                    var item = $( this );
                    var itemText = $.trim( item.text() );
                    var itemLetter = itemText
                        .replace(
                            /^[\s‏‌]*([الفبجد])[\s\)\.:\-ـ]*/i,
                            '$1'
                        );
                    if ( itemLetter === itemText ) {
                        itemLetter = itemText.charAt( 0 );
                    }
                    if (
                        $.trim( itemLetter ) ===
                        $.trim( answerLetter )
                    ) {
                        item.addClass( 'wd-test-correct' );
                    }
                }
            );
        }
        /* نمایش پاسخ و تحلیل */
        test.find( '.wd-test-answer' )
            .stop( true, true )
            .slideDown( 220 );
        /* جلوگیری از انتخاب مجدد */
        test.addClass( 'wd-test-finished' );
    }
);
/* =========================================================
  مشاهده / بستن متن نسخه قانون
  ========================================================= */
$( document ).on(
$( document ).on(
     'click',
     'click',
     '.wd-version-toggle',
     '.wd-version-toggle',
     function () {
     function () {
         var button = $( this );
         var button = $( this );
        var card = button.closest('.wd-version-history-card');
        var text = card.find('.wd-version-text');
        var icon = button.find('.wd-version-toggle-icon');
        var label = button.find('.wd-version-toggle-label');


         if (text.is(':visible')) {
        var card = button.closest(
             text.stop(true,true).slideUp(180);
            '.wd-version-history-card'
             icon.text('+');
        );
             label.text('مشاهده متن');
 
        var text = card.find(
            '.wd-version-text'
        );
 
        var icon = button.find(
            '.wd-version-toggle-icon'
        );
 
        var label = button.find(
            '.wd-version-toggle-label'
        );
 
         if ( text.is( ':visible' ) ) {
 
             text.stop( true, true )
                .slideUp( 180 );
 
             icon.text( '+' );
 
             label.text( 'مشاهده متن' );
 
         } else {
         } else {
             text.stop(true,true).slideDown(220);
 
             icon.text('−');
             text.stop( true, true )
             label.text('بستن متن');
                .slideDown( 220 );
 
             icon.text( '−' );
 
             label.text( 'بستن متن' );
 
         }
         }
     }
     }
);
);

نسخهٔ ۱۴ سپتامبر ۲۰۲۶، ساعت ۱۳:۱۱

/* =========================================================
   سیستم تست‌های تعاملی ویکی‌داد
   ========================================================= */

$( document ).on(
    'click',
    '.wd-test-options li',
    function () {

        var option = $( this );
        var test = option.closest( '.wd-test' );

        /* اگر تست قبلاً پاسخ داده شده، کاری نکن */
        if ( test.hasClass( 'wd-test-finished' ) ) {
            return;
        }

        /* گزینه انتخاب‌شده */
        var selectedText = $.trim( option.text() );

        /* پاسخ صحیح */
        var correctAnswer = $.trim(
            test.attr( 'data-answer' ) || ''
        );

        /* حذف حالت انتخاب قبلی */
        test.find( '.wd-test-options li' )
            .removeClass( 'wd-test-selected' );

        /* ثبت انتخاب */
        option.addClass( 'wd-test-selected' );

        /* نمایش نتیجه */
        var result = test.find( '.wd-test-result' );
        var resultMessage = test.find( '.wd-test-result-message' );

        /* پاسخ صحیح یا غلط */
        var isCorrect = false;

        /*
         * پاسخ قالب معمولاً به شکل:
         * الف
         * ب
         * ج
         * د
         *
         * بنابراین ابتدا حرف گزینه را استخراج می‌کنیم.
         */
        var selectedLetter = selectedText
            .replace( /^[\s‏‌]*([الفبجد])[\s\)\.:\-ـ]*/i, '$1' );

        if ( selectedLetter === selectedText ) {
            selectedLetter = selectedText.charAt( 0 );
        }

        var answerLetter = correctAnswer
            .replace( /^[\s‏‌]*([الفبجد])[\s\)\.:\-ـ]*/i, '$1' );

        if ( answerLetter === correctAnswer ) {
            answerLetter = correctAnswer.charAt( 0 );
        }

        isCorrect =
            $.trim( selectedLetter ) ===
            $.trim( answerLetter );

        /* نمایش نتیجه */
        result.show();

        if ( isCorrect ) {

            resultMessage
                .text( '✓ پاسخ شما صحیح است.' )
                .css({
                    color: '#168477'
                });

            option.addClass( 'wd-test-correct' );

        } else {

            resultMessage
                .text( '✕ پاسخ شما نادرست است.' )
                .css({
                    color: '#b44a4a'
                });

            option.addClass( 'wd-test-wrong' );

            /*
             * مشخص کردن گزینه صحیح
             */
            test.find( '.wd-test-options li' ).each(
                function () {

                    var item = $( this );
                    var itemText = $.trim( item.text() );

                    var itemLetter = itemText
                        .replace(
                            /^[\s‏‌]*([الفبجد])[\s\)\.:\-ـ]*/i,
                            '$1'
                        );

                    if ( itemLetter === itemText ) {
                        itemLetter = itemText.charAt( 0 );
                    }

                    if (
                        $.trim( itemLetter ) ===
                        $.trim( answerLetter )
                    ) {
                        item.addClass( 'wd-test-correct' );
                    }

                }
            );

        }

        /* نمایش پاسخ و تحلیل */
        test.find( '.wd-test-answer' )
            .stop( true, true )
            .slideDown( 220 );

        /* جلوگیری از انتخاب مجدد */
        test.addClass( 'wd-test-finished' );

    }
);


/* =========================================================
   مشاهده / بستن متن نسخه قانون
   ========================================================= */

$( document ).on(
    'click',
    '.wd-version-toggle',
    function () {

        var button = $( this );

        var card = button.closest(
            '.wd-version-history-card'
        );

        var text = card.find(
            '.wd-version-text'
        );

        var icon = button.find(
            '.wd-version-toggle-icon'
        );

        var label = button.find(
            '.wd-version-toggle-label'
        );

        if ( text.is( ':visible' ) ) {

            text.stop( true, true )
                .slideUp( 180 );

            icon.text( '+' );

            label.text( 'مشاهده متن' );

        } else {

            text.stop( true, true )
                .slideDown( 220 );

            icon.text( '−' );

            label.text( 'بستن متن' );

        }

    }
);