MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
Line 133: | Line 132: | ||
$(document).ready(function() { | $(document).ready(function() { | ||
// | // Initialisation DataTables avec boutons d'export | ||
var table = $('#example').DataTable({ | |||
dom: 'Bfrtip', // Activer les boutons d'exportation | |||
buttons: [ | |||
{ | |||
extend: 'pdfHtml5', | |||
text: '<i class="fas fa-lg fa-file-pdf"></i>', // Icône PDF | |||
titleAttr: 'Export en PDF', | |||
orientation: 'landscape', // Mode paysage | |||
pageSize: 'A3', // Format A3 | |||
exportOptions: { | |||
columns: ':visible' // Exporter uniquement les colonnes visibles | |||
}, | |||
customize: function (doc) { | |||
doc.defaultStyle.fontSize = 8; // Taille de la police | |||
doc.pageMargins = [10, 10, 10, 10]; // Marges ajustées | |||
doc.styles.tableHeader.fontSize = 10; // Taille de la police pour les en-têtes | |||
} | } | ||
] | } | ||
] | |||
}); | |||
// Appliquer les boutons au tableau déjà présent | |||
table.buttons().container() | |||
.appendTo('#example_wrapper .col-md-6:eq(0)'); // Ajuster l'emplacement des boutons | |||
}); | }); |
Revision as of 07:29, 18 September 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' ) ); */
// 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).ready(function() {
// Sélectionner les éléments
var $toggler = $('.wikibase-entitytermsview-entitytermsforlanguagelistview-toggler');
var $container = $('.wikibase-entitytermsview-entitytermsforlanguagelistview');
var $configureLink = $('.wikibase-entitytermsview-entitytermsforlanguagelistview-configure');
// Replier le toggler et cacher le container par défaut
if (!$toggler.hasClass('ui-toggler-toggle-collapsed')) {
$toggler.addClass('ui-toggler-toggle-collapsed');
$container.hide();
$configureLink.hide(); // Masquer le lien "Configurer" si le toggler est replié
}
// Ajouter un écouteur d'événements pour le toggler
$toggler.on('click', function() {
// Basculer l'état du toggler
$toggler.toggleClass('ui-toggler-toggle-collapsed');
// Afficher ou cacher le container en fonction de l'état du toggler
if ($toggler.hasClass('ui-toggler-toggle-collapsed')) {
$container.slideUp();
$configureLink.hide(); // Masquer le lien "Configurer" lorsque le toggler est replié
} else {
$container.slideDown();
$configureLink.show(); // Afficher le lien "Configurer" lorsque le toggler est déplié
}
});
});
$(document).ready(function() {
// Définir les textes multilingues avec les liens appropriés
var texts = {
'fr': 'Pour en savoir plus sur la consultation des archives papier, veuillez consulter la <a href="https://data.arch.be/wiki/FAQ/fr#Consultation_des_archives_papier" style="color: #158f68 !important; text-decoration: underline !important;">FAQ</a>.',
'en': 'For further information on accessing paper archives, please refer to the <a href="https://data.arch.be/wiki/Special:Mylanguage/FAQ#Access_to_paper_archives" style="color: #158f68 !important; text-decoration: underline !important;">FAQ</a>.',
'nl': 'Voor meer informatie over het raadplegen van papieren archieven, raadpleeg de <a href="https://data.arch.be/wiki/FAQ/nl#Papieren_archieven_raadplegen" style="color: #158f68 !important; text-decoration: underline !important;">FAQ</a>.',
'de': 'Weitere Informationen zur Einsichtnahme in Papierarchive finden Sie in der <a href="https://data.arch.be/wiki/FAQ/de#Einsichtnahme_in_Papierarchive" style="color: #158f68 !important; text-decoration: underline !important;">FAQ</a>.'
};
// Déterminer la langue actuelle
var userLang = mw.config.get('wgUserLanguage'); // Langue de l'utilisateur, ex: 'en', 'fr', 'de', 'nl'
// Sélectionner le texte en fonction de la langue
var message = texts[userLang] || texts['en']; // Texte par défaut en anglais
// Sélecteur pour le bloc avec l'ID spécifique
var $target = $('#archives'); // Cibler le span avec l'ID archives
// Vérifier si l'élément cible existe
if ($target.length) {
// Créer le nouvel élément avec le texte, le style, et le texte en italique
var $newText = $('<p style="text-transform: none; color: #158f68; font-weight: normal; font-style: italic; font-family: Roboto, sans-serif; font-size:14px;">' + message + '</p>');
// Insérer le texte sous l'élément span avec l'ID archives
$target.after($newText);
} else {
console.log('Élément cible avec ID #archives introuvable.');
}
});
/* 18/09.24 AC : Code pour modifier les paramètres d'export des PDF avec l'extension LinkedWiki */
$(document).ready(function() {
// Initialisation DataTables avec boutons d'export
var table = $('#example').DataTable({
dom: 'Bfrtip', // Activer les boutons d'exportation
buttons: [
{
extend: 'pdfHtml5',
text: '<i class="fas fa-lg fa-file-pdf"></i>', // Icône PDF
titleAttr: 'Export en PDF',
orientation: 'landscape', // Mode paysage
pageSize: 'A3', // Format A3
exportOptions: {
columns: ':visible' // Exporter uniquement les colonnes visibles
},
customize: function (doc) {
doc.defaultStyle.fontSize = 8; // Taille de la police
doc.pageMargins = [10, 10, 10, 10]; // Marges ajustées
doc.styles.tableHeader.fontSize = 10; // Taille de la police pour les en-têtes
}
}
]
});
// Appliquer les boutons au tableau déjà présent
table.buttons().container()
.appendTo('#example_wrapper .col-md-6:eq(0)'); // Ajuster l'emplacement des boutons
});