Modul:Vorlage:Infobox Sendeanlage/VorlageDokumentation
Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | ||
Modul | Deutsch
|
Modul: | Dokumentation |
Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus
-- Weitere Parameter zur Aufzaelung
local WeitereAufzaehlung = {
ZUGANG = { -- Werte fuer 'Zugaenglichkeit', 'ZUGANG'
ja = { { "ja" }, { "Sendeanlage öffentlich zugänglich" }, KatAnzeige = false },
jein = { { "jein" }, { "Sendeanlage nur nach Voranmeldung zugänglich" }, KatAnzeige = false },
nein = { { "nein" }, { "Sendeanlage nicht öffentlich zugänglich" }, KatAnzeige = false }
},
SONDER = { -- Werte fuer 'Alternative Anzeige', 'SONDER'
Nebenbox = { { "Nebenbox" }, { "Die Infobox wird als Nebenbox angezeigt. Dadurch entfallen die Kategorie-Sortierung und die Lagekarte. Die Koordinaten werden in einer Zeile der Infobox angezeigt anstatt im Artikelkopf." }, KatAnzeige = false },
Weiterleitung = { { "Weiterleitung" }, { "Es wird der Link zu den Koordinaten mittels der [[Vorlage:Coordinate]] im Kopf einer Weiterleitung erzeugt. Des Weiteren erfolgt die Kategorie-Sortierung entsprechend derer der Infobox." }, KatAnzeige = false }
}
}
local Ersatz = {
{
"das Bauwerk",
Sendeanlage = "die Sendeanlage",
Sendeturm = "der Sendeturm",
Sendemast = "der Sendemast",
Aussichtsturm = "der Aussichtsturm",
Fernsehturm = "der Fernsehturm"
},
{
"des Bauwerkes",
Sendeanlage = "der Sendeanlage",
Sendeturm = "des Sendeturmes",
Sendemast = "des Sendemastes",
Aussichtsturm = "des Aussichtsturmes",
Fernsehturm = "des Fernsehturmes"
},
{
"dem Bauwerk",
Sendeanlage = "der Sendeanlage",
Sendeturm = "dem Sendeturm",
Sendemast = "dem Sendemast",
Aussichtsturm = "dem Aussichtsturm",
Fernsehturm = "dem Fernsehturm"
},
{
"das Bauwerk",
Sendeanlage = "die Sendeanlage",
Sendeturm = "den Sendeturm",
Sendemast = "den Sendemast",
Aussichtsturm = "den Aussichtsturm",
Fernsehturm = "den Fernsehturm"
},
EZ = {
"Bauwerk",
Sendeanlage = "Sendeanlage",
Sendeturm = "Sendeturm",
Sendemast = "Sendemast",
Aussichtsturm = "Aussichtsturm",
Fernsehturm = "Fernsehturm"
},
MZ = {
"Bauwerke",
Sendeanlage = "Sendeanlagen",
Sendeturm = "Sendetürme",
Sendemast = "Sendemasten",
Aussichtsturm = "Aussichtstürme",
Fernsehturm = "Fernsehtürme"
}
}
-- Anker
function Anker( Text, ID1, ID2, ID3 )
local AnkerID = { tostring( ID1 ), tostring( ID2 ), ID3, Text = Text }
AnkerID.Text = AnkerID.Text or "(Text fehlt)"
AnkerID[3] = AnkerID[3] or ""
AnkerID.div = mw.html.create( "div" )
:attr( "id", AnkerID[1] .. AnkerID[2] .. AnkerID[3] )
:wikitext( tostring( AnkerID.Text ) )
return tostring( AnkerID.div )
end
local p = { }
-- Zusammenstellung Dokumentation
function p.DokuVorlage( DSZusatz, DatenX, frame )
local Daten = DatenX
local JSON = mw.getCurrentFrame():getParent().args.JSON or frame.args.JSON or ""
local TEMP = {
Typ = frame.args[1] or string.sub( DSZusatz.SR, 9 ),
Ersatz = { }
}
if TEMP.Typ == "" then TEMP.Typ = "unbekannt" end
if not Ersatz[1][TEMP.Typ] then TEMP.Typ = 1 end
-- Ersatz für $
for ErsatzK, ErsatzV in pairs( Ersatz ) do
TEMP.Ersatz[ErsatzK] = ErsatzV[TEMP.Typ]
end
TEMP.Ersatz.Name = DSZusatz.SR
for SEk, SEv in pairs( TEMP.Ersatz ) do
TEMP.ETX = "$" .. tostring( SEk )
JSON = string.gsub( JSON, TEMP.ETX, SEv )
end
-- Ausgabe TemplateData
local Doku = ""
if JSON ~= "" then Doku = frame:expandTemplate{ title = "TemplateData", args = { JSON = JSON } } end
-- Datenauswertung
TEMP.Status = false
if JSON ~= "" then TEMP.Status = pcall( mw.text.jsonDecode, JSON ) end
if TEMP.Status == false then
TEMP.Fehlertext = mw.html.create( "span" )
:attr( "id", "Fehler_Meldung" )
:attr( "class", "error" )
:css( "font-weight", "bold" )
:css( "font-size", "120%" )
:wikitext( "Aufgrund eines Fehlers, augenscheinlich bei der Dateneingabe in der [[Vorlage:Infobox Sendeanlage/Doku]], können die daraus generierten Daten zur Vorlagendokumentation nicht angezeigt werden!" )
Doku = Doku .. "\n\n" .. frame:expandTemplate{ title = "Achtung", args = { tostring( TEMP.Fehlertext ), Textausrichtung = "center", Hintergrund = "#fffbee" } }
else
-- Einzelzuweisung
table.insert( Daten, { Name = "CAT_TYP" } )
table.insert( Daten, { Name = "CAT_NAME" } )
table.insert( Daten, { Name = "CAT_STADT" } )
for WAk, WAv in pairs( WeitereAufzaehlung ) do
DSZusatz.Aufzaehlung[WAk] = WAv
end
DSZusatz.Aufzaehlung.CAT_TYP = { }
for CT1k, CT1v in pairs( DSZusatz.Bezeichner ) do
if type( CT1k ) == "string" then
DSZusatz.Aufzaehlung.CAT_TYP[CT1k] = { { CT1k }, { tostring( CT1v ) }, { tostring( DSZusatz.Geo[1][1][1][1] ) }, Geo = DSZusatz.Geo[1][1][1][2] }
if DSZusatz.Geo[CT1k] then
DSZusatz.Geo[CT1k][1] = DSZusatz.Geo[CT1k][1] or { }
DSZusatz.Geo[CT1k][1][1] = DSZusatz.Geo[CT1k][1][1] or { }
if (DSZusatz.Geo[CT1k][1][1][1] ~= nil and DSZusatz.Geo[CT1k][1][1][1] ~= "") then
DSZusatz.Aufzaehlung.CAT_TYP[CT1k][3][1] = tostring( DSZusatz.Geo[CT1k][1][1][1] )
DSZusatz.Aufzaehlung.CAT_TYP[CT1k]["Geo"] = DSZusatz.Geo[CT1k][1][1][2]
if DSZusatz.Geo[CT1k][1][1][3] == false then DSZusatz.Aufzaehlung.CAT_TYP[CT1k]["Geo"] = nil end
end
end
end
end
-- Zuordnung 'JSONDaten' zu 'LokalDaten'
local JSONDaten = mw.text.jsonDecode( JSON )
local LokalDaten = { }
for LDk, LDv in pairs( Daten ) do
for LPk, LPv in pairs( JSONDaten.params ) do
if LDv.Name == LPk then
table.insert( LokalDaten, LPv )
LokalDaten[#LokalDaten]["Name"] = LDv.Name
LokalDaten[#LokalDaten]["Layout"] = { true }
for LO1k, LO1v in pairs( DSZusatz.Layout ) do
if type( LO1k ) == "string" then
for LO2k, LO2v in pairs( LO1v ) do
if LO2v == LokalDaten[#LokalDaten]["Name"] then LokalDaten[#LokalDaten]["Layout"][DSZusatz.Bezeichner[LO1k]] = false end
end
end
end
end
end
end
-- Kopiervorlagen
TEMP.KV = { TEMP.Typ }
if TEMP.KV[1] == 1 then TEMP.KV[1] = "Sendeanlage" end
if TEMP.KV[1] == "Sendeanlage" then
TEMP.KV[2] = "Sendeturm"
TEMP.KV[3] = "Sendemast"
TEMP.KV[4] = "Fernsehturm"
end
TEMP.keine = {
Sendemast = { "T_HOCH_AUS", "T_HOCH_RES", "T_A_STILL" }
}
Doku = Doku .. "\n\n== Kopiervorlage"
if #TEMP.KV > 1 then Doku = Doku .. "n" end
Doku = Doku .. " ==\n"
for KVk, KVv in pairs( TEMP.KV ) do
-- Zuordnung 'LokalDaten' zu 'EinzelDaten' (Kopiervorlage)
TEMP.EinzelDaten = { }
for EVk, EVv in pairs( LokalDaten ) do
if (EVv.Layout[KVv] ~= false or EVv.Name == "NS" or EVv.Name == "EW") then
table.insert( TEMP.EinzelDaten, EVv )
end
end
-- Zusammenstellung Daten Kopiervorlagen
TEMP.KText = "\n{{Infobox " .. tostring( TEMP.KV[1] )
for EVEk, EVEv in pairs( TEMP.EinzelDaten ) do
TEMP.kA = false
if TEMP.keine[KVv] then
for keineK, keineV in pairs( TEMP.keine[KVv] ) do
if keineV == EVEv.Name then TEMP.kA = true end
end
end
if (TEMP.kA == false and (EVEv.suggested == true or EVEv.required == true)) then
TEMP.KText = TEMP.KText .. "\n| " .. tostring( EVEv.Name )
for iVk = string.len( EVEv.Name ), 9, 1 do
TEMP.KText = TEMP.KText .. " "
end
TEMP.KText = TEMP.KText .. " = "
if EVEv.autovalue then
if (KVv == "Fernsehturm" and EVEv.Name == "VERW") then TEMP.KText = TEMP.KText .. "Fernsehturm/" end
TEMP.KText = TEMP.KText .. "<!-- " .. tostring( EVEv.autovalue ) .. " -->"
end
if EVEv.Name == "CAT_TYP" then
for CTk, CTv in pairs( DSZusatz.Bezeichner ) do
if CTv == KVv then TEMP.KText = TEMP.KText .. tostring( CTk ) end
end
end
end
end
TEMP.KText = TEMP.KText .. "\n}}\n"
-- Darstellung Daten Kopiervorlagen
TEMP.pre = mw.html.create( "pre" )
:css( "white-space", "pre-wrap" )
:css( "overflow", "auto" )
:wikitext( TEMP.KText )
if #TEMP.KV > 1 then
TEMP.div = mw.html.create( "div" )
:css( "float", "left" )
:css( "width", "46%" )
:css( "margin-right", "1em" )
:wikitext( "\n\n=== Kopiervorlage " .. tostring( KVv ) .. " ===\n" .. tostring( TEMP.pre ) )
else
TEMP.div = "\n\n=== Kopiervorlage " .. tostring( KVv ) .. " ===\n" .. tostring( TEMP.pre )
end
Doku = Doku .. tostring( TEMP.div )
end
TEMP.div = mw.html.create( "div" )
:css( "clear", "left" )
if #TEMP.KV > 1 then Doku = Doku .. tostring( TEMP.div ) end
TEMP.pre = mw.html.create( "pre" )
:css( "white-space", "pre-wrap" )
:css( "overflow", "auto" )
:wikitext( "{{Infobox " .. tostring( TEMP.KV[1] ) .. "| SONDER = Weiterleitung| ZIEL = \'\'Ziel der Weiterleitung\'\' }}" )
Doku = Doku .. "\n\n=== Vorlage als Weiterleitung ===\n" .. tostring( TEMP.pre )
-- Datenverarbeitung Parameter-Details
TEMP.EDaten = { }
if (TEMP.Typ == 1 or TEMP.Typ == "Sendeanlage") then
TEMP.EDaten = LokalDaten
else
for DVEk, DVEv in pairs( LokalDaten ) do
if DVEv.Layout[TEMP.Typ] ~= false then
table.insert( TEMP.EDaten, DVEv )
end
end
end
TEMP.EinzelDaten = { }
for DVPDk, DVPDv in pairs( TEMP.EDaten ) do
for DVAk, DVAv in pairs( DSZusatz.Aufzaehlung ) do
if (DVPDv.Name == DVAk and DVPDv.deprecated ~= true) then table.insert( TEMP.EinzelDaten, DVPDv ) end
end
end
TEMP.Liste = { }
for EDLIk, EDLIv in pairs( TEMP.EinzelDaten ) do
TEMP.Sort = { }
for LISOk, LISOv in pairs( DSZusatz.Aufzaehlung[EDLIv.Name] ) do
TEMP.tf = true
LISOv[1] = LISOv[1] or { }
for LISxK, LISxV in pairs( LISOv[1] ) do
if type( LISxK ) == "string" then
if (DSZusatz.Bezeichner[LISxK] == TEMP.Typ and LISxV == false) then TEMP.tf = false end
end
end
if TEMP.tf == true then table.insert( TEMP.Sort, LISOk ) end
end
table.sort( TEMP.Sort )
TEMP.Liste[EDLIk] = {
Name = tostring( EDLIv.Name ),
Label = tostring( EDLIv.label ),
Sortierung = TEMP.Sort,
args = { }
}
for LIA1k, LIA1v in pairs( TEMP.Sort ) do
DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][2] = DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][2] or { }
DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][3] = DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][3] or { }
TEMP.Liste[EDLIk]["args"][LIA1k] = {
Name = LIA1v,
Label = DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][2][1] or "",
Kategorie = DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][3][1] or "",
KatAnzeige = DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v]["KatAnzeige"]
}
for LIXk, LIXv in pairs( DSZusatz.Bezeichner ) do
if (type( TEMP.Typ ) == "string" and TEMP.Typ == LIXv ) then
TEMP.Liste[EDLIk]["args"][LIA1k]["Label"] = DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][2][LIXk] or TEMP.Liste[EDLIk]["args"][LIA1k]["Label"]
TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"] = DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][3][LIXk] or TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"]
end
end
if TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"] ~= "" then TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"] = "[[:Kategorie:" .. TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"] .. "]]" end
if (type( TEMP.Typ ) == "number" or TEMP.Typ == "Sendeanlage" ) then
TEMP.LIZ = { }
for LIA2k, LIA2v in pairs( DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][2] ) do
if type( LIA2k ) == "string" then table.insert( TEMP.LIZ, LIA2k ) end
end
if #TEMP.LIZ > 1 then
TEMP.Liste[EDLIk]["args"][LIA1k]["Label"] = "\n{|\n|-\n| style=\"padding-right:.25em;\" | \'\'Voreinstellung\'\':\n| " .. tostring( DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][2][1] )
for LIA3k, LIA3v in pairs( TEMP.LIZ ) do
TEMP.Liste[EDLIk]["args"][LIA1k]["Label"] = TEMP.Liste[EDLIk]["args"][LIA1k]["Label"] .. "\n|-\n| style=\"padding-right:.25em;\" | " .. tostring( DSZusatz.Bezeichner[LIA3v] ) .. ":\n| " .. tostring( DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][2][LIA3v] )
end
TEMP.Liste[EDLIk]["args"][LIA1k]["Label"] = TEMP.Liste[EDLIk]["args"][LIA1k]["Label"] .. "\n|}"
end
TEMP.LIZ = { }
for LIA4k, LIA4v in pairs( DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][3] ) do
if type( LIA4k ) == "string" then table.insert( TEMP.LIZ, LIA4k ) end
end
if #TEMP.LIZ > 1 then
TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"] = "\n{|\n|-\n| style=\"padding-right:.25em;\" | \'\'Voreinstellung\'\':\n| [[:Kategorie:" .. tostring( DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][3][1] ) .. "]]"
for LIA5k, LIA5v in pairs( TEMP.LIZ ) do
TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"] = TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"] .. "\n|-\n| style=\"padding-right:.25em;\" | " .. tostring( DSZusatz.Bezeichner[LIA5v] ) .. ":\n| [[:Kategorie:" .. tostring( DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v][3][LIA5v] ) .. "]]"
end
TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"] = TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"] .. "\n|}"
end
end
if (DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v]["Geo"] == "GeoC" or DSZusatz.Aufzaehlung[EDLIv.Name][LIA1v]["Geo"] == "GeoN") then
TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"] = TEMP.Liste[EDLIk]["args"][LIA1k]["Kategorie"] .. " mit räumlicher Zuordnung durch den Parameter <code>REGION-ISO</code>"
end
end
end
-- Anzeige Parameter-Details
Doku = Doku .. "\n\n== Parameter-Details ==\n: \'\'Hinweis: Die zugrundeliegenden Daten können unter [[" .. DSZusatz.ModulStamm .. "/Auflistung]] bearbeitet werden.\'\'\n{| class=\"wikitable centered\"\n! Wert !! Anzeige!! Kategorie"
for DL1k, DL1v in pairs( TEMP.Liste ) do
Doku = Doku .. "\n|-\n| colspan=\"3\" style=\"font-weight:bold; font-size:120%; text-align:center; background:#fff4d5;\" | " .. Anker( DL1v.Label .. " <small>(" .. tostring( DL1v.Name ) .. ")</small>", "PD_", DL1v.Name )
for DL2k, DL2v in pairs( DL1v.args ) do
Doku = Doku .. "\n|-"
Doku = Doku .. "\n| " .. Anker( DL2v.Name, "PD_", DL1v.Name, DL2v.Name )
Doku = Doku .. "\n| "
if DL2v.KatAnzeige == false then Doku = Doku .. "colspan=\"2\" | " end
Doku = Doku .. tostring( DL2v.Label )
if DL2v.KatAnzeige ~= false then Doku = Doku .. "\n| " .. tostring( DL2v.Kategorie ) end
end
end
Doku = Doku .. "\n|}"
-- Datenquelle, nicht im Artikelnamensraum
if (DSZusatz.SR == "Spielwiese" or DSZusatz.SU == "Spielwiese") then
Doku = Doku .. "\n\n=== Datenquelle ===\n{| class=\"wikitable\"\n! Parameter !! Inhalt „AZv“"
for AZk, AZv in pairs( TEMP.EinzelDaten ) do
Doku = Doku .. "\n|-\n| <code>" .. tostring( AZk ) .. "</code>\n\| "
if type(AZv) == "table" then
Doku = Doku .. "\n{| class=\"wikitable\"\n! Parameter !! Inhalt „AZ2v“"
for AZ2k, AZ2v in pairs( AZv ) do
Doku = Doku .. "\n|-\n| <code>" .. tostring( AZ2k ) .. "</code>\n\| "
if type(AZ2v) == "table" then
Doku = Doku .. "\n{| class=\"wikitable\"\n! Parameter !! Inhalt „AZ3v“"
for AZ3k, AZ3v in pairs( AZ2v ) do
Doku = Doku .. "\n|-\n| <code>" .. tostring( AZ3k ) .. "</code>\n\| "
if type(AZ3v) == "table" then
Doku = Doku .. "\n{| class=\"wikitable\"\n! Parameter !! Inhalt „AZ4v“"
for AZ4k, AZ4v in pairs( AZ3v ) do
Doku = Doku .. "\n|-\n| <code>" .. tostring( AZ4k ) .. "</code>\n\| "
Doku = Doku .. "<code>" .. tostring( AZ4v ) .. "</code>"
if type(AZ4v) ~= "string" then Doku = Doku .. " (" .. type(AZ4v) .. ")" end
end
Doku = Doku .. "\n|}"
else
Doku = Doku .. "<code>" .. tostring( AZ3v ) .. "</code>"
if type(AZ3v) ~= "string" then Doku = Doku .. " (" .. type(AZ3v) .. ")" end
end
end
Doku = Doku .. "\n|}"
else
Doku = Doku .. "<code>" .. tostring( AZ2v ) .. "</code>"
if type(AZ2v) ~= "string" then Doku = Doku .. " (" .. type(AZ2v) .. ")" end
end
end
Doku = Doku .. "\n|}"
else
Doku = Doku .. "<code>" .. tostring( AZv ) .. "</code>"
if type(AZv) ~= "string" then Doku = Doku .. " (" .. type(AZv) .. ")" end
end
end
Doku = Doku .. "\n|}"
end
end
return Doku
end
-- Zusammenstellung DatenDokumentation
function p.DokuDaten( DSZusatz, DatenX, frame )
local Daten = DatenX
local ListeParameter = { }
local TabelleParameter = { }
local istvorhanden = { }
local TEMP = { }
local Doku = ""
-- Auslesung Daten
for LD1k, LD1v in pairs( Daten ) do
for LD2k, LD2v in pairs( LD1v ) do
if (istvorhanden[tostring( LD2k )] ~= true) then
table.insert( ListeParameter, tostring( LD2k ) )
istvorhanden[tostring( LD2k )] = true
end
end
end
table.sort( ListeParameter )
-- Parameterliste
for LP1k, LP1v in pairs( ListeParameter ) do
TabelleParameter[LP1k] = { Name = tostring( LP1v ) }
TEMP.Inhalt = mw.getCurrentFrame():getParent().args[tostring( LP1v )] or frame.args[tostring( LP1v )] or "—"
TEMP.Inhalt = string.gsub( TEMP.Inhalt, "$TabelleAnfang", "\n{| class =\"wikitable\"\n! Parameter !! Bemerkung" )
TEMP.Inhalt = string.gsub( TEMP.Inhalt, "$TabelleEnde", "\n|}" )
TEMP.Split = mw.text.split( TEMP.Inhalt, "/" )
if #TEMP.Split > 1 then
TEMP.Inhalt = "\n{| class =\"wikitable\"\n! Parameter !! Bemerkung\n|-\n|"
for LP2k, LP2v in pairs( TEMP.Split ) do
if LP2k == 1 then
TEMP.Inhalt = TEMP.Inhalt .. " <code>" .. LP2v .. "</code>"
else
TEMP.Inhalt = TEMP.Inhalt .. "\n|"
if LP2v ~= "-" then TEMP.Inhalt = TEMP.Inhalt .. " " end
if TEMP.Split[LP2k-1] == "-" then
TEMP.Inhalt = TEMP.Inhalt .. "<code>" .. LP2v .. "</code>"
else
TEMP.Inhalt = TEMP.Inhalt .. LP2v
end
end
end
TEMP.Inhalt = TEMP.Inhalt .. "\n|}"
end
TabelleParameter[LP1k]["Inhalt"] = tostring( TEMP.Inhalt )
end
-- Anzeige Parameter
Doku = Doku .. "\n{| class =\"wikitable\"\n! Parameter !! Bemerkung\n|-"
for AZP1k, AZP1v in pairs( TabelleParameter ) do
if AZP1v.Inhalt ~= "kein" then
if string.find( AZP1v.Inhalt, "$org" ) then
AZP1v.Inhalt = string.gsub( AZP1v.Inhalt, "$org", "" )
TEMP.Farbe = "efe"
elseif AZP1v.Inhalt == "—" then
TEMP.Farbe = "fee"
else
TEMP.Farbe = "ffe"
end
Doku = Doku .. "\n|-\n| style=\"background-color:#" .. tostring( TEMP.Farbe ) .. ";\" | <code>" .. AZP1v.Name .. "</code>\n| style=\"background-color:#" .. tostring( TEMP.Farbe )
if AZP1v.Inhalt == "—" then Doku = Doku .. "; text-align:center" end
Doku = Doku .. ";\" | " .. AZP1v.Inhalt
end
end
Doku = Doku .. "\n|-\n| colspan=\"2\" | <div style=\"width:32px; height:18px; border:black 1px solid; background-color:#efe; float:left; margin-right:1em;\"></div> Parameter kann im [[" .. DSZusatz.ModulStamm .. "/Label]] angepasst werden."
Doku = Doku .. "\n|-\n| colspan=\"2\" | <div style=\"width:32px; height:18px; border:black 1px solid; background-color:#ffe; float:left; margin-right:1em;\"></div> Parameter wird innerhalb des Moduls generiert."
Doku = Doku .. "\n|-\n| colspan=\"2\" | <div style=\"width:32px; height:18px; border:black 1px solid; background-color:#fee; float:left; margin-right:1em;\"></div> Status nicht definiert"
Doku = Doku .. "\n|}"
return Doku
end
-- Zusammenstellung Tsbelle DokuZusatz
function p.DokuZusatz( DSZusatz, Daten, frame )
local Doku, Sortierung, Beschreibung = "", { }, { }
for DSSk, DSSv in pairs( DSZusatz ) do
table.insert( Sortierung, tostring( DSSk ) )
end
table.sort( Sortierung )
for DSVk, DSVv in pairs( Sortierung ) do
Beschreibung[DSVk] = { Name = DSVv, Farbe = "" }
Beschreibung[DSVk]["Label"] = mw.getCurrentFrame():getParent().args[DSVv] or frame.args[DSVv] or ""
if Beschreibung[DSVk]["Label"] == "" then Beschreibung[DSVk]["Farbe"] = "style=\"background-color:#fee; | " end
end
Doku = Doku .. "\n{| class =\"wikitable\"\n! Parameter !! Beschreibung"
for DSk, DSv in pairs( Beschreibung ) do
Doku = Doku .. "\n|-\n| " .. DSv.Farbe .. "<code>" .. DSv.Name .. "</code>"
Doku = Doku .. "\n| " .. DSv.Farbe .. DSv.Label
end
Doku = Doku .. "\n|}"
return Doku
end
return p