Dokumentaci tohoto modulu lze vytvořit na stránce Nápověda:Modul:Tvar
p = {}
local Languages = require ("Modul:Languages")
local Tvar = require ("Modul:Tvar/Seznam")
function p.printMain (frame)
local parentFrame = frame:getParent()
local templateArgs = parentFrame.args
local title = mw.title.getCurrentTitle()
local pageName = title.fullText
local jazyk = templateArgs
local slovniDruh = templateArgs
local tvar = templateArgs
local word = templateArgs
local ErrorMsgs = {}
local ErrorCats = {}
local OtherCats = {}
local out = ""
if word == "" or word == nil then
table.insert(ErrorMsgs,"Nezadáno slovo, k němuž se kategorie váže.")
table.insert(ErrorCats, "]")
word = false
end
if tvar == "" or tvar == nil then
table.insert(ErrorMsgs,"Nezadán tvar.")
table.insert(ErrorCats, "]")
tvar = false
end
if jazyk == "" or jazyk == nil then
table.insert(ErrorMsgs,"Nezadán jazyk.")
table.insert(ErrorCats, "]")
jazyk = false
else
if Languages == nil then
table.insert(ErrorMsgs,"Chybné zadání jazyka. (Pod parametrem „" .. jazyk .. "“ není na Wikislovníku veden žádný jazyk. <small>Pro seznam podporovaných jazyků vizte ].</small>)")
table.insert(ErrorCats, "]")
jazyk = false
end
end
if slovniDruh == "" or slovniDruh == nil then
table.insert(ErrorMsgs,"Nezadán slovní druh.")
table.insert(ErrorCats, "]")
slovniDruh = false
else
if Tvar == nil then
table.insert(ErrorMsgs,"Chybné zadání slovního druhu. (Slovní druh „" .. slovniDruh .. "“ není na Wikislovníku podporován. <small>Buď neexistuje, je nesklonný nebo jste se přepsali.</small>)")
table.insert(ErrorCats, "]")
slovniDruh = false
end
if slovniDruh and jazyk and tvar then
local tvarVJazyceExistuje = false
for a in pairs (Tvar) do
if Tvar == tvar then
tvarVJazyceExistuje = true
end
end
if not tvarVJazyceExistuje then
table.insert(ErrorMsgs,"V jazyce s kódem „" .. jazyk .. "“ (''" .. Languages .. "'') nemá ''" .. slovniDruh .. "'' tvar „" .. tvar .. "“.")
table.insert(ErrorCats, "]")
slovniDruh = false
end
end
end
if jazyk and slovniDruh and tvar and word then
if Tvar ~= nil then
if Tvar ~= nil and Tvar ~= "" then
out = Tvar
end
else
out = Tvar
end
local kategorieSlovniDruhJazyk = false
if Languages ~= nil and Languages ~= "" then
if not Languages then
kategorieSlovniDruhJazyk = " .. " " .. Tvar .. "]]"
else
kategorieSlovniDruhJazyk = " .. " " .. Languages .. "]]"
end
table.insert(OtherCats, kategorieSlovniDruhJazyk)
else
table.insert(ErrorCats, "]")
end
out = "''" .. out .. " " .. Tvar .. " ]''"
end
local errors = ""
if #ErrorMsgs > 0 or #ErrorCats > 0 then
if #ErrorMsgs == 1 then
errors = "Šablona ] obsahuje následující chybu: "
elseif #ErrorMsgs > 1 then
errors = "Šablona ] obsahuje následující chyby: "
end
for a in pairs (ErrorMsgs) do
errors = errors .. ErrorMsgs .. " "
end
for a in pairs (ErrorCats) do
errors = errors .. ErrorCats
end
end
if errors ~= "" and pageName ~= "Šablona:Tvar" then
out = out .. errors
end
if #OtherCats > 0 then
for a in pairs (OtherCats) do
out = out .. OtherCats
end
end
return out
end
function p.printParams (frame)
local out = ""
local Kategorie = {}
for a in pairs (Tvar) do
table.insert(Kategorie, a)
end
table.sort(Kategorie)
for a in pairs (Kategorie) do
out = out .. "<h3>" .. Tvar] .. "</h3>"
out = out .. "<table class=\"wikitable sortable\">"
out = out .. "<th>kód parametru</th><th>popis</th>"
local Params = {}
for b in pairs (Tvar]) do
table.insert(Params, {b,Tvar]})
end
table.sort(Params, function(x, y) return x < y end)
for n in pairs (Params) do
out = out .. "<tr><td>" .. Params .. "</td><td>" .. Params .. "</td></tr>"
end
out = out .. "</table>"
out = out .. ""
end
return out
end
return p