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

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