User:Gryllida/NewArticle/common.js
< User:Gryllida | NewArticle
Note: After saving, you may have to bypass your browser's cache to see the changes. Mozilla / Firefox / Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R (Cmd-Shift-R on Apple Mac); IE: hold Ctrl while clicking Refresh, or press Ctrl-F5; Konqueror: simply click the Reload button, or press F5; Opera users may need to completely clear their cache in Tools→Preferences. — More skins
/*
Author : Svetlana Tkachenko svetlana@members.fsf.org
This file is a part of addInstantSaveToCodeEditor.
Licence: GPLv3+
Release date: 2018-03-13 [[Category:Gryllida New article experiment]]
Description: adds an instant save button to spans with gryllida-instant-save class
*/
mw.loader.using(['mediawiki.api', 'oojs-ui'], function () {
if('.gryllida-instant-save'){
// for spans
var saveThePageForSpan = function(){
// Update button text
$('.gryllida-instant-save').text('Saving...');
// Get text area contents
var textbox = $('#wpTextbox1');
var context = textbox && textbox.data('wikiEditor-context');
var currentText = context.$textarea.textSelection( 'getContents' );
// Save the page via AJAX edit api
var api = new mw.Api();
api.postWithToken("edit", {
action: 'edit',
title: mw.config.get ('wgPageName'),
text: currentText,
summary: $('#wpSummary').val() + ' ([[User:Gryllida/js/addInstantSaveToNewArticle.js|assisted]])'
}).done(function (data){
// Success; Update button text
$('.gryllida-instant-save').text('Saved');
$('.gryllida-create-article-nav').css('visibility', 'visible');
textbox.on('input propertychange paste', function(){
$('.gryllida-instant-save').text('Save');
$('.gryllida-create-article-nav').css('visibility', 'hidden');
});
});
};
$('.gryllida-instant-save').click(function(){saveThePageForSpan();});
$('.gryllida-instant-save').css('visibility', 'visible');
}
});
// text: $('#wpTextbox1').text()