Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« MediaWiki:Common.js » : différence entre les versions

Page de l’interface de MediaWiki
(by SublimeText.Mediawiker)
 
(Aucune différence)

Dernière version du 18 novembre 2025 à 00:39

// Add icon to Edit with form link
$(function() {
    var formEditLink = $('#ca-formedit > a, #ca-form_edit > a');
    if (formEditLink.length) {
        var linkText = formEditLink.text();
        formEditLink.empty();
        formEditLink.append('<span class="citizen-ui-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span><span>' + linkText + '</span>');
    }
});

// Bring purge link out of More menu
// Copy browse link out with icon; add icon to link under tools
$(function() {
    var mainNav = $('#p-views ul, .mw-portlet-views ul').first();
    if (!mainNav.length) return;
    
    // Helper function to add icon to link
    function addIcon($element, iconName, keepText, text) {
        $element.empty();
        $element.append('<span class="citizen-ui-icon mw-ui-icon-' + iconName + ' mw-ui-icon-wikimedia-' + iconName + '"></span>');
        if (keepText) {
            $element.append(' <span>' + (text || '') + '</span>');
        }
    }
    
    // Process purge link
    var $purge = $('#ca-purge');
    if ($purge.length) {
        var $newPurge = $purge.clone();
        var $purgeLink = $newPurge.find('a');
        
        addIcon($purgeLink, 'reload', false);
        
        $purgeLink.off('click').on('click', function(e) {
            e.preventDefault();
            new mw.Api().post({
                action: 'purge',
                titles: mw.config.get('wgPageName')
            }).done(function() {
                location.reload();
            });
        });
        
        mainNav.append($newPurge);
        $purge.remove();
    }

    // Process browse properties link
    var $browse = $('#t-smwbrowselink, #t-browse');
    if ($browse.length) {
        var $newBrowse = $browse.clone();
        var $browseLink = $newBrowse.find('a');
        var browseText = $browseLink.text();
        
        // Icon-only for main nav
        addIcon($browseLink, 'articlesSearch', false);
        $browseLink.attr('title', 'Browse properties');
        $newBrowse.attr('id', 'ca-smwbrowse');
        mainNav.append($newBrowse);
        
        // Add icon to original
        addIcon($browse.find('a'), 'articlesSearch', true, browseText);
    }

    // Add icon to cite link in tools menu
    var $cite = $('#t-cite');
    if ($cite.length) {
        var $citeLink = $cite.find('a');
        var citeText = $citeLink.text();
        addIcon($cite.find('a'), 'reference', true, citeText);
    }

    // Add icon to upload link in navigation menu
    var $upload = $('#n-Upload');
    if ($upload.length) {
        var $uploadLink = $upload.find('a');
        var uploadText = $uploadLink.text();
        addIcon($upload.find('a'), 'upload', true, uploadText);
    }

    // Add icon to upload link in navigation menu
    var $ulWiz = $('#t-upload');
    if ($ulWiz.length) {
        var $ulWizLink = $ulWiz.find('a');
        var ulWizText = $ulWizLink.text();
        addIcon($ulWiz.find('a'), 'imageAdd', true, ulWizText);
    }

});