De Infothèque
Autres actions
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