Справица:Solutions.js — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(Pomeranje JS za sakrivanje i otkrivanje rešenja u spravicu)
 
м (Minimalna kompatibilna verzija)
Ред 1: Ред 1:
mw.hook('wikipage.content').add(function($content) {
(function() {
     // Sakrivanje rešenja (dva načina).
     'use strict';
     var $body = $('body'),
     var $body = $('body');
         $button = $('<span>', {
    function createButton(msg) {
             class: [
         return $('<span>', {
             'class': [
                 'oo-ui-buttonElement',
                 'oo-ui-buttonElement',
                 'oo-ui-buttonElement-framed',
                 'oo-ui-buttonElement-framed',
Ред 13: Ред 14:
         }).append(
         }).append(
             $('<button>', {
             $('<button>', {
                 class: 'oo-ui-buttonElement-button',
                 'class': 'oo-ui-buttonElement-button',
                 tabindex: '0'
                 'tabindex': '0'
             }).append(
             }).append(
                 $('<span>', {
                 $('<span>', {
                     class: 'oo-ui-labelElement-label label'
                     'class': 'oo-ui-labelElement-label label',
                    'text': mw.message('gadget-solutions-' + msg).plain()
                 })
                 })
             )
             )
         ),
         );
        $buttons = $content.find('.unhide-solutions:not(.loaded), .unhide-spoilers:not(.loaded)'),
    }
        $settings = $content.find('[data-unhide]');
 
     function toggleSolutionsAndSpoilers($button, spoilers, solutions) {
     function click() {
         var $label = $button.find('.label');
         var $label = $(this).find('.label');
         if (spoilers) {
         if ($body.hasClass('show-solutions')) {
            if ($body.hasClass('show-spoilers')) {
            $body.removeClass('show-solutions');
                $body.removeClass('show-spoilers');
            $label.text(mw.message('gadget-solutions-show-all').plain());
                $label.text('Прикажи решења');
         } else {
            } else {
             $body.addClass('show-solutions');
                $body.addClass('show-spoilers');
            $label.text(mw.message('gadget-solutions-hide-all').plain());
                $label.text('Сакриј решења');
            }
         }
        if (solutions) {
             if ($body.hasClass('show-solutions')) {
                $body.removeClass('show-solutions');
                $label.text('Прикажи решења');
            } else {
                $body.addClass('show-solutions');
                $label.text('Сакриј решења');
            }
         }
         }
     }
     }
     $buttons.click(function() {
 
         var $this = $(this);
     function hook($content) {
        toggleSolutionsAndSpoilers(
         $content
        $this,
             .find('.unhide-solutions:not(.loaded)')
             $this.hasClass('unhide-spoilers'),
             .click(click)
             $this.hasClass('unhide-solutions')
            .addClass('loaded')
        );
            .append(createButton(
    })
                $body.hasClass('show-solutions') ?
        .addClass('loaded')
                    'hide-all' :
        .append($button.clone())
                    'show-all'
        .find('.label')
            ));
        .text('Прикажи решења');
    if ($buttons.length) {
        mw.loader.load('mediawiki.htmlform.ooui');
     }
     }
     $settings.each(function() {
     mw.hook('wikipage.content').add(hook);
        var $this = $(this),
})();
        settings = $this.data('unhide').split(',');
        toggleSolutionsAndSpoilers(
        $this,
            settings.indexOf('spoilers') !== -1,
            settings.indexOf('solutions') !== -1
        );
    });
});

Верзија на датум 28. јун 2021. у 15:58

(function() {
    'use strict';
    var $body = $('body');
    function createButton(msg) {
        return $('<span>', {
            'class': [
                'oo-ui-buttonElement',
                'oo-ui-buttonElement-framed',
                'oo-ui-flaggedElement-primary',
                'oo-ui-flaggedElement-progressive',
                'oo-ui-labelElement',
                'oo-ui-widget-enabled'
            ].join(' ')
        }).append(
            $('<button>', {
                'class': 'oo-ui-buttonElement-button',
                'tabindex': '0'
            }).append(
                $('<span>', {
                    'class': 'oo-ui-labelElement-label label',
                    'text': mw.message('gadget-solutions-' + msg).plain()
                })
            )
        );
    }

    function click() {
        var $label = $(this).find('.label');
        if ($body.hasClass('show-solutions')) {
            $body.removeClass('show-solutions');
            $label.text(mw.message('gadget-solutions-show-all').plain());
        } else {
            $body.addClass('show-solutions');
            $label.text(mw.message('gadget-solutions-hide-all').plain());
        }
    }

    function hook($content) {
        $content
            .find('.unhide-solutions:not(.loaded)')
            .click(click)
            .addClass('loaded')
            .append(createButton(
                $body.hasClass('show-solutions') ?
                    'hide-all' :
                    'show-all'
            ));
    }
    mw.hook('wikipage.content').add(hook);
})();