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

Нет описания правки
Метки: ручная отмена отменено
Нет описания правки
Метка: ручная отмена
Строка 680: Строка 680:


function fetchParsedData(wikiText) {
function fetchParsedData(wikiText) {
var apiUrl = "https://station14.ru/api.php?action=parse&format=json&prop=text&text=" + encodeURIComponent(wikiText) + "&origin=*";
return $.ajax({
return $.ajax({
url: apiUrl,
url: mw.util.wikiScript('api'),
method: "GET",
method: 'POST',
dataType: "json"
dataType: 'json',
data: {
action: 'parse',
format: 'json',
prop: 'text',
text: wikiText,
origin: '*'
}
});
});
}
}
Строка 717: Строка 723:


initAjaxLoader(root);
initAjaxLoader(root);
initPage();
}
}


Строка 1077: Строка 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');


Строка 1084: Строка 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();
}
}


Строка 1166: Строка 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);
}
}


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


if (j === 0) {
if (projectName === activeProject) {
input.checked = true;
input.checked = true;
}
}
Строка 1216: Строка 1244:
});
});
})(form);
})(form);
if (preferredProject && preferredNorm !== 'corvax') {
for (var k = 0; k < projects.length; k++) {
if (normalizeProjectName(projects[k]) === preferredNorm) {
refreshForProject(projects[k]);
break;
}
}
}
}
}
}
function initPage() {
var checkboxExist = document.querySelectorAll('.js-checkbox-generator');
if (checkboxExist.length > 0) {
initCheckboxCreator();
}
registerCheckboxExpander('js-checkbox-mw-collapsible');
}
}
const currentPageTitle = document.title;
const currentPageTitle = document.title;
Строка 1313: Строка 1357:
if (document.querySelectorAll('.ajax-load-content').length > 0) {
if (document.querySelectorAll('.ajax-load-content').length > 0) {
initAjaxLoader();
initAjaxLoader();
}
var checkboxExist = document.querySelectorAll('.js-checkbox-generator');
if (checkboxExist.length > 0) {
initCheckboxCreator();
}
}
var projectSelectionExist = document.querySelectorAll('.js-project-selection-generator');
var projectSelectionExist = document.querySelectorAll('.js-project-selection-generator');
Строка 1322: Строка 1362:
initProjectSelectionGenerator();
initProjectSelectionGenerator();
}
}
registerCheckboxExpander('js-checkbox-mw-collapsible');
initPage();
});
});
/*WikiEditor/Викификатор*/
/*WikiEditor/Викификатор*/