Modul:Formular/Work: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
local wob = require("Modul:Wörterbuch")
local wob = require("Modul:Wörterbuch")


p.form_attr = {
local field_default_args = { -- hier kann z.B. size global hinzugefügt werden
["Adressart"] = {
checkbox = "input type=checkbox",
field_args = "Adressart|input type=combobox|property=Adressart|size=30"},
date = "input type=date",
["AdresseBis"] = {
file = "uploadable",
field_args = "AdresseBis|input type=date|size=15"},
hausnummer = "input type=text|size=5",
["AdresseVon"] = {
text = "input type=text",
field_args = "AdresseVon|input type=date|size=15"},
text_autocomplete = "input type=text with autocomplete"}
["Bild"] = {
info = "Name der Bilddatei im Format <code>Max Mustermann.jpg</code>",
field_args = "Bild|size=24|uploadable"},
["Ehemals"] = {
info = { "Haken setzen, wenn Objekt heute nicht mehr besteht",
["Einrichtung"] = "Haken setzen, wenn Einrichtung geschlossen"},
field_args = "Ehemals|input type=checkbox"},
["Email"] = {
-- info = "Emailadresse dieses Objektes",
field_args = "Email|input type=text"},
["Gründungsdatum"] = {
-- info = "Link zum Artikel des Gründungsdatums",
field_args = "Gründungsdatum|input type=date"},
["Gründungsort"] = {
-- info = "An welchem Ort wurde die Einrichtung gegründet?",
field_args = "Gründungsort|size=24|input type=text"},
["Hausnummer"] = {
field_args = "Hausnummer|input type=text|size=3"},
["Kommentar"] = {
field_args = "Kommentar|input type=text|size=30"},
["Schließungsdatum"] = {
-- info = "Einrichtung wurde bereits geschlossen",
field_args = "Schließungsdatum|input type=date"},
["Schließungsgrund"] = {
info = { -- "???"
["Einrichtung"] = "Warum hat diese Einrichtung aufgegeben?"},
field_args = "Schließungsgrund|size=24|input type=text"},
["Straße"] = {
info = {
["Adresse"] = "Nur eintragen, wenn in Fürth!"},
field_args = "input type=text with autocomplete|size=30"},
["Telefon"] = {
-- info = "Telefonnummer, unter der dieses Objekt erreichbar ist",
field_args = "Telefon|input type=text"},
["Webseite"] = {
-- info = "Internetadresse dieses Objektes",
field_args = "Webseite|input type=text"},
}


function p.formularAdresse(frame)
local attr_field_args = {
return p.attr_table{
-- diese Tabelle enthält die {{{field|attr|...}}}-Argumente (Attribut wird automatisch eingefügt)
["Adressart"] = "input type=combobox|property=Adressart|size=30",
["AdresseBis"] = field_default_args.date,
["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,
frame = frame,
klasse = "Adresse",
klasse = "Adresse", -- Adresse ist eigentlich keine echte Klasse
attr_list = {
attr_list = {
"Adressart", "AdresseVon", "AdresseBis",
"Adressart", "AdresseVon", "AdresseBis",
"Straße", "Hausnummer",
"Straße", "Hausnummer",
"Kommentar"},
"Kommentar"},
format = "horizontal"
format = "horizontal"}
}
t = t .. "{{{end template}}}\n"
return t
end
end


Zeile 66: Zeile 60:
for _, a in ipairs(args.attr_list) do
for _, a in ipairs(args.attr_list) do
local attr_text = wob.attrText(a, args.klasse)
local attr_text = wob.attrText(a, args.klasse)
local info = p.form_attr[a].info or "" -- Info-Text
local info = attr_infos[a] or "" -- Info-Text
if type(info) == "table" then
if type(info) == "table" then
info = info[args.klasse] or info[1] or ""
info = info[args.klasse] or info[1] or ""
Zeile 73: Zeile 67:
info = args.frame:callParserFunction("#info", info, "note")
info = args.frame:callParserFunction("#info", info, "note")
end
end
local field_args = p.form_attr[a].field_args
local field =
"{{{field|" .. a .. "|" .. attr_field_args[a] .. "}}}"
if args.format == "vertical" then
if args.format == "vertical" then
t = t ..
t = t ..
Zeile 79: Zeile 74:
"  <th>" .. attr_text .. ":</th>\n" ..
"  <th>" .. attr_text .. ":</th>\n" ..
"  <td>" .. info .. "</td>\n" ..
"  <td>" .. info .. "</td>\n" ..
"  <td>{{{field|" .. field_args .. "}}}</td>\n" ..
"  <td>" .. field .. "</td>\n" ..
"</tr>\n"
"</tr>\n"
elseif args.format == "horizontal" then
elseif args.format == "horizontal" then
l1 = l1 .. "  <th>" .. attr_text .. info .. ":</th>\n"
l1 = l1 .. "  <th>" .. attr_text .. ": " .. info .. "</th>\n"
l2 = l2 .. "  <td>{{{field|" .. field_args .. "}}}</td>\n"
l2 = l2 .. "  <td>" .. field .. "</td>\n"
end
end
end
end