ElEditors, Interface administrators, Administrators
70,866
edits
No edit summary Tags: Mobile edit Mobile web edit |
No edit summary |
||
(48 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
var classes = []; | var classes = []; | ||
var maps = {}; | var maps = {}; | ||
var isMobile = $('body').hasClass('skin-minerva') ? true : false; | |||
$('#p-Characters-label + .mw-portlet-body #nav > ul > li > a').each(function () { | $('#p-Characters-label + .mw-portlet-body #nav > ul > li > a').each(function () { | ||
classes.push($(this).attr('title').replace('/', '')) | classes.push($(this).attr('title').replace('Lu/Ciel', 'LuCiel').replace(/(\/.*)/g, '')) | ||
}); | }); | ||
$('.character-banner-select a:eq(0)').addClass('active'); | |||
var | function classesIntoMaps() { | ||
var apix; | |||
var i = 1; | |||
for (let classx of classes) { | |||
var apix = api.parse( | var apix = api.parse( | ||
'[[File: Face - ' + classx + '.png]]', { contentmodel: 'wikitext', wrapoutputclass: '', disablelimitreport: true }); | |||
apix.then(function (text) { | apix.then(function (text) { | ||
maps[classx] = text.match(/\/wiki(.*?)\.png/g)[0]; | |||
}); | }); | ||
i++; | |||
if (i == classes.length) { | |||
apix.done(function(){ | |||
$('.character-banner-select').addClass('loading-done'); | |||
}); | |||
} | |||
} | |||
} | } | ||
var lang = $('.character-banner-outer')[0].dataset.lang ?? '' | |||
if (isMobile) { | |||
var classes = []; | |||
var apix = api.parse( | var apix = api.parse( | ||
' | 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>'); | |||
$('#sidebar-content #nav > ul > li > a').each(function () { | |||
classes.push($(this).attr('title').replace('Lu/Ciel', 'LuCiel').replace(/(\/.*)/g, '')); | |||
}); | |||
console.log(classes) | |||
$('#sidebar-content').remove(); | |||
classesIntoMaps(); | |||
}); | }); | ||
$('.character-banner-select a').off('click').attr('href', ''); | |||
} | } | ||
classesIntoMaps(); | |||
var face_coords = function (path_no, job_no) { | var face_coords = function (path_no, job_no) { | ||
Line 66: | Line 77: | ||
$('.char-banner-tree-image').mouseenter(function (e) { | $('.char-banner-tree-image').mouseenter(function (e) { | ||
var base_name = $(this).parent(). | 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 75: | Line 86: | ||
else coords = [index - 8, 3]; | else coords = [index - 8, 3]; | ||
if ($(this | if ($(this).attr('data-unreleased') == 'true') { | ||
coords = [undefined, undefined]; | coords = [undefined, undefined]; | ||
} | } | ||
Line 82: | Line 93: | ||
$('.char-banner-image').html(face(base_name, coords[0], coords[1])); | $('.char-banner-image').html(face(base_name, coords[0], coords[1])); | ||
}); | }); | ||
function changeCharacterLink(el) { | |||
$('.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 : ''); | |||
}); | |||
} | |||
changeCharacterLink('.char-banner-tree'); | |||
$('.char-banner-tree').mouseleave(function (e) { | $('.char-banner-tree').mouseleave(function (e) { | ||
var base_name = $(this). | 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( | $('.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(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) { | ||
e.preventDefault(); | e.preventDefault(); | ||
$('.character-banner-select a').removeClass('active'); | |||
$(this).addClass('active'); | |||
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; | ||
global_display_tree = $(this).parents('div[data-base]')[0].dataset.displayBase; | |||
changeCharacterLink($(this).parent()[0]); | |||
}); | }); | ||
$('.character-banner-select a').mouseenter | $('.character-banner-select a').on('mouseenter', function () { | ||
var base_name = $(this). | 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( | $('.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 116: | Line 140: | ||
var coords = [undefined, undefined]; | var coords = [undefined, undefined]; | ||
$('.char-banner-title').text( | $('.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])); | ||
}); | }); | ||
}); | }); |