Différences entre les versions de « Module:Outils »
De Commission Historique
m |
m |
||
(7 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 6 : | Ligne 6 : | ||
local field_branches = frame.args['field_branches'] | local field_branches = frame.args['field_branches'] | ||
local field_noeuds = frame.args['field_noeuds'] | local field_noeuds = frame.args['field_noeuds'] | ||
arbre = p.ramif('', racine,'*',cargo_table,field_branches) | local liens = frame.args['liens'] | ||
arbre = p.ramif('', racine, '*', cargo_table, field_branches, liens) | |||
return(arbre) | return(arbre) | ||
end | end | ||
function p.ramif(arbre, noeud, prof, cargo_table, field_branches) | function p.ramif(arbre, noeud, prof, cargo_table, field_branches, liens) | ||
local arguments = { | local arguments = { | ||
where = field_branches .. '=' .. '"' .. noeud .. '"', | where = field_branches .. '=' .. '"' .. noeud .. '"', | ||
groupBy = '_pageName', | groupBy = '_pageName', | ||
limit = 5000, | |||
default = '', | default = '', | ||
} | } | ||
Ligne 19 : | Ligne 21 : | ||
for _,branche in ipairs(liste_branches) do | for _,branche in ipairs(liste_branches) do | ||
if #branche['_pageName'] > 0 then | if #branche['_pageName'] > 0 then | ||
arbre = arbre .. '\n'.. prof .. '[[' .. branche['_pageName'] .. ']]' | if liens then | ||
arbre = p.ramif(arbre,branche['_pageName'], prof .. '*', cargo_table, field_branches) | arbre = arbre .. '\n'.. prof .. '[[' .. branche['_pageName'] .. ']]' | ||
else | |||
arbre = arbre .. '\n'.. prof .. branche['_pageName'] | |||
end | |||
arbre = p.ramif(arbre,branche['_pageName'], prof .. '*', cargo_table, field_branches, liens) | |||
end | end | ||
end | end | ||
Ligne 48 : | Ligne 54 : | ||
end | end | ||
return liste | return liste | ||
end | |||
--function p.frise(frame) | |||
-- local tStart, tEnd = frame.args['racine'] | |||
--end | |||
function p.ffrise(desc,events) | |||
frise = '<itimeline height="512px" min="' .. tStart - 1 .. '" max="' .. tEnd + 1 .. '">"\n' | |||
for _, event in events do | |||
frise = frise .. event.date .. '|' .. event.category .. '|' .. event.label .. '\n' | |||
end | |||
frise = frise .. '</itimeline>' | |||
return frise | |||
end | end | ||
return p | return p |
Version actuelle datée du 22 août 2022 à 09:39
La documentation pour ce module peut être créée à Module:Outils/doc
local p = {}
function p.arbre(frame)
local racine = frame.args['racine']
local cargo_table = frame.args['tables']
local field_branches = frame.args['field_branches']
local field_noeuds = frame.args['field_noeuds']
local liens = frame.args['liens']
arbre = p.ramif('', racine, '*', cargo_table, field_branches, liens)
return(arbre)
end
function p.ramif(arbre, noeud, prof, cargo_table, field_branches, liens)
local arguments = {
where = field_branches .. '=' .. '"' .. noeud .. '"',
groupBy = '_pageName',
limit = 5000,
default = '',
}
liste_branches = mw.ext.cargo.query(cargo_table, '_pageName', arguments)
for _,branche in ipairs(liste_branches) do
if #branche['_pageName'] > 0 then
if liens then
arbre = arbre .. '\n'.. prof .. '[[' .. branche['_pageName'] .. ']]'
else
arbre = arbre .. '\n'.. prof .. branche['_pageName']
end
arbre = p.ramif(arbre,branche['_pageName'], prof .. '*', cargo_table, field_branches, liens)
end
end
return arbre
end
function p.requete(frame)
local liste = ''
local tables = frame.args['tables']
local fields = frame.args['fields']
local arguments = {
join = frame.args['joinOn'],
where = frame.args['where'],
groupBy = frame.args['groupBy'],
orderBy = frame.args['orderBy'],
intro = frame.args['intro'],
outro = frame.args['outro'],
}
local result = mw.ext.cargo.query(tables, fields, arguments)
for _,row in ipairs(result) do
for _, field in pairs(row) do
if #field > 0 then
liste = liste .. '\n' .. field
end
end
end
return liste
end
--function p.frise(frame)
-- local tStart, tEnd = frame.args['racine']
--end
function p.ffrise(desc,events)
frise = '<itimeline height="512px" min="' .. tStart - 1 .. '" max="' .. tEnd + 1 .. '">"\n'
for _, event in events do
frise = frise .. event.date .. '|' .. event.category .. '|' .. event.label .. '\n'
end
frise = frise .. '</itimeline>'
return frise
end
return p