MediaWiki:Common.js

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */

$(function() {
	mw.loader.using( [
	'mediawiki.widgets.DateInputWidget'
	] ).done( function () {
		var dateInput = new mw.widgets.DateInputWidget({id: 'date'});
		$('#ir-roman-date-converter').append('<div class=\"mw-inputbox-centered\"> ', dateInput.$element, ' \
		<input type=\"submit\" onclick=\"submit()\" class=\"mw-ui-button mw-ui-progressive webfonts-changed\" value=\"Convert Date\"> \
        <div id=\"result\"></div> \
        <script> \
            function submit(){ \
                const resultDiv = document.getElementById(\"result\"); \
                const api = new mw.Api(); \
                let date = $(\'#date input[type=hidden]\').val(); \
                api.get({ \
                    action: \'expandtemplates\', \
                    prop: \'wikitext\', \
                    text:\'{{#invoke:Roman Date| main | \' + date + \' }}\' \
                }).done( function ( data ) { \
                    resultDiv.innerHTML = data.expandtemplates.wikitext; \
                } ); \
            } \
        </script> \
    </div>');
	});
});

$(function() {
	mw.loader.using( [
	'oojs-ui',
	'oojs-ui-core',
	] ).done( function () {
		var numInput = new OO.ui.NumberInputWidget({id: 'numeral'});
		$('#ir-roman-numeral-converter').append('<div class=\"mw-inputbox-centered\"> ', numInput.$element, ' \
		<input type=\"submit\" onclick=\"submit()\" class=\"mw-ui-button mw-ui-progressive webfonts-changed\" value=\"Convert Number\"> \
        <div id=\"result\"></div> \
        <script> \
            function submit(){ \
                const resultDiv = document.getElementById(\"result\"); \
                const api = new mw.Api(); \
                let numeral = $(\'#numeral input\').val(); \
                api.get({ \
                    action: \'expandtemplates\', \
                    prop: \'wikitext\', \
                    text:\'{{#invoke:Roman Numeral| main |\' + numeral + \' | explanation=yes  }}\' \
                }).done( function ( data ) { \
                    resultDiv.innerHTML = \'<pre>\' + data.expandtemplates.wikitext + \'</pre>\'; \
                } ); \
            } \
        </script> \
    </div>');
	});
});