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

Нет описания правки
Метки: с мобильного устройства из мобильной версии
Нет описания правки
Метки: с мобильного устройства из мобильной версии
 
(не показано 7 промежуточных версий этого же участника)
Строка 1: Строка 1:
/* All JavaScript here will be loaded for users of the mobile site */
/* All JavaScript here will be loaded for users of the mobile site */
var formCreatePage = document.querySelector('.createbox');
var formCreatePage = document.querySelector('#newThemeForm');


if (formCreatePage) {
if (formCreatePage) {
Строка 19: Строка 19:
    // Отправка запроса POST к API MediaWiki
    // Отправка запроса POST к API MediaWiki
    $.post(mw.util.wikiScript('api'), params, function(data) {
    $.post(mw.util.wikiScript('api'), params, function(data) {
    console.log('>>post', data.edit.result);
    console.log('>>post', data && data.edit && data.edit.result);
        if (data && data.edit && data.edit.result === 'Success') {
        if (data && data.edit && data.edit.result === 'Success') {
            // Если страница успешно создана, перенаправляем пользователя на неё
            // Если страница успешно создана, перенаправляем пользователя на неё
Строка 51: Строка 51:


// свернуть все заголовки
// свернуть все заголовки
console.log('Mediawiki:Mobile.js', 4);
console.log('Mediawiki:Mobile.js', 7);
var headings = document.querySelector('.section-heading');
setTimeout(function(){
var headings = $.find('.section-heading.open-block');
console.log('>> headings', headings);
console.log('>> headings', headings);
 
headings.forEach(function(h){
document.addEventListener('DOMContentLoaded', function() {
h.click();
  var sections = document.querySelectorAll('.section-heading[aria-expanded="true"]');
});
  sections.forEach(function(section) {
}, 100);
    section.click();
  });
});
document.addEventListener("DOMContentLoaded", function() {
 
// console.log('DOMContentLoaded');
// var headings = document.querySelector('.section-heading.open-block');
// console.log('>> headings', headings);
 
// headings.forEach(function(h){
// h.click();
// });
});

Текущая версия от 22:25, 4 июня 2024

/* All JavaScript here will be loaded for users of the mobile site */
var formCreatePage = document.querySelector('#newThemeForm');

if (formCreatePage) {
	formCreatePage.addEventListener('submit', function(ev) {
		console.log('>> submit');
		ev.preventDefault();
	    var pageTitle = formCreatePage.title.value;
	    var pageContent = "{{" + "Theme\n|parent=" + mw.config.get('wgTitle') + "\n|videoTitle=Подпись под видео\n|audioTitle=Подпись под аудио\n|description=Новый текст\n|result=Идеальный результат\n|chat=\n|graph=\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 && data.edit && 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);
	        }
	    });
	});
}

// свернуть все заголовки
console.log('Mediawiki:Mobile.js', 7);
setTimeout(function(){
	var headings = $.find('.section-heading.open-block');	
	console.log('>> headings', headings);
	headings.forEach(function(h){
		h.click();
	});
}, 100);