var types = require( './types.json' ); // Load Popups when touch events are not available in the browser (e.g. not a mobile device). var isTouchDevice = 'ontouchstart' in document.documentElement; if ( !isTouchDevice ) { mw.loader.using( types.concat( [ 'ext.popups.main' ] ) ).then( function () { // Load custom popup types types.forEach( function ( moduleName ) { var module = require( moduleName ); mw.popups.register( module ); } ); // For now this API is limited to extensions/skins as we have not had a chance to // consider the implications of gadgets having access to this function and dealing with // challenges such as selector overlap. delete mw.popups.register; } ); }