Jump to content
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.

« Module:Pilotes » : différence entre les versions

De Infothèque
Aucun résumé des modifications
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 83 : Ligne 83 :
if fichier ~= '' then
if fichier ~= '' then
     if fichier:match('^https?://') then
     if fichier:match('^https?://') then
         row.telechargement = { text = '', href = fichier }
         row.telechargement = { text = 'Télécharger', href = fichier }
     else
     else
         row.telechargement = aggrid.link('Fichier:' .. fichier, '')
         row.telechargement = aggrid.link('Fichier:' .. fichier, 'Télécharger')
     end
     end
end
end

Dernière version du 18 août 2026 à 19:03

La documentation pour ce module peut être créée à Module:Pilotes/doc

local aggrid = require('mw.ext.aggrid')

local localeFr = {
    selectAll = '(Sélectionner tout)',
    selectAllSearchResults = '(Sélectionner tous les résultats de recherche)',
    searchOoo = 'Rechercher...',
    blanks = '(Vides)',
    noMatches = 'Aucune correspondance',
    typeToSearchOoo = 'Tapez pour rechercher...',
    filterOoo = 'Filtrer...',
    equals = 'Égal à',
    notEqual = "N'est pas égal à",
    blank = 'Vide',
    notBlank = 'Non vide',
    contains = 'Contient',
    notContains = 'Ne contient pas',
    startsWith = 'Commence par',
    endsWith = 'Se termine par',
    lessThan = 'Moins de',
    greaterThan = 'Plus de',
    lessThanOrEqual = 'Moins de ou égal à',
    greaterThanOrEqual = 'Plus de ou égal à',
    inRange = 'Entre',
    andCondition = 'ET',
    orCondition = 'OU',
    applyFilter = 'Appliquer',
    resetFilter = 'Réinitialiser',
    clearFilter = 'Effacer',
    cancelFilter = 'Annuler',
    textFilter = 'Filtre de texte',
    numberFilter = 'Filtre numérique',
    setFilter = 'Filtre de sélection',
    sortAscending = 'Trier par ordre croissant',
    sortDescending = 'Trier par ordre décroissant',
    sortUnSort = 'Effacer le tri',
    pinColumn = 'Épingler la colonne',
    pinLeft = 'Épingler à gauche',
    pinRight = 'Épingler à droite',
    noPin = "Pas d'épingle",
    autosizeThisColumn = 'Ajuster automatiquement cette colonne',
    autosizeAllColumns = 'Ajuster automatiquement toutes les colonnes',
    resetColumns = 'Réinitialiser les colonnes',
    columnFilter = 'Filtre de colonne',
    chooseColumns = 'Choisir les colonnes',
    page = 'Page',
    to = 'à',
    of = 'de',
    nextPage = 'Page suivante',
    previousPage = 'Page précédente',
    firstPage = 'Première page',
    lastPage = 'Dernière page',
    pageSizeSelectorLabel = 'Taille de la page :',
    loadingOoo = 'Chargement...',
    noRowsToShow = 'Aucune ligne à afficher',
    noMatchingRows = 'Aucune ligne correspondante',
    toolbarQuickFilter = 'Filtrer',
    copy = 'Copier',
    export = 'Exporter',
    csvExport = 'Export CSV',
    excelExport = 'Export Excel',
}

local p = {}

function p.main(frame)
    local args = frame:getParent().args

    local rows = {}
    local i = 1
    while true do
        local nom = args['nom' .. i]
        if not nom or nom == '' then
            break
        end
        local fichier = args['fichier' .. i] or ''
        local row = {
            nom = nom,
            type = args['type' .. i] or '',
            os = args['os' .. i] or '',
            version = args['version' .. i] or '',
            date = args['date' .. i] or '',
        }
if fichier ~= '' then
    if fichier:match('^https?://') then
        row.telechargement = { text = 'Télécharger', href = fichier }
    else
        row.telechargement = aggrid.link('Fichier:' .. fichier, 'Télécharger')
    end
end
        table.insert(rows, row)
        i = i + 1
    end

    if #rows == 0 then
        return ''
    end

    return aggrid.render{
        localeText = localeFr,
        columnDefs = {
            { field = 'nom', headerName = 'Nom du pilote' },
            { field = 'type', headerName = 'Type', filter = 'aggridSet' },
            { field = 'os', headerName = 'Système', filter = 'aggridSet' },
            { field = 'version', headerName = 'Version' },
            { field = 'date', headerName = 'Date' },
            aggrid.linkColumn{ field = 'telechargement', header = 'Téléchargement' },
        },
        rowData = rows,
        quickSearch = { placeholder = 'Rechercher un pilote...', debounceMs = 300 },
        pagination = true,
        paginationPageSize = 10,
    }
end

return p