Modul:Formular/Work: Unterschied zwischen den Versionen

Aus FürthWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
local wob = require("Modul:Wörterbuch")
local wob = require("Modul:Wörterbuch")


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



Version vom 28. Januar 2026, 22:20 Uhr

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 = p.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