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);
        }
    });
});
}

Текущая версия от 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);
	        }
	    });
	});
}