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

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


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