mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
synced 2024-12-11 07:16:08 +00:00
34 lines
1,019 B
JavaScript
34 lines
1,019 B
JavaScript
|
( function ( mw ) {
|
||
|
|
||
|
/**
|
||
|
* Given the global state of the application, creates a function that gets
|
||
|
* whether or not the user should have Page Previews enabled.
|
||
|
*
|
||
|
* The user has previews enabled if:
|
||
|
* * The beta feature is available (see `$wgPopupsBetaFeature`) and they've
|
||
|
* enabled the beta feature.
|
||
|
* * They *haven't disabled* it via the settings modal.
|
||
|
*
|
||
|
* The first case covers the enabled by default case: if
|
||
|
* `$wgPopupsBetaFeature` is `false` and the user hasn't disabled previews via
|
||
|
* their preferences, then previews are enabled.
|
||
|
*
|
||
|
* @param {mw.user} user The `mw.user` singleton instance
|
||
|
* @param {Object} userSettings An object returned by
|
||
|
* `mw.popups.createUserSettings`
|
||
|
*
|
||
|
* @return {Function}
|
||
|
*/
|
||
|
mw.popups.isEnabled = function ( user, userSettings ) {
|
||
|
return function () {
|
||
|
if ( user.isAnon() ) {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
return !userSettings.hasIsEnabled() ||
|
||
|
( userSettings.hasIsEnabled() && userSettings.getIsEnabled() );
|
||
|
};
|
||
|
};
|
||
|
|
||
|
}( mediaWiki ) );
|