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

нет описания правки
Нет описания правки
Нет описания правки
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
var formCreatePage = document.querySelector('.createbox');
var formCreatePage = document.querySelector('.createbox');


formCreatePage.addEventListener('submit', function(ev) {
if (formCreatePage) {
console.log('>> submit');
formCreatePage.addEventListener('submit', function(ev) {
ev.preventDefault();
console.log('>> submit');
    var pageTitle = formCreatePage.title.value;
ev.preventDefault();
    var pageContent = `{{Theme
    var pageTitle = formCreatePage.title.value;
|title=${mw.config.get('wgPageName')}
    var pageContent = "{{Theme|parent=" + mw.config.get('wgTitle') + "}}\n==Описание раздела==\nТекст описания раздела\n\n==Идеальный результат==\nТекст идеального результата";
}}
    // Формирование запроса к API для создания страницы
==Описание раздела==
    var params = {
Текст описания раздела
        action: 'edit',
 
        title: pageTitle,
==Идеальный результат==
        text: pageContent,
Текст идеального результата`;
        token: mw.user.tokens.get('csrfToken'), // Получение токена CSRF из MediaWiki
 
        format: 'json'
    // Формирование запроса к API для создания страницы
    };
    var params = {
        action: 'edit',
    // Отправка запроса POST к API MediaWiki
        title: pageTitle,
    $.post(mw.util.wikiScript('api'), params, function(data) {
        text: pageContent,
    console.log('>>post', data.edit.result);
        token: mw.user.tokens.get('csrfToken'), // Получение токена CSRF из MediaWiki
        if (data && data.edit && data.edit.result === 'Success') {
        format: 'json'
            // Если страница успешно создана, перенаправляем пользователя на неё
    };
            // window.location.href = mw.util.getUrl(pageTitle);
 
           
    // Отправка запроса POST к API MediaWiki
            // остаемся на текущей странице
    $.post(mw.util.wikiScript('api'), params, function(data) {
            // window.location.href = mw.util.getUrl(mw.config.get('wgPageName'));
    console.log('>>post', data.edit.result);
           
        if (data && data.edit && data.edit.result === 'Success') {
            var api = new mw.Api();
            // Если страница успешно создана, перенаправляем пользователя на неё
            // window.location.href = mw.util.getUrl(pageTitle);
api.postWithToken('csrf', {
           
    action: 'purge',
            // остаемся на текущей странице
    titles: mw.config.get('wgPageName') // Получаем название текущей страницы
            window.location.href = mw.util.getUrl(mw.config.get('wgPageName'), {action: 'purge'});
}).done(function (data) {
        } else {
    if (data && data.purge) {
            // Обработка ошибок
        console.log('Кэш страницы успешно сброшен.');
            console.error('Не удалось создать страницу: ', data);
        location.reload(); // Перезагрузить страницу, чтобы увидеть изменения
        }
    } else {
    });
        console.log('Ошибка при сбросе кэша страницы.');
});
    }
}).fail(function (error) {
    console.log('Не удалось сбросить кэш страницы:', error);
});
        } else {
            // Обработка ошибок
            console.error('Не удалось создать страницу: ', data);
        }
    });
});
}