MediaWiki:Gadget-PublierBrouillonInit.js

Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
/*
 * Ce gadget sert à l'initialisation de [[MediaWiki:Gadget-PublierBrouillon.js]].
 * Il contient le code exécuté au chargement de la page pour insérer un élément de menu "Publier le brouillon"
 * et rendre actif le lien "publier mon brouillon" affiché par [[Modèle:Brouillon]].
 * Le gadget principal n'est chargé que lorsque l'utilisateur clique sur l'un de ces liens.
 *
 * {{Projet:JavaScript/Script|PublierBrouillonInit}}
 */
( function () {
	'use strict';

	function showDialog() {
		mw.loader.using( 'ext.gadget.PublierBrouillon', function () {
			ShowPublishDraftDialog();
		} );
	}

	if ( mw.config.get( 'wgUserName' ) && mw.config.get( 'wgNamespaceNumber' ) === 2 && mw.config.get( 'wgPageName' ).includes( '/' ) ) {
		// Lien "Publier" du [[Modèle:Brouillon]] (code dans [[MediaWiki:Gadget-PublierBrouillon.js]]).
		mw.hook( 'wikipage.content' ).add( function ( $content ) {
			$content.find( '.publish-draft-button' ).find( 'a' ).on( 'click', function ( event ) {
				event.preventDefault();
				showDialog();
			} ).attr( 'href', '#' );
		} );

		// Affichage dans le menu si la page existe et qu'on n'est pas en mode édition.
		if ( /\/brouillon/i.test( mw.config.get( 'wgPageName' ) ) &&
			mw.config.get( 'wgAction' ) === 'view' &&
			mw.config.get( 'wgArticleId' ) !== 0
		) {
			mw.loader.using( 'mediawiki.util', function () {
				$( function () {
					var link = mw.util.addPortletLink( 'p-cactions', '#', 'Publier le brouillon' );
					$( link ).on( 'click', showDialog );
				} );
			} );
		};
	}
}() );