22.272
Bearbeitungen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (24 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 3: | Zeile 3: | ||
local wob = require("Modul:Wörterbuch") | local wob = require("Modul:Wörterbuch") | ||
local field_default_args = { -- hier kann z.B. size global hinzugefügt werden | |||
checkbox = "input type=checkbox", | |||
date = "input type=date", | |||
file = "uploadable", | |||
hausnummer = "input type=text|size=5", | |||
text = "input type=text", | |||
text_autocomplete = "input type=text with autocomplete"} | |||
} | |||
function p. | local attr_field_args = { | ||
local t = "<table class=\"formtable\">" | -- diese Tabelle enthält die {{{field|attr|...}}}-Argumente (Attribut wird automatisch eingefügt) | ||
for _, a in ipairs( | ["Adressart"] = "input type=combobox|property=Adressart|size=30", | ||
local attr_text = wob.attrText(a, klasse) | ["AdresseBis"] = field_default_args.date, | ||
local info = | ["AdresseVon"] = field_default_args.date, | ||
["Bild"] = field_default_args.file, | |||
["Ehemals"] = field_default_args.checkbox, | |||
["Email"] = field_default_args.text, | |||
["Gründungsdatum"] = field_default_args.date, | |||
["Gründungsort"] = field_default_args.text, | |||
["Hausnummer"] = field_default_args.hausnummer, | |||
["Kommentar"] = field_default_args.text, | |||
["Schließungsdatum"] = field_default_args.date, | |||
["Schließungsgrund"] = field_default_args.text, | |||
["Straße"] = field_default_args.text_autocomplete, | |||
["Telefon"] = field_default_args.text, | |||
["Webseite"] = field_default_args.text} | |||
local attr_infos = { | |||
-- diese Tabelle enthält die {{info:...|note}}-Texte, ggf. abhängig von der Klasse | |||
["Bild"] = "Name der Bilddatei im Format <code>Max Mustermann.jpg</code>", | |||
["Ehemals"] = {"Haken setzen, wenn Objekt heute nicht mehr besteht", -- default | |||
["Einrichtung"] = "Haken setzen, wenn Einrichtung geschlossen"}, | |||
["Schließungsgrund"] = { -- "???" | |||
["Einrichtung"] = "Warum hat diese Einrichtung aufgegeben?"}, -- default | |||
["Straße"] = { | |||
["Adresse"] = "Nur eintragen, wenn in Fürth!"}} | |||
function p.FormularAdresse(frame) | |||
local t = "" | |||
t = t .. "= Adressen =\n" | |||
t = t .. "{{{for template|Adresse|multiple|add button text=Adresse hinzufügen}}}\n" | |||
t = t .. p.attr_table{ | |||
frame = frame, | |||
klasse = "Adresse", -- Adresse ist eigentlich keine echte Klasse | |||
attr_list = { | |||
"Adressart", "AdresseVon", "AdresseBis", | |||
"Straße", "Hausnummer", | |||
"Kommentar"}, | |||
format = "horizontal"} | |||
t = t .. "{{{end template}}}\n" | |||
return t | |||
end | |||
function p.attr_table(args) | |||
local t = "<table class=\"formtable\">\n" | |||
local l1, l2 = "", "" | |||
for _, a in ipairs(args.attr_list) do | |||
local attr_text = wob.attrText(a, args.klasse) | |||
local info = attr_infos[a] or "" -- Info-Text | |||
if type(info) == "table" then | if type(info) == "table" then | ||
info = info[klasse] or info[1] | info = info[args.klasse] or info[1] or "" | ||
end | |||
info = frame:callParserFunction("#info", info, "note") | if info ~= "" then | ||
info = args.frame:callParserFunction("#info", info, "note") | |||
end | end | ||
local | local field = | ||
t = t .. | "{{{field|" .. a .. "|" .. attr_field_args[a] .. "}}}" | ||
if args.format == "vertical" then | |||
t = t .. | |||
"<tr>\n" .. | |||
" <th>" .. attr_text .. ":</th>\n" .. | |||
"</tr>\n" | " <td>" .. info .. "</td>\n" .. | ||
" <td>" .. field .. "</td>\n" .. | |||
"</tr>\n" | |||
elseif args.format == "horizontal" then | |||
l1 = l1 .. " <th>" .. attr_text .. ": " .. info .. "</th>\n" | |||
l2 = l2 .. " <td>" .. field .. "</td>\n" | |||
end | |||
end | |||
if args.format == "horizontal" then | |||
t = t .. "<tr>\n" .. l1 .. "</tr>\n" .. "<tr>\n" .. l2 .. "</tr>\n" | |||
end | end | ||
t = t .. "</table>" | t = t .. "</table>\n" | ||
return t | return t | ||
end | end | ||