MediaWiki:Character-Banner.js: Difference between revisions

no edit summary
No edit summary
No edit summary
 
(20 intermediate revisions by the same user not shown)
Line 28: Line 28:
          
          
     }
     }
    var lang = $('.character-banner-outer')[0].dataset.lang ?? ''


     if (isMobile) {
     if (isMobile) {
         var classes = [];
         var classes = [];
         var apix = api.parse(
         var apix = api.parse(
             new mw.Title('MediaWiki:NavSidebar/Character'), { contentmodel: 'wikitext', wrapoutputclass: '', disablelimitreport: true, prop: 'text' });
             new mw.Title('MediaWiki:NavSidebar' + (lang ? '/' + lang : '') + '/Character'), { contentmodel: 'wikitext', wrapoutputclass: '', disablelimitreport: true, prop: 'text' });
         apix.then(function (text) {
         apix.then(function (text) {
             $('html').prepend('<div id="sidebar-content" style="display:none;position:absolute;top:-999999px;">' + text + '</div>');
             $('html').prepend('<div id="sidebar-content" style="display:none;position:absolute;top:-999999px;">' + text + '</div>');
             $('#sidebar-content #nav > ul > li > a').each(function () {
             $('#sidebar-content #nav > ul > li > a').each(function () {
                 classes.push($(this).attr('title').replace('/', ''));
                 classes.push($(this).attr('title').replace('Lu/Ciel', 'LuCiel').replace(/(\/.*)/g, ''));
             });
             });
            console.log(classes)
             $('#sidebar-content').remove();
             $('#sidebar-content').remove();
             classesIntoMaps();
             classesIntoMaps();
Line 74: Line 77:


     $('.char-banner-tree-image').mouseenter(function (e) {
     $('.char-banner-tree-image').mouseenter(function (e) {
         var base_name = $(this).parent().attr('data-base');
         var base_name = $(this).parent()[0].dataset.base;
         var class_name = $(this).attr('data-class-name');
         var class_name = $(this).attr('data-class-name');
         var index = $(this).index() + 1;
         var index = $(this).index() + 1;
Line 91: Line 94:
     });
     });


    var lang = $('.character-banner-outer')[0].dataset.lang ?? ''
     function changeCharacterLink(el) {
 
     function changeCharacterLink() {
         $('.char-banner').click(function () {
         $('.char-banner').click(function () {
            var base_name = $(el)[0].dataset.base;
            if (base_name == 'LuCiel (Lu)') base_name = 'LuCiel';
             window.location.href = '/w/' + base_name + (lang ? '/' + lang : '');
             window.location.href = '/w/' + base_name + (lang ? '/' + lang : '');
         });
         });
     }
     }
     changeCharacterLink();
     changeCharacterLink('.char-banner-tree');


     $('.char-banner-tree').mouseleave(function (e) {
     $('.char-banner-tree').mouseleave(function (e) {
         var base_name = $(this).attr('data-base');
         var base_name = $(this)[0].dataset.base;
         if (base_name == 'LuCiel') base_name = 'Lu/Ciel';
         if (base_name == 'LuCiel') base_name = 'Lu/Ciel';
         $('.char-banner-title').text(base_name);
         $('.char-banner-title').text($(this)[0].dataset.displayBase);
         $('.char-banner-image').html(face(base_name.replace('/', '')));
         $('.char-banner-image').html(face(base_name.replace('/', '')));
         changeCharacterLink();
         changeCharacterLink(this);
     });
     });


     var global_tree = 'Elsword';
     var global_tree = 'Elsword';
    var global_display_tree = 'Elsword';


     $('.character-banner-select a').click(function (e) {
     $('.character-banner-select a').click(function (e) {
Line 114: Line 118:
         $('.character-banner-select a').removeClass('active');
         $('.character-banner-select a').removeClass('active');
         $(this).addClass('active');
         $(this).addClass('active');
         var base_name = $(this).find('img').attr('alt').replace(/Icon - (.*?)\.png/g, '$1');
         var base_name = $(this).parents('div[data-base]')[0].dataset.base;
         if (base_name == 'LuCiel (Lu)') base_name = 'LuCiel';
         if (base_name == 'LuCiel (Lu)') base_name = 'LuCiel';
         $('.char-banner-tree').hide();
         $('.char-banner-tree').hide();
         $('.char-banner-tree[data-base=' + base_name + ']').css('display', 'grid');
         $('.char-banner-tree[data-base=' + base_name + ']').css('display', 'grid');
         global_tree = base_name;
         global_tree = base_name;
         if (isMobile) {
         global_display_tree = $(this).parents('div[data-base]')[0].dataset.displayBase;
            changeCharacterLink();
        changeCharacterLink($(this).parent()[0]);
        }
     });
     });


     $('.character-banner-select a').mouseenter(function () {
     $('.character-banner-select a').on('mouseenter', function () {
         var base_name = $(this).find('img').attr('alt').replace(/Icon - (.*?)\.png/g, '$1');
         var base_name = $(this).parents('div[data-base]')[0].dataset.base;
        var base_display_name = $(this).parents('div[data-base]')[0].dataset.displayBase;
         if (base_name == 'LuCiel (Lu)') base_name = 'LuCiel';
         if (base_name == 'LuCiel (Lu)') base_name = 'LuCiel';
         var coords = [undefined, undefined];
         var coords = [undefined, undefined];


         $('.char-banner-title').text(base_name.replace('LuCiel', 'Lu/Ciel'));
         $('.char-banner-title').text(base_display_name.replace('LuCiel', 'Lu/Ciel'));
         $('.char-banner-image').html(face(base_name, coords[0], coords[1]));
         $('.char-banner-image').html(face(base_name, coords[0], coords[1]));
     });
     });
Line 136: Line 140:
         var coords = [undefined, undefined];
         var coords = [undefined, undefined];


         $('.char-banner-title').text(global_tree.replace('LuCiel', 'Lu/Ciel'));
         $('.char-banner-title').text(global_display_tree.replace('LuCiel', 'Lu/Ciel'));
         $('.char-banner-image').html(face(global_tree, coords[0], coords[1]));
         $('.char-banner-image').html(face(global_tree, coords[0], coords[1]));
     });
     });
});
});