미디어위키:Gadget-Vector.js: 두 판 사이의 차이

식물 vs 좀비 위키
Brokey (토론)의 436 판 편집을 되돌림
태그: 편집 취소
편집 요약 없음
255번째 줄: 255번째 줄:
'use strict';
'use strict';


function removeRelatedInterface() {
function removeObsoleteInterface() {
var ids = ['pvz-related-toggle', 'pvz-related-menu'];
var ids = [
'pvz-related-toggle',
'pvz-related-menu',
'pvz-right-panel',
'pvz-left-panel-toggle',
'pvz-right-panel-toggle'
];


ids.forEach(function (id) {
ids.forEach(function (id) {
267번째 줄: 273번째 줄:
}
}


function moveLogoOutsidePanel(panel) {
function restoreLogoToPanel(panel) {
var logo = panel && panel.querySelector('#p-logo');
var wrapper = document.getElementById('pvz-sidebar-logo');
var wrapper = document.getElementById('pvz-sidebar-logo');
var logo =
(wrapper && wrapper.querySelector('#p-logo')) ||
document.querySelector('#p-logo');


if (!logo || !document.body) {
if (!panel || !logo) {
return;
return;
}
}


if (!wrapper) {
if (logo.parentNode !== panel) {
wrapper = document.createElement('div');
panel.insertBefore(logo, panel.firstChild);
wrapper.id = 'pvz-sidebar-logo';
document.body.appendChild(wrapper);
}
}


if (logo.parentNode !== wrapper) {
if (wrapper) {
wrapper.appendChild(logo);
wrapper.remove();
}
}
}
}
310번째 줄: 316번째 줄:
}
}


function installV26Interface() {
function installV27Interface() {
var panel = document.querySelector('.skin-vector-legacy #mw-panel');
var panel = document.querySelector('.skin-vector-legacy #mw-panel');


removeRelatedInterface();
removeObsoleteInterface();
 
restoreLogoToPanel(panel);
if (panel) {
moveLogoOutsidePanel(panel);
}
 
syncPanelTop();
syncPanelTop();
syncSearchLeft();
syncSearchLeft();
}
}


function initV26Interface() {
function initV27Interface() {
installV26Interface();
installV27Interface();


window.addEventListener('resize', function () {
window.addEventListener('resize', function () {
338번째 줄: 340번째 줄:


if (document.readyState === 'loading') {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initV26Interface, { once: true });
document.addEventListener('DOMContentLoaded', initV27Interface, { once: true });
} else {
} else {
initV26Interface();
initV27Interface();
}
}
}());
}());