User:Gryllida/js/addInstantSaveToCodeEditor.js

From Wikinews, the free news source you can write!
Jump to navigation Jump to search

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+
Version: 0.1
Release date: 2018-02-26
Description: adds an instant save button to CodeEditor
*/ 

// Check that CodeEditor is loaded
mw.loader.using(['mediawiki.api', 'oojs-ui'], function () {
	if('.wikiEditor-ui'){
		var button = new OO.ui.ButtonWidget( { 
		  label: 'Instant Save' 
		} );
		// Instant save on click
		button.$element.click(function(){
			// Update button text
			button.setLabel( '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/addInstantSaveToCodeEditor.js|assisted]])'
			}).done(function (data){
				// Success; Update button text
				button.setLabel( 'Instant Save');
			});
		});
		$('#wpDiffWidget').after(button.$element);
		
		
	}
		
		
});

//	text: $('#wpTextbox1').text()