Modul:Formular: Unterschied zwischen den Versionen

1.490 Bytes hinzugefügt ,  Dienstag um 10:13
+ attrForm()
Keine Bearbeitungszusammenfassung
(+ attrForm())
Zeile 2: Zeile 2:


local atr = require("Modul:Attribut")
local atr = require("Modul:Attribut")
local str = require("Modul:String")


local field_default_args = { -- hier kann z.B. size global hinzugefügt werden
local field_default_args = { -- hier kann z.B. size global hinzugefügt werden
Zeile 72: Zeile 73:
t = t ..
t = t ..
"<tr>\n" ..
"<tr>\n" ..
"  <th>" .. attr_text .. ":</th>\n" ..
"  <th style=\"vertical-align:middle;\">" .. attr_text .. ":</th>\n" ..
"  <td>" .. info .. "</td>\n" ..
"  <td style=\"vertical-align:middle;\">" .. info .. "</td>\n" ..
"  <td>" .. field .. "</td>\n" ..
"  <td style=\"vertical-align:middle;\">" .. field .. "</td>\n" ..
"</tr>\n"
"</tr>\n"
elseif args.format == "horizontal" then
elseif args.format == "horizontal" then
Zeile 83: Zeile 84:
if args.format == "horizontal" then
if args.format == "horizontal" then
t = t .. "<tr>\n" .. l1 .. "</tr>\n" .. "<tr>\n" .. l2 .. "</tr>\n"
t = t .. "<tr>\n" .. l1 .. "</tr>\n" .. "<tr>\n" .. l2 .. "</tr>\n"
end
t = t .. "</table>\n"
return t
end
function p.attrForm(frame, attr_data)
-- Kommandozeile zum Debuggen:
-- frame=mw.getCurrentFrame(); print(p.attrForm(frame, {list={{["Attribut"]="At",["Einzahl"]="Ez",["Infotext"]="It",["FieldArgs"]="fa1|fa2|fa3"},{["Attribut"]="At_",["Einzahl"]="Ez_",["Infotext"]="It_",["FieldArgs"]="fa1_|fa2_|fa3_"}}}))
local t = "<table class=\"formtable\">\n"
for _, a in ipairs(attr_data.list) do
local attr = a["Attribut"]
local attr_text = a["Einzahl"] or attr
local delimiter = a["Delimiter"]
local info = a["Infotext"] or ""
local field = a["FieldArgs"] or ""
-- info zusammenbauen
if info ~= "" then
info = info .. "."
if delimiter ~= nil and
string.find(field, "tokens") == nil then
info = info .. " Mehrere Eintragungen möglich, zu trennen per " ..
delimiter
end
info = string.gsub(info, "%.%.", ".")
info = frame:callParserFunction("#info", info, "note")
end
-- field zusammenbauen
if field ~= "" then
field = "|" .. field
end
field = str.appendWithSeparator("{{{field|" .. attr, "|", field) .. "}}}"
t = t ..
"<tr>\n" ..
"  <th style=\"vertical-align:middle;\">" .. attr_text .. ":</th>\n" ..
"  <td style=\"vertical-align:middle;\">" .. info .. "</td>\n" ..
"  <td style=\"vertical-align:middle;\">" .. field .. "</td>\n" ..
"</tr>\n"
end
end
t = t .. "</table>\n"
t = t .. "</table>\n"