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

Нет описания правки
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 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'));
            // остаемся на текущей странице
           
            // window.location.href = mw.util.getUrl(mw.config.get('wgPageName'));
            var api = new mw.Api();
           
 
            var api = new mw.Api();
api.postWithToken('csrf', {
    action: 'purge',
api.postWithToken('csrf', {
    titles: mw.config.get('wgPageName') // Получаем название текущей страницы
    action: 'purge',
}).done(function (data) {
    titles: mw.config.get('wgPageName') // Получаем название текущей страницы
    if (data && data.purge) {
}).done(function (data) {
        console.log('Кэш страницы успешно сброшен.');
    if (data && data.purge) {
        location.reload(); // Перезагрузить страницу, чтобы увидеть изменения
        console.log('Кэш страницы успешно сброшен.');
    } else {
        location.reload(); // Перезагрузить страницу, чтобы увидеть изменения
        console.log('Ошибка при сбросе кэша страницы.');
    } else {
    }
        console.log('Ошибка при сбросе кэша страницы.');
}).fail(function (error) {
    }
    console.log('Не удалось сбросить кэш страницы:', error);
}).fail(function (error) {
});
    console.log('Не удалось сбросить кэш страницы:', error);
        } else {
});
            // Обработка ошибок
        } else {
            console.error('Не удалось создать страницу: ', data);
            // Обработка ошибок
        }
            console.error('Не удалось создать страницу: ', data);
    });
        }
});
    });
});
}

Текущая версия от 23:18, 16 февраля 2024

var formCreatePage = document.querySelector('.createbox');

if (formCreatePage) {
	formCreatePage.addEventListener('submit', function(ev) {
		console.log('>> submit');
		ev.preventDefault();
	    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
	        format: 'json'
	    };
	
	    // Отправка запроса POST к API MediaWiki
	    $.post(mw.util.wikiScript('api'), params, function(data) {
	    	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(mw.config.get('wgPageName'));
	            
	            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);
	        }
	    });
	});
}