MediaWiki:Gadget-VIAFDataImporter.js

From wikishia

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.
/**
 * 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);

}());