mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/MinervaNeue
synced 2024-11-17 11:13:34 +00:00
ef5003f310
The MobileFrontend dependency in Minerva is problematic. Code that Minerva needs should live in core. MobileFrontend should load code on all skins when they operate on a mobile domain. This eslint check reminds developers of this in a hope it encourages more upstreaming to core when possible. Of course disabling is also an option, but this check will at least make us aware of when we are moving further away from the goal. Change-Id: I62183c9aefc81053e4ad81fb746decef2dd24b44
60 lines
1.7 KiB
JavaScript
60 lines
1.7 KiB
JavaScript
( function ( M, mwMsg ) {
|
|
var
|
|
Overlay = M.require( 'mobile.startup' ).Overlay,
|
|
IssueList = require( './IssueList.js' ),
|
|
KEYWORD_ALL_SECTIONS = 'all',
|
|
NS_MAIN = 0,
|
|
NS_TALK = 1,
|
|
NS_CATEGORY = 14;
|
|
|
|
/**
|
|
* Overlay for displaying page issues
|
|
*
|
|
* @param {IssueSummary[]} issues list of page issue summaries for display.
|
|
* @param {string} section
|
|
* @param {number} namespaceID
|
|
* @return {Overlay}
|
|
*/
|
|
function pageIssuesOverlay( issues, section, namespaceID ) {
|
|
var overlay,
|
|
// Note only the main namespace is expected to make use of section issues, so the
|
|
// heading will always be minerva-meta-data-issues-section-header regardless of
|
|
// namespace.
|
|
headingText = section === '0' || section === KEYWORD_ALL_SECTIONS ?
|
|
getNamespaceHeadingText( namespaceID ) :
|
|
mwMsg( 'minerva-meta-data-issues-section-header' );
|
|
|
|
overlay = new Overlay( {
|
|
className: 'overlay overlay-issues',
|
|
heading: '<strong>' + headingText + '</strong>'
|
|
} );
|
|
|
|
overlay.$el.find( '.overlay-content' ).append(
|
|
new IssueList( issues ).$el
|
|
);
|
|
return overlay;
|
|
}
|
|
|
|
/**
|
|
* Obtain a suitable heading for the issues overlay based on the namespace
|
|
* @param {number} namespaceID is the namespace to generate heading for
|
|
* @return {string} heading for overlay
|
|
*/
|
|
function getNamespaceHeadingText( namespaceID ) {
|
|
switch ( namespaceID ) {
|
|
case NS_CATEGORY:
|
|
return mw.msg( 'mobile-frontend-meta-data-issues-categories' );
|
|
case NS_TALK:
|
|
return mw.msg( 'mobile-frontend-meta-data-issues-talk' );
|
|
case NS_MAIN:
|
|
return mw.msg( 'mobile-frontend-meta-data-issues' );
|
|
default:
|
|
return '';
|
|
}
|
|
}
|
|
|
|
module.exports = pageIssuesOverlay;
|
|
|
|
// eslint-disable-next-line no-restricted-properties
|
|
}( mw.mobileFrontend, mw.msg ) );
|