26.298
Bearbeitungen
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" | ||