[go: up one dir, main page]

Jump to content

User:Nux/yourGadgetName.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// <nowiki>
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
/**
 * Wikiploy gadget example.
 * 
 * History and docs:
 * https://github.com/Eccenux/wikiploy-rollout-example
 * 
 * Deployed using: [[Wikipedia:Wikiploy]]
 */
class MyGadget {
	constructor() {
		this.options = {
			createTool: true,
		};
	}

	/** Initialize things when DOM is ready. */
	init() {
		// Example link in the tools sidebar
		if (this.options.createTool) {
			var portletId = mw.config.get('skin') === 'timeless' ? 'p-pagemisc' : 'p-tb';
			var linkLabel = '🧩 My gadget dialog';
			var itemId = 'some-unique-gadget-tool';
			var item = mw.util.addPortletLink(portletId, '#', linkLabel, itemId);
			$(item).on('click', (evt) => {
				evt.preventDefault();
				this.openDialog();
			});
		}
	}

	/** Open some dialog. */
	openDialog() {
		// Open a dialog window here
		alert("We are open for community!");
	}
}

module.exports = { MyGadget };

},{}],2:[function(require,module,exports){
var { MyGadget } = require("./MyGadget");

// instance
var gadget = new MyGadget();

// hook when object is ready
mw.hook('userjs.yourGadgetNameExample.loaded').fire(gadget);

$(function(){
	// load Mediwiki core dependency
	// (in this case util is loaded to be able to use `mw.util.addPortletLink`)
	mw.loader.using(["mediawiki.util"]).then( function() {
		gadget.init();

		// hook when initial elements are ready 
		mw.hook('userjs.yourGadgetNameExample.ready').fire(gadget);
	});
});

},{"./MyGadget":1}]},{},[2]);

// </nowiki>