MediaWiki:Common.js: Difference between revisions

From Resistance in Belgium
No edit summary
No edit summary
Line 79: Line 79:
     }
     }
}); */
}); */




document.addEventListener('DOMContentLoaded', function() {
document.addEventListener('DOMContentLoaded', function() {
     console.log('Script chargé');  // Ligne de débogage pour vérifier si le script est exécuté
     console.log('Script chargé');  // Vérifie si le script est exécuté


     // Sélectionne l'élément toggler
     // Cherche le toggler
     var toggler = document.querySelector('.wikibase-entitytermsview-entitytermsforlanguagelistview-toggler');
     var toggler = document.querySelector('.wikibase-entitytermsview-entitytermsforlanguagelistview-toggler');
 
   
     if (toggler && !toggler.classList.contains('ui-toggler-toggle-collapsed')) {
    // Vérifie si le toggler est trouvé
        // Ajoute la classe pour le replier par défaut
     if (toggler) {
        toggler.classList.add('ui-toggler-toggle-collapsed');
        console.log('Toggler trouvé');  // Confirme que l'élément est présent
       
        // Vérifie si la classe 'ui-toggler-toggle-collapsed' est déjà appliquée
        if (!toggler.classList.contains('ui-toggler-toggle-collapsed')) {
            console.log('Classe non présente, ajout de la classe');  // Classe non trouvée, on l'ajoute
            toggler.classList.add('ui-toggler-toggle-collapsed');
        } else {
            console.log('Classe déjà présente');  // Classe déjà appliquée
        }
    } else {
        console.log('Toggler non trouvé');  // L'élément n'a pas été trouvé
     }
     }
});
});

Revision as of 08:16, 23 August 2024

/* Any JavaScript here will be loaded for all users on every page load. */

/* 2024-07-18 PVO Added 2 lines below as part of installation instructions new homepage */
  document.querySelector( '.mw-logo' ).setAttribute( 'href', '/?lang=' + mw.config.get( 'wgUserLanguage' ) ); 

/* 2024-08-20 ACH modified the line below as part of installation instructions new homepage */ 
/* document.querySelector( '.mw-logo' ).setAttribute( 'href', 'https://data.arch.be/?lang=' + mw.config.get( 'wgUserLanguage' ) ); */


$(document).ready(function() {
    
// Sélecteur pour le bloc avec l'ID spécifique
    var message = mw.message('About').text()  || 'Default message if custommessages is not defined.';
    var $target = $('#archives');

    // Vérifie si l'élément cible existe
    if ($target.length) {
        // Crée le nouvel élément avec le texte
        var $newText = $('<p class="custom-text-style">' + message + '</p>');

        // Insère le texte sous le bloc
        $target.after($newText);
    }
});




// Replace Wikidata IDs with their [label, description]
// From/depuis: https://lingualibre.fr/wiki/MediaWiki:Common.js
if ( $( '.wb-external-id' ).length > 0 ) {
	mw.loader.using( 'mediawiki.ForeignApi', function() {
		$( '.wb-external-id' ).each( function() {
			var href = $( this ).attr( 'href' );
			if ( href && href.lastIndexOf( 'https://www.wikidata.org', 0 ) === 0 ) {
				var wikidataApi = new mw.ForeignApi( 'https://www.wikidata.org/w/api.php', {
						anonymous: true,
						parameters: { 'origin': '*' },
						ajax: { timeout: 10000 }
					} ),
					lang = mw.config.get( 'wgUserLanguage' ),
					node = $( this );
				wikidataApi.get( {
					'action': 'wbgetentities',
					'format': 'json',
					'ids': node.text(),
					'props': 'labels|descriptions',
					'languages': lang + ( lang !== 'fr' ? '|fr' : ''),
					'languagefallback': 1,
					'origin': '*'
				} ).then( function( data ) {
                    
					var entity = data.entities[ node.text() ];
					lang = entity.labels[ lang ] === undefined && lang !== 'fr' ? 'fr' : lang;
					var label = ( entity.labels[ lang ] !== undefined ? entity.labels[ lang ].value + ' <i>(' + node.text() + ')</i>' : node.text() ),
					    description = ( entity.descriptions[ lang ] !== undefined ? '<small>' + entity.descriptions[ lang ].value + '</small>' : '' );
					
					node.html( label + '<br>' + description );
				} );
			}
		} );
	} );
}



// Script pour masquer tout le contenu après le formulaire WhatLinksHere
/* document.addEventListener("DOMContentLoaded", function () {
    // Sélectionner le formulaire par sa classe et action
    var formElement = document.querySelector('form[action="/wiki/Special:WhatLinksHere"]');

    if (formElement) {
        // Masquer tous les éléments qui suivent le formulaire
        let nextElement = formElement.nextElementSibling;
        while (nextElement) {
            nextElement.style.display = 'none';
            nextElement = nextElement.nextElementSibling;
        }
    }
}); */



document.addEventListener('DOMContentLoaded', function() {
    console.log('Script chargé');  // Vérifie si le script est exécuté

    // Cherche le toggler
    var toggler = document.querySelector('.wikibase-entitytermsview-entitytermsforlanguagelistview-toggler');
    
    // Vérifie si le toggler est trouvé
    if (toggler) {
        console.log('Toggler trouvé');  // Confirme que l'élément est présent
        
        // Vérifie si la classe 'ui-toggler-toggle-collapsed' est déjà appliquée
        if (!toggler.classList.contains('ui-toggler-toggle-collapsed')) {
            console.log('Classe non présente, ajout de la classe');  // Classe non trouvée, on l'ajoute
            toggler.classList.add('ui-toggler-toggle-collapsed');
        } else {
            console.log('Classe déjà présente');  // Classe déjà appliquée
        }
    } else {
        console.log('Toggler non trouvé');  // L'élément n'a pas été trouvé
    }
});