MediaWiki:Gadget-CustomButtons.js

From JoJo's Bizarre Encyclopedia - JoJo Wiki
Revision as of 09:45, 2 June 2024 by Vish (talk | contribs)
Jump to navigation Jump to search

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.
$(function() {
    $('.quote-buttons').each(function() {
        var $quoteBox = $(this).closest('.quoteBox');
        
        $(this).find('#showAllButton').click(function() {
            $quoteBox.find('.nihongo-english').css('display', 'inline');
            $quoteBox.find('.nihongo-japanese').css('display', 'inline');
            $quoteBox.find('.popup').each(function() {
                var originalJapanese = $(this).data('original-japanese');
                if (originalJapanese) {
                    $(this).text(originalJapanese);
                }
                $(this).css('display', 'inline');
            });
            $quoteBox.find('.popup-box').css('display', 'none');
            $quoteBox.find('.nihongo-bracket').css('display', 'inline');
            $quoteBox.find('.nihongo-romaji').remove(); // Remove any appended romaji spans
        });

        $(this).find('#showEnglishButton').click(function() {
            $quoteBox.find('.nihongo-english').css('display', 'inline');
            $quoteBox.find('.nihongo-japanese').css('display', 'none');
            $quoteBox.find('.nihongo-romaji').css('display', 'none');
            $quoteBox.find('.popup-box').css('display', 'none');
            $quoteBox.find('.nihongo-bracket').css('display', 'none');
        });

        $(this).find('#showJapaneseButton').click(function() {
            $quoteBox.find('.nihongo-english').css('display', 'none');
            $quoteBox.find('.nihongo-japanese').css('display', 'inline');
            $quoteBox.find('.nihongo-romaji').css('display', 'none');
            $quoteBox.find('.popup-box').css('display', 'none');
            $quoteBox.find('.nihongo-bracket').css('display', 'none');
        });

        $(this).find('#showRomajiButton').click(function() {
            var foundRomaji = false;
            $quoteBox.find('.nihongo-english').css('display', 'none');
            $quoteBox.find('.nihongo-japanese').css('display', 'none');
            $quoteBox.find('.popup-box').css('display', 'none');
            $quoteBox.find('.nihongo-bracket').css('display', 'none');

            $quoteBox.find('.popup').each(function() {
                var romaji = $(this).data('content');
                var originalJapanese = $(this).text();
                $(this).data('original-japanese', originalJapanese);
                if (romaji) {
                    foundRomaji = true;
                    if ($(this).next('.nihongo-romaji').length === 0) {
                        $(this).after('<span class="nihongo-romaji" style="display:inline; font-family:Meiryo">' + romaji + '</span>');
                    } else {
                        $(this).next('.nihongo-romaji').css('display', 'inline');
                    }
                    $(this).css('display', 'none');
                }
            });

            if (!foundRomaji) {
                $quoteBox.find('.nihongo-english').css('display', 'inline');
            }
        });
    });
});