Справица:Solutions.js

Извор: SI Wiki
Датум измене: 28. јун 2021. у 15:58; аутор: KockaAdmiralac (разговор | доприноси) (Minimalna kompatibilna verzija)
Пређи на навигацију Пређи на претрагу
(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);
})();