User:Xover/autorefs.js

From Wikisource
Jump to navigation Jump to search
Note: After saving, changes may not occur immediately. Click here to learn how to bypass your browser's cache.
  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (Cmd-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (Cmd-Shift-R on a Mac)
  • Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Clear the cache in Tools → Preferences

For details and instructions about other browsers, see Wikipedia:Bypass your cache.

// ==================================================================
// Automatically add {{smallrefs}}
// ==================================================================

// Make sure the necessary modules are loaded
mw.loader.using(['mediawiki.util'], function () {
  // 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;
    }

	// Install onSave handler
	$("#wpSaveWidget").on('click', () => {
		const body = $('#wpTextbox1').val();
		const footer = $('#wpFooterTextbox').val();
		if (body.match(/<ref/) !== null) {
			if (footer.match('{{' + 'smallrefs' + '}}') === null) {
				$('#wpFooterTextbox').val(
					'{{' + 'smallrefs' + '}}' + $('#wpFooterTextbox').val()
				);
			}
		}
	});
  }); // END: $(document).ready()
}); // END: mw.loader.using()