MediaWiki:Gadget-VIAFDataImporter.js

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
/**
 * Gadget that loads [[MediaWiki:VIAFDataImporter.js]] (by [[User:Inductiveload]])
 * after clicking the according button
 *
 * Help at [[Help:Gadget-VIAFDataImporter]]
 *
 * @rev 2 (2022-12-21)
 * @author Rillke, 2012
 */

/*global $:false, mw:false*/
/*jshint curly:false*/

(function() {
	'use strict';

	if ([0, 2, 14, 100, 106].indexOf(mw.config.get('wgNamespaceNumber')) === -1) return;

	// ImporterInstance
	var ii;
	var waiting = false;

	function openVIAF() {
		ii.add_VIAF_pane();
		$('html,body').stop().animate({
			scrollTop: $('#add_viaf_data_pane').offset().top
		}, 500);
	}

	function onScriptLoad(evt, instance) {
		waiting = false;
		ii = instance;
		openVIAF();
	}

	function loadVIAFData(e) {
		e.preventDefault();
		if (waiting) return;

		if (!ii) {
			waiting = true;
			$(document).one('viafDataImporterInstance', onScriptLoad);
			importScript('MediaWiki:VIAFDataImporter.js');
		} else {
			openVIAF();
		}
	}

	var portlet = mw.util.addPortletLink('p-tb', '#', 'Add authority control', 'tb-viaf-authority-control', 'Add an authority control template using data from VIAF');
	$(portlet).on('click', loadVIAFData);

}());