User:Xover/notext.js

// ================================================================== // Empty out "Without text" pages. // ==================================================================

// Global holding the selector for the edtor's text boxes. var boxSelector = '#wpHeaderTextbox, #wpTextbox1, #wpFooterTextbox';

// Make sure the necessary modules are loaded mw.loader.using(['mediawiki.util'], function {  console.log("notext.js starting load.");  // Wait for the page to be parsed (new-style $(document).ready)  $(function  {

/*    *  First check that this is a context we should be active in. */

// Only active on Page:-namespace pages. if (mw.config.get('wgCanonicalNamespace') !== 'Page') { return; }

// Only active on pages with content model 'proofread-page'. if (mw.config.get('wgPageContentModel') !== 'proofread-page') { return; }

// Only active when in edit/preview/diff mode. if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) < 0) { return; }

$('.prp-quality-radio.quality0 > input').on('click', function {    	console.log("saveDataAndClearField will be called.");		$(boxSelector).each(saveDataAndClearField);    }); var q = [1, 2, 3, 4]; // Page quality level values. for (var i in q) { var selector = '.prp-quality-radio.quality' + q[i] + ' > input'; $(selector).on('click', function {    		console.log("restoreDataAndClearSave will be called.");    		$(boxSelector).each(restoreDataAndClearSave);    	}); } }); // END: $(document).ready }); // END: mw.loader.using

function saveDataAndClearField { console.log("notext.js save handler called."); $(this).data('wsg-notext-saved-value', $(this).val); // Save data. $(this).val(''); // Clear field. }

function restoreDataAndClearSave { console.log("notext.js restore handler called."); if ($(this).data('wsg-notext-saved-value')) { $(this).val($(this).data('wsg-notext-saved-value')); // Restore data. $(this).data('wsg-notext-saved-value', ''); // Clear saved data. } }