Aujourd'hui, Module:Fix/Bac à sable reste un sujet pertinent et intéressant un grand nombre de personnes. Avec les progrès de la technologie et la mondialisation, Module:Fix/Bac à sable est devenu un point central de discussion dans différents domaines. Tant sur le plan personnel que professionnel, les gens continuent de rechercher des informations, des conseils et des opinions sur Module:Fix/Bac à sable. À mesure que la société évolue, la manière dont Module:Fix/Bac à sable affecte nos vies évolue également. Il est donc important d’explorer en profondeur les différents aspects liés à Module:Fix/Bac à sable, pour comprendre son influence sur notre vie quotidienne et sur le monde qui nous entoure.
Module utilisé par le métamodèle {{Fix}}, et indirectement par le modèle {{Référence nécessaire}} et dérivés.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local p = {}
function p.affichageBloc( args )
local background = args.background or ''
if background == '' then
background = 'white'
end
local html = mw.html.create( '' )
:wikitext( '\n' )
:tag( 'div' )
:cssText( 'position:relative; margin-top:0.8em;')
:tag( 'div' )
:addClass( 'need_ref' )
:cssText( 'cursor:help; overflow:hidden; padding-bottom:0;' )
:css{ background = background }
:attr{ title = args.titre }
:wikitext( args, '\n' )
:done()
:tag( 'div' )
:addClass( 'need_ref_tag' )
:cssText( 'position:absolute; top:-0.6em; left:1em; padding:0 0.5em; font-size:80%; line-height:1em;')
:css{ background = background }
:wikitext( args.message2 )
:allDone()
return tostring( html )
end
function p.affichageInline( args , ajouterinfobulle )
local html = mw.html.create( '' )
if args and mw.text.trim(args) ~= '' then
html:tag( 'span' )
:addClass( 'need_ref' )
:cssText( 'cursor:help;' )
:attr{ title = args.titre }
:wikitext( mw.text.trim(args) )
:done()
ajouterinfobulle=false--Facultatif, on pourrait accepter l'infobulle sur l'exposant quel que soit le cas.
end
if ajouterinfobulle then
html:tag( 'sup' )
:addClass( 'need_ref_tag' )
:cssText ( 'padding-left:2px;' )
:attr{ title = args.titre2 }
:wikitext( args.message2 )
:allDone()
else
html:tag( 'sup' )
:addClass( 'need_ref_tag' )
:cssText ( 'padding-left:2px;' )
:wikitext( args.message2 )
:allDone()
end
return tostring( html )
end
function p.generateMessage( args, nommodele, modeinfobulle)-- Le dernier paramètre sert de booléen pour forcer une infobulle dans le lien interne.
local modeinfobulle = modeinfobulle or false
local messageloc=''
local infobulle_mise=false
if args.message and args.message ~= '' then
if args.message_lien and args.message_lien ~= '' then
if args.message_lien=='non' then
messageloc= "[" .. args.message .. "]"
if not args.message:find("%[%[") then
args.titre2=args.titre
end
else
if modeinfobulle==true then-- On force l'infobulle à l'intérieur. Il y aurait peut-être plus smple, avec un seul message et l'ajout d'une classe désactivant les infobulles sur les liens internes
--messageloc= "[]]"--CHOIX
messageloc= "]"
infobulle_mise=true
else
--messageloc= "[]]"--CHOIX
messageloc= "]"
infobulle_mise=true--Facultatif mais on peut bien considérer inutile d'ajouter une autre infobulle autour de ce contenu. Cela est encore plus vrai si lien interne créé à la ligne précédente est sur l'intégralité du message.
end
end
else
if modeinfobulle==true then
--messageloc= "[]]" .. tostring(table.concat(args))--CHOIX
messageloc= "]" .. tostring(table.concat(args))
infobulle_mise=true
else
--messageloc= "[]]"--CHOIX
messageloc= "]"
infobulle_mise=true--Facultatif, idem plus haut
end
end
-- trois lignes qui suivent : test temporaire à activer lors de la transition d'affichage pour les appels qui introduisent déjà un lien via le paramètre message
if (args.message:find("%")) and (args.message_lien or '')~='non' then
messageloc= args.message
end
else
messageloc= '<span class="error">argument « message » manquant dans le modèle ' .. nommodele .. '.</span>'
args.titre2="Erreur dans l'appel du modèle Fix"
end
return messageloc, infobulle_mise
end
function p.affichageFix( frame )
local args = frame.getParent and frame:getParent().args or frame
local nommodele = frame.getParent and frame:getParent():getTitle() or frame:getTitle()
local messageDate = ''
local messageAide = ' ; v'
local ponctuation="."
if args.date and args.date ~= '' then
messageDate = ' (demandé le ' .. args.date .. ')'
else
local infobulle_texte= mw.text.trim((args.infobulle or ''):gsub( '%b<>', '' ))
if infobulle_texte ~= '' then
if infobulle_texte:match( '$' ) then
messageAide = ' V'
ponctuation=""
end
else
messageAide = 'V'
ponctuation=""
end
end
messageAide = messageAide .. 'oir l\'aide.'
args.titre = mw.text.trim(( args.infobulle or '' ):gsub( '$', '' )) .. messageDate .. ponctuation
args.titre2 = mw.text.trim(( args.infobulle or '' ):gsub( '$', '' )) .. messageDate .. messageAide
if args and mw.text.trim(args) ~= '' then
args.message2, infobulle_mise =p.generateMessage(args, nommodele)
if args:match('\n*\n')
or args:match('\n')
or args.bloc and args.bloc ~= ''
then
return p.affichageBloc( args )
end
else
args.message2, infobulle_mise =p.generateMessage(args, nommodele, true)
end
return p.affichageInline( args, not infobulle_mise )
end
return p