Modul:Formular/Work
Aus FürthWiki
local p = {}
local wob = require("Modul:Wörterbuch")
local field_default_args = {
checkbox = "input type=checkbox",
date = "input type=date",
date_adr = "input type=date",
file = "size=24|uploadable",
hausnummer = "input type=text|size=5",
text = "input type=text",
text_autocomplete = "input type=text with autocomplete"}
local form_attr = {
["Adressart"] = {
field_args = "input type=combobox|property=Adressart|size=30"},
["AdresseBis"] = {
field_args = field_default_args.date_adr},
["AdresseVon"] = {
field_args = field_default_args.date_adr},
["Bild"] = {
info = "Name der Bilddatei im Format <code>Max Mustermann.jpg</code>",
field_args = field_default_args.file},
["Ehemals"] = {
info = { "Haken setzen, wenn Objekt heute nicht mehr besteht",
["Einrichtung"] = "Haken setzen, wenn Einrichtung geschlossen"},
field_args = field_default_args.checkbox},
["Email"] = {
-- info = "Emailadresse dieses Objektes",
field_args = field_default_args.text},
["Gründungsdatum"] = {
-- info = "Link zum Artikel des Gründungsdatums",
field_args = field_default_args.date},
["Gründungsort"] = {
-- info = "An welchem Ort wurde die Einrichtung gegründet?",
field_args = field_default_args.text},
["Hausnummer"] = {
field_args = field_default_args.hausnummer},
["Kommentar"] = {
field_args = field_default_args.text},
["Schließungsdatum"] = {
-- info = "Einrichtung wurde bereits geschlossen",
field_args = field_default_args.date},
["Schließungsgrund"] = {
info = { -- "???"
["Einrichtung"] = "Warum hat diese Einrichtung aufgegeben?"},
field_args = field_default_args.text},
["Straße"] = {
info = {
["Adresse"] = "Nur eintragen, wenn in Fürth!"},
field_args = field_default_args.text_autocomplete},
["Telefon"] = {
-- info = "Telefonnummer, unter der dieses Objekt erreichbar ist",
field_args = field_default_args.text},
["Webseite"] = {
-- info = "Internetadresse dieses Objektes",
field_args = field_default_args.text},
}
function p.formularAdresse(frame)
return p.attr_table{
frame = frame,
klasse = "Adresse",
attr_list = {
"Adressart", "AdresseVon", "AdresseBis",
"Straße", "Hausnummer",
"Kommentar"},
format = "horizontal"
}
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 = form_attr[a].info or "" -- Info-Text
if type(info) == "table" then
info = info[args.klasse] or info[1] or ""
end
if info ~= "" then
info = args.frame:callParserFunction("#info", info, "note")
end
local field =
"{{{field|" .. a .. "|" .. p.form_attr[a].field_args .. "}}}"
if args.format == "vertical" then
t = t ..
"<tr>\n" ..
" <th>" .. attr_text .. ":</th>\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
t = t .. "</table>\n"
return t
end
function p.common(args)
local t = ""
t = t .. "= Artikel =\n"
t = t .. "{{{standard input|free text|rows=25|editor=wikieditor}}}"
t = t .. "{{{standard input|summary}}}"
t = t .. "{{{standard input|minor edit}}} {{{standard input|watch}}}<br>"
t = t .. "{{{standard input|save}}} {{{standard input|changes}}} {{{standard input|cancel}}}"
t = t .. "__NOTOC__"
t = t .. "__NOEDITSECTION__"
return t
end
return p