MediaWiki:Common.js: различия между версиями

мНет описания правки
Нет описания правки
Метки: с мобильного устройства из мобильной версии через расширенный мобильный режим
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1162: Строка 1162:
placeholder.textContent = 'Ошибка загрузки страницы.';
placeholder.textContent = 'Ошибка загрузки страницы.';
});
});
}
function createProjectMenu(projects, activeProject) {
var form = document.createElement('form');
form.className = 'js-project-menu';
for (var j = 0; j < projects.length; j++) {
var projectName = projects[j];
var projectId = 'project-' + normalizeIdPart(projectName);
var div = document.createElement('div');
var input = document.createElement('input');
input.type = 'radio';
input.name = 'js-project-selection';
input.value = projectName;
input.id = projectId;
if (projectName === activeProject) {
input.checked = true;
}
var label = document.createElement('label');
label.htmlFor = projectId;
label.textContent = projectName;
div.appendChild(input);
div.appendChild(label);
form.appendChild(div);
}
form.addEventListener('change', function (event) {
var target = event.target;
if (!target || target.tagName !== 'INPUT') return;
if (target.type !== 'radio') return;
if (target.name !== 'js-project-selection') return;
if (!target.checked) return;
refreshForProject(target.value);
});
return form;
}
function getTargetContainers() {
var targets = [];
var portletList = document.querySelector('#mw-content .mw-portlet-body ul');
if (portletList) {
targets.push(portletList);
}
var associatedPages = document.querySelector('#p-associated-pages');
if (associatedPages) {
targets.push(associatedPages);
} else {
var associatedPagesRoot = document.querySelector('#p-associated-pages');
if (associatedPagesRoot) {
targets.push(associatedPagesRoot);
}
}
return targets;
}
}


Строка 1200: Строка 1263:
}
}


var form = document.createElement('form');
var targets = getTargetContainers();
form.className = 'js-project-menu';
for (var t = 0; t < targets.length; t++) {
 
targets[t].appendChild(createProjectMenu(projects, activeProject));
for (var j = 0; j < projects.length; j++) {
var projectName = projects[j];
var projectId = 'project-' + normalizeIdPart(projectName);
 
var div = document.createElement('div');
 
var input = document.createElement('input');
input.type = 'radio';
input.name = 'js-project-selection';
input.value = projectName;
input.id = projectId;
 
if (projectName === activeProject) {
input.checked = true;
}
 
var label = document.createElement('label');
label.htmlFor = projectId;
label.textContent = projectName;
 
div.appendChild(input);
div.appendChild(label);
form.appendChild(div);
}
 
var portletList = document.querySelector('#mw-content .mw-portlet-body ul');
if (portletList) {
portletList.appendChild(form);
}
}
(function (menuNode) {
menuNode.addEventListener('change', function (event) {
var target = event.target;
if (!target || target.tagName !== 'INPUT') return;
if (target.type !== 'radio') return;
if (target.name !== 'js-project-selection') return;
if (!target.checked) return;
refreshForProject(target.value);
});
})(form);


if (preferredProject && preferredNorm !== 'corvax') {
if (preferredProject && preferredNorm !== 'corvax') {