15.755
Bearbeitungen
(Änderung 754478 von HeikoBot (Diskussion) rückgängig gemacht.) Markierung: Rückgängigmachung |
(Optimierung zeile()) |
||
| Zeile 9: | Zeile 9: | ||
local lfd = require("Modul:LinkFormDatum") | local lfd = require("Modul:LinkFormDatum") | ||
local | local attr_text_anzeige = { | ||
["TeilDesEnsembles"]="Teil des Ensembles", | ["TeilDesEnsembles"]="Teil des Ensembles", | ||
["TeilDesAreals"]="Teil des Areals", | ["TeilDesAreals"]="Teil des Areals", | ||
| Zeile 50: | Zeile 50: | ||
p.bildTab(fbdata) .. | p.bildTab(fbdata) .. | ||
p.kartenTab(fbdata) .. | p.kartenTab(fbdata) .. | ||
p. | p.datenUniversalTab(fbdata) .. | ||
"</tabs></div>" | "</tabs></div>" | ||
| Zeile 64: | Zeile 64: | ||
end | end | ||
function p. | function p.datenUniversalTab(fbdata) | ||
-- mw.log(" | -- mw.log("datenUniversalTab(fbdata)") | ||
-- mw.logObject(fbdata) | -- mw.logObject(fbdata) | ||
-- Konsolenzeile zum Debuggen (Achtung! Bug in Fehlerbereinigungskonsole! Kann nur 1x ausgeführt werden!): | -- Konsolenzeile zum Debuggen (Achtung! Bug in Fehlerbereinigungskonsole! Kann nur 1x ausgeführt werden!): | ||
| Zeile 311: | Zeile 311: | ||
local t = "" | local t = "" | ||
for _, a in ipairs(attr_names) do | for _, a in ipairs(attr_names) do | ||
t = t .. p.zeile{ | t = t .. p.zeile{fbdata=fbdata, attr_name=a} | ||
end | end | ||
-- mw.log("t = " .. t) | -- mw.log("t = " .. t) | ||
| Zeile 321: | Zeile 321: | ||
-- mw.logObject(args) | -- mw.logObject(args) | ||
-- Konsolenzeile zum Debuggen: | -- Konsolenzeile zum Debuggen: | ||
-- =p.zeile{attr_name=" | -- =p.zeile{attr_name="Vorgänger",attr_text="t",fbdata={pargs={["Vorgänger"]="; v11 , V12 ; v13 (a(b))"}},attr_val="; v1 ; v2, v3 (a(b))",val_prefix="pre",val_postfix="post",exclude_bracket_values=true,val_is_list=true, delimiter=","} | ||
local t = "" | local t = "" | ||
-- Attribut-Name/Wert aufbereiten (splitten, in table umwandeln) | |||
local attr_name = args.attr_name | |||
local attr_val = args.attr_val or args.val or args.fbdata.pargs[attr_name] or {} | |||
if type(attr_val) ~= "table" then -- Liste in table umwandeln/zerteilen | |||
if args.delimiter ~= nil or args.val_is_list == nil or args.val_is_list == true then -- default ist Trennen mit Semikolon | |||
attr_val = str.splitAndStrip(attr_val, args.delimiter or ";") | |||
else | |||
attr_val = { attr_val } | |||
end | |||
end | |||
-- Zeile zusammenbauen | |||
if #attr_val > 0 then | |||
-- Attribut-Text ermitteln und in Zeile übernehmen | |||
local attr_text = args.attr_text or attr_text_anzeige[attr_name] or attr_name | |||
if #attr_val > 1 then | |||
attr_text = mez.mehrzahl(attr_text) -- Mehrzahl | |||
end | |||
t = t .. "<dt>" .. "[[Attribut:" .. attr_name .. "|" .. attr_text .. "]]</dt>" | |||
-- Attribut-Werte in Zeile übernehmen | |||
t = t .. "<dd>" | |||
if args.val_prefix ~= nil then | |||
t = t .. args.val_prefix .. " " -- Prefix | |||
end | end | ||
for idx, val in ipairs(attr_val) do -- Werte-Liste | |||
if idx > 1 then | |||
if | t = t .. ", " -- Listen-Kommata | ||
end | end | ||
local val_bracket = "" | |||
if com.isTrue(args.exclude_bracket_values) then -- Klammer-Text separieren (kein Attribut-Wert) | |||
local first_bracket = string.find(val, "%(") | |||
local last_bracket = string.find(val, "%)", -1) | |||
if first_bracket ~= nil and last_bracket ~= nil and first_bracket > 1 then | |||
val_bracket = " " .. string.sub(val, first_bracket, last_bracket) | |||
val = str.strip(string.sub(val, 1, first_bracket - 1)) | |||
end | end | ||
end | end | ||
if args.val_postfix ~= nil then | t = t .. "[[" .. attr_name .. "::" .. val .. "]]" .. val_bracket | ||
end | |||
if args.val_postfix ~= nil then | |||
t = t .. " " .. args.val_postfix -- Postfix | |||
end | end | ||
t = t .. "</dd>" | |||
end | end | ||
-- mw.log("t = " .. t) | -- mw.log("t = " .. t) | ||