Difference between revisions of "MediaWiki:Atlas Tools.js"

Line 60: Line 60:
 
                     $('.mapOuterDiv').on('click', '.mapgrid', function () {
 
                     $('.mapOuterDiv').on('click', '.mapgrid', function () {
 
                         $(this).toggleClass('gridClicked');
 
                         $(this).toggleClass('gridClicked');
 +
                    });
 +
                    $('#gridBtn').on('click', function () {
 +
                        let list = [];
 +
                        $('.gridClicked').each(function () {
 +
                            list.push($(this).text());
 +
                        });
 +
                        $('#gridText').val(list);
 
                     });
 
                     });
 
                 }
 
                 }

Revision as of 05:41, 18 October 2020

/* Flash icons on hover. */
$('#UOLinksList').on('mouseover', 'span', function() {
        $('.pin a img').addClass('pin-not_circle');
        $('#' + $(this).data('pair') + ' a img').addClass('pin-circle').removeClass('pin-not_circle');
    })
    .on('mouseout', 'span', function() {
        $('.pin a img').removeClass('pin-not_circle');
        $('#' + $(this).data('pair') + ' a img').removeClass('pin-circle');
    });

/* Highlight map region on hover. */
document.removeHighlights = () => {
    $('.mapgrid').css('visibility', 'hidden');
    $('.roundTL,.roundTR,.roundBL,.roundBR').removeClass('roundTL roundTR roundBL roundBR');
};
$('body').on('mouseover', '.overlayhighlighter', function() {
        let getEles = (num) => [...$(this).find(`span:eq(${num})`).text().split(',')].map((x) => {
            return `.grid${x}`;
        }).join(', ');
        document.removeHighlights();
        $(getEles(0)).css('visibility', 'visible');
        $(getEles(1)).addClass('roundTL');
        $(getEles(2)).addClass('roundTR');
        $(getEles(3)).addClass('roundBL');
        $(getEles(4)).addClass('roundBR');
    })
    .on('mouseout', '.overlayhighlighter', function() {
        document.removeHighlights();
    });

/* Dev tool hotkeys for map highlighter. */
document.onkeydown = function(e) {
    if (e.ctrlKey) {
        switch (e.which) {
            case 38: // up
                $('.overlaygrid').css('fontSize', parseInt($('.overlaygrid').css('fontSize')) + 1 + 'px');
                break;

            case 40: // down
                $('.overlaygrid').css('fontSize', parseInt($('.overlaygrid').css('fontSize')) - 1 + 'px');
                break;

            case 66: // "b"
                $('.mapgrid').css({
                    background: 'red'
                });
                break;

            case 79: // "o"
                $('.mapgrid').css({
                    visibility: 'visible',
                });
                $('.hideoverlaytext').removeClass('hideoverlaytext');
                $('.overlaygrid').css({
                    opacity: '100%',
                    fontSize: '9px'
                });
                if (!$('#gridText').length) {
                    $('.mapOuterDiv').before('<input type="button" id="gridBtn" value="List" style="float: right;"><input type="text" id="gridText" style="width: 50%;float: right;">');
                    $('.mapOuterDiv').on('click', '.mapgrid', function () {
                        $(this).toggleClass('gridClicked');
                    });
                    $('#gridBtn').on('click', function () {
                        let list = [];
                        $('.gridClicked').each(function () {
                            list.push($(this).text());
                        });
                        $('#gridText').val(list);
                    });
                }
                event.preventDefault();
            default:
                return; // exit this handler for other keys
        }
    }
};