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

Нет описания правки
Метка: отменено
Нет описания правки
Метка: ручная отмена
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1084: Строка 1084:
// Для "Шаблон:Переключатель_проекта"
// Для "Шаблон:Переключатель_проекта"
function initProjectSelectionGenerator() {
function initProjectSelectionGenerator() {
var COOKIE_PROJECT = 'ss14_preferredProject';
var containers = document.getElementsByClassName('js-project-selection-generator');
var containers = document.getElementsByClassName('js-project-selection-generator');


Строка 1091: Строка 1092:
.replace(/\s+/g, '-')
.replace(/\s+/g, '-')
.replace(/[^A-Za-z0-9_\-\u0400-\u04FF]/g, '');
.replace(/[^A-Za-z0-9_\-\u0400-\u04FF]/g, '');
}
function normalizeProjectName(s) {
return String(s === undefined || s === null ? '' : s)
.trim()
.toLowerCase();
}
}


Строка 1173: Строка 1180:
if (projects.length <= 1) {
if (projects.length <= 1) {
continue;
continue;
}
var preferredProject = $.cookie(COOKIE_PROJECT) || '';
var preferredNorm = normalizeProjectName(preferredProject);
var activeProject = projects[0];
if (preferredProject && preferredNorm !== 'corvax') {
for (var p = 0; p < projects.length; p++) {
if (normalizeProjectName(projects[p]) === preferredNorm) {
activeProject = projects[p];
break;
}
}
}
}


if (!getCurrentJsonPath()) {
if (!getCurrentJsonPath()) {
setCurrentJsonPath(projects[0]);
setCurrentJsonPath(activeProject);
}
}


Строка 1194: Строка 1215:
input.id = projectId;
input.id = projectId;


if (j === 0) {
if (projectName === activeProject) {
input.checked = true;
input.checked = true;
}
}
Строка 1223: Строка 1244:
});
});
})(form);
})(form);
if (preferredProject && preferredNorm !== 'corvax') {
for (var k = 0; k < projects.length; k++) {
if (normalizeProjectName(projects[k]) === preferredNorm) {
refreshForProject(projects[k]);
break;
}
}
}
}
}
}
}