MediaWiki:Common.js: различия между версиями
Pok (обсуждение | вклад) Нет описания правки Метка: отменено |
Pok (обсуждение | вклад) Нет описания правки Метка: ручная отмена |
||
| (не показаны 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( | setCurrentJsonPath(activeProject); | ||
} | } | ||
| Строка 1194: | Строка 1215: | ||
input.id = projectId; | input.id = projectId; | ||
if ( | 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; | |||
} | |||
} | |||
} | |||
} | } | ||
} | } | ||