mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/MinervaNeue
synced 2024-11-25 06:36:32 +00:00
9431e9a6e3
MinervaNeue should be solely responsible for controlling the flow of its own UI. This patch puts the responsibility for changing the add category dialog state when a category has successfully been added onto MinervaNeue. Bug: T173539 Related: Ic61ac46e21f510e5b168d7d98b68a59429eb7044 Change-Id: I5010d5ad1a27f09c1c5b0b4188dcec445cc3229f
56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
( function ( M, $ ) {
|
|
|
|
var loader = M.require( 'mobile.startup/rlModuleLoader' ),
|
|
overlayManager = M.require( 'skins.minerva.scripts/overlayManager' ),
|
|
user = M.require( 'mobile.startup/user' );
|
|
|
|
// categories overlay
|
|
overlayManager.add( /^\/categories$/, function () {
|
|
var result = $.Deferred();
|
|
|
|
loader.loadModule( 'mobile.categories.overlays', true ).done( function ( loadingOverlay ) {
|
|
var CategoryOverlay = M.require( 'mobile.categories.overlays/CategoryOverlay' );
|
|
M.on( 'category-added', function () {
|
|
window.location.hash = '#/categories';
|
|
} );
|
|
|
|
loadingOverlay.hide();
|
|
result.resolve( new CategoryOverlay( {
|
|
api: new mw.Api(),
|
|
isAnon: user.isAnon(),
|
|
title: M.getCurrentPage().title
|
|
} ) );
|
|
} );
|
|
return result;
|
|
} );
|
|
|
|
// add categories overlay
|
|
overlayManager.add( /^\/categories\/add$/, function () {
|
|
var result = $.Deferred();
|
|
|
|
loader.loadModule( 'mobile.categories.overlays' ).done( function ( loadingOverlay ) {
|
|
var CategoryAddOverlay = M.require( 'mobile.categories.overlays/CategoryAddOverlay' );
|
|
|
|
loadingOverlay.hide();
|
|
result.resolve( new CategoryAddOverlay( {
|
|
api: new mw.Api(),
|
|
categories: mw.config.get( 'wgCategories' ),
|
|
isAnon: user.isAnon(),
|
|
title: M.getCurrentPage().title
|
|
} ) );
|
|
} );
|
|
return result;
|
|
} );
|
|
|
|
/**
|
|
* Enable the categories button
|
|
* @ignore
|
|
*/
|
|
function initButton() {
|
|
$( '.category-button' ).removeClass( 'hidden' );
|
|
}
|
|
|
|
$( initButton );
|
|
|
|
}( mw.mobileFrontend, jQuery ) );
|