Merge "page issues is feature flagged"
This commit is contained in:
commit
58cfdbff89
|
@ -54,5 +54,7 @@
|
||||||
"skin-minerva-mobile-option-MinervaShowCategoriesButton": "Categories",
|
"skin-minerva-mobile-option-MinervaShowCategoriesButton": "Categories",
|
||||||
"skin-minerva-mobile-option-MinervaShowCategoriesButton-description": "View categories of pages",
|
"skin-minerva-mobile-option-MinervaShowCategoriesButton-description": "View categories of pages",
|
||||||
"skin-minerva-mobile-option-MinervaEnableBackToTop": "Jump to top",
|
"skin-minerva-mobile-option-MinervaEnableBackToTop": "Jump to top",
|
||||||
"skin-minerva-mobile-option-MinervaEnableBackToTop-description": "Jump to top of the current page using a floating button"
|
"skin-minerva-mobile-option-MinervaEnableBackToTop-description": "Jump to top of the current page using a floating button",
|
||||||
|
"skin-minerva-mobile-option-MinervaPageIssuesNewTreatment": "Improved page issues treatment",
|
||||||
|
"skin-minerva-mobile-option-MinervaPageIssuesNewTreatment-description": "Page issues (Template:ambox) will be inlined in the article."
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,5 +63,7 @@
|
||||||
"skin-minerva-mobile-option-MinervaShowCategoriesButton": "Label for categories mobile web beta feature.\n{{Identical|Category}}",
|
"skin-minerva-mobile-option-MinervaShowCategoriesButton": "Label for categories mobile web beta feature.\n{{Identical|Category}}",
|
||||||
"skin-minerva-mobile-option-MinervaShowCategoriesButton-description": "Description label for categories mobile web beta feature.",
|
"skin-minerva-mobile-option-MinervaShowCategoriesButton-description": "Description label for categories mobile web beta feature.",
|
||||||
"skin-minerva-mobile-option-MinervaEnableBackToTop": "Label for jump to top mobile web beta feature",
|
"skin-minerva-mobile-option-MinervaEnableBackToTop": "Label for jump to top mobile web beta feature",
|
||||||
"skin-minerva-mobile-option-MinervaEnableBackToTop-description": "Description label for jump to top mobile web beta feature"
|
"skin-minerva-mobile-option-MinervaEnableBackToTop-description": "Description label for jump to top mobile web beta feature",
|
||||||
|
"skin-minerva-mobile-option-MinervaPageIssuesNewTreatment": "Title for page issues feature flag displayed in Special:MobileOptions",
|
||||||
|
"skin-minerva-mobile-option-MinervaPageIssuesNewTreatment-description": "Description shown on Special:MobileOptions for page issues beta feature."
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,6 +60,13 @@ class MinervaHooks {
|
||||||
$config->get( 'MinervaShowShareButton' )
|
$config->get( 'MinervaShowShareButton' )
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
$featureManager->registerFeature(
|
||||||
|
new MobileFrontend\Features\Feature(
|
||||||
|
'MinervaPageIssuesNewTreatment',
|
||||||
|
'skin-minerva',
|
||||||
|
$config->get( 'MinervaPageIssuesNewTreatment' )
|
||||||
|
)
|
||||||
|
);
|
||||||
} catch ( RuntimeException $e ) {
|
} catch ( RuntimeException $e ) {
|
||||||
// features already registered...
|
// features already registered...
|
||||||
// due to a bug it's possible for this to run twice
|
// due to a bug it's possible for this to run twice
|
||||||
|
@ -180,6 +187,10 @@ class MinervaHooks {
|
||||||
$mobileContext ),
|
$mobileContext ),
|
||||||
SkinMinerva::OPTION_BACK_TO_TOP
|
SkinMinerva::OPTION_BACK_TO_TOP
|
||||||
=> $featureManager->isFeatureAvailableInContext( 'MinervaEnableBackToTop', $mobileContext ),
|
=> $featureManager->isFeatureAvailableInContext( 'MinervaEnableBackToTop', $mobileContext ),
|
||||||
|
SkinMinerva::OPTION_PAGE_ISSUES
|
||||||
|
=> $featureManager->isFeatureAvailableInContext(
|
||||||
|
'MinervaPageIssuesNewTreatment', $mobileContext
|
||||||
|
),
|
||||||
SkinMinerva::OPTION_SHARE_BUTTON
|
SkinMinerva::OPTION_SHARE_BUTTON
|
||||||
=> $featureManager->isFeatureAvailableInContext( 'MinervaShareButton', $mobileContext ),
|
=> $featureManager->isFeatureAvailableInContext( 'MinervaShareButton', $mobileContext ),
|
||||||
SkinMinerva::OPTION_TOGGLING => true,
|
SkinMinerva::OPTION_TOGGLING => true,
|
||||||
|
|
|
@ -32,6 +32,7 @@ class SkinMinerva extends SkinTemplate {
|
||||||
const OPTION_MOBILE_OPTIONS = 'mobileOptionsLink';
|
const OPTION_MOBILE_OPTIONS = 'mobileOptionsLink';
|
||||||
const OPTION_CATEGORIES = 'categories';
|
const OPTION_CATEGORIES = 'categories';
|
||||||
const OPTION_BACK_TO_TOP = 'backToTop';
|
const OPTION_BACK_TO_TOP = 'backToTop';
|
||||||
|
const OPTION_PAGE_ISSUES = 'pageIssues';
|
||||||
const OPTION_SHARE_BUTTON = 'shareButton';
|
const OPTION_SHARE_BUTTON = 'shareButton';
|
||||||
const OPTION_TOGGLING = 'toggling';
|
const OPTION_TOGGLING = 'toggling';
|
||||||
const OPTIONS_MOBILE_BETA = 'beta';
|
const OPTIONS_MOBILE_BETA = 'beta';
|
||||||
|
@ -104,6 +105,7 @@ class SkinMinerva extends SkinTemplate {
|
||||||
self::OPTION_SHARE_BUTTON => false,
|
self::OPTION_SHARE_BUTTON => false,
|
||||||
/** Whether sections can be collapsed (requires MobileFrontend and MobileFormatter) */
|
/** Whether sections can be collapsed (requires MobileFrontend and MobileFormatter) */
|
||||||
self::OPTION_TOGGLING => false,
|
self::OPTION_TOGGLING => false,
|
||||||
|
self::OPTION_PAGE_ISSUES => false,
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -322,6 +324,13 @@ class SkinMinerva extends SkinTemplate {
|
||||||
if ( $this->isAuthenticatedUser() ) {
|
if ( $this->isAuthenticatedUser() ) {
|
||||||
$className .= ' is-authenticated';
|
$className .= ' is-authenticated';
|
||||||
}
|
}
|
||||||
|
// The new treatment should only apply to the main namespace
|
||||||
|
if (
|
||||||
|
$title->getNamespace() === NS_MAIN &&
|
||||||
|
$this->getSkinOption( self::OPTION_PAGE_ISSUES )
|
||||||
|
) {
|
||||||
|
$className .= ' issues-group-B';
|
||||||
|
}
|
||||||
return $className;
|
return $className;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,11 +7,13 @@
|
||||||
NS_TALK = 1,
|
NS_TALK = 1,
|
||||||
NS_CATEGORY = 14,
|
NS_CATEGORY = 14,
|
||||||
CURRENT_NS = config.get( 'wgNamespaceNumber' ),
|
CURRENT_NS = config.get( 'wgNamespaceNumber' ),
|
||||||
|
features = mw.config.get( 'wgMinervaFeatures', {} ),
|
||||||
pageIssuesParser = M.require( 'skins.minerva.scripts/pageIssuesParser' ),
|
pageIssuesParser = M.require( 'skins.minerva.scripts/pageIssuesParser' ),
|
||||||
PageIssuesOverlay = M.require( 'skins.minerva.scripts/PageIssuesOverlay' ),
|
PageIssuesOverlay = M.require( 'skins.minerva.scripts/PageIssuesOverlay' ),
|
||||||
|
// When the query string flag is set force on new treatment.
|
||||||
|
// When wgMinervaPageIssuesNewTreatment is the default this line can be removed.
|
||||||
QUERY_STRING_FLAG = mw.util.getParamValue( 'minerva-issues' ),
|
QUERY_STRING_FLAG = mw.util.getParamValue( 'minerva-issues' ),
|
||||||
// T206179 should update this value to enable it
|
newTreatmentEnabled = features.pageIssues || QUERY_STRING_FLAG;
|
||||||
newTreatmentEnabled = QUERY_STRING_FLAG === 'b';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a link element that opens the issues overlay.
|
* Create a link element that opens the issues overlay.
|
||||||
|
@ -167,7 +169,10 @@
|
||||||
inline = newTreatmentEnabled && CURRENT_NS === 0;
|
inline = newTreatmentEnabled && CURRENT_NS === 0;
|
||||||
|
|
||||||
// set A-B test class.
|
// set A-B test class.
|
||||||
$( 'html' ).addClass( newTreatmentEnabled ? 'issues-group-B' : 'issues-group-A' );
|
// When wgMinervaPageIssuesNewTreatment is the default this can be removed.
|
||||||
|
if ( newTreatmentEnabled ) {
|
||||||
|
$( 'html' ).addClass( 'issues-group-B' );
|
||||||
|
}
|
||||||
|
|
||||||
if ( CURRENT_NS === NS_TALK || CURRENT_NS === NS_CATEGORY ) {
|
if ( CURRENT_NS === NS_TALK || CURRENT_NS === NS_CATEGORY ) {
|
||||||
// e.g. Template:English variant category; Template:WikiProject
|
// e.g. Template:English variant category; Template:WikiProject
|
||||||
|
|
Loading…
Reference in New Issue