mediawiki-skins-MinervaNeue/resources/skins.minerva.options/backtotop.js
jdlrobson b9862d7d24 skins.minerva.options uses packageFiles
I want to remove the need for M.define in the Minerva repository.
It's no longer necessary with packageFiles and will help tame
a lot of the code we have here!

Change-Id: If6a35a23e84a44adb965fd9c41265ba37eb8368e
2019-07-08 17:22:11 +00:00

26 lines
684 B
JavaScript

module.exports = function () {
var BackToTopOverlay = require( './BackToTopOverlay.js' ),
backtotop = new BackToTopOverlay(),
features = mw.config.get( 'wgMinervaFeatures', {} ),
M = mw.mobileFrontend,
mobile = M.require( 'mobile.startup' ),
browser = mobile.Browser.getSingleton(),
eventBus = mobile.eventBusSingleton;
// check if browser user agent is iOS (T141598)
if ( browser.isIos() || !features.backToTop ) {
return;
}
// initialize the back to top element
backtotop.appendTo( 'body' );
eventBus.on( 'scroll', function () {
if ( $( window ).height() - $( window ).scrollTop() <= 0 ) {
backtotop.show();
} else {
backtotop.hide();
}
} );
};