20.564
Bearbeitungen
(Die Seite wurde neu angelegt: „local p = {} local str = require("Modul:String") local htm = require("Modul:HTML") local ber = require("Modul:Beruf") function p.TableLine(frame) -- mw.log("TableLine(frame)") -- mw.logObject(frame.args, "frame.args") -- Kommandozeile zum Debuggen: -- =p.TableLine{args={"Test","Test2=Test3","Beruf=Politiker"}} local line = {} for _, a in ipairs(frame.args) do local equal = string.find(a, "=") or 0 local attr = str.strip(string.sub(a, 1, math.ma…“) |
(+ TableHeader(), TableFooter(), Sonderbehandlungen) |
||
| Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
local dev = require("Modul:Development") | |||
local str = require("Modul:String") | local str = require("Modul:String") | ||
local htm = require("Modul:HTML") | local htm = require("Modul:HTML") | ||
local wor = require("Modul:Wörterbuch") | |||
local lfd = require("Modul:LinkFormDatum") | |||
local ber = require("Modul:Beruf") | local ber = require("Modul:Beruf") | ||
function p.TableHeader(frame) | |||
-- Kommandozeile zum Debuggen: | |||
-- =p.TableHeader{args={"Beruf", "AbweichendeNamensform"}} | |||
local args = {} | |||
local klasse = frame.args["Klasse"] | |||
for i, a in ipairs(frame.args) do | |||
args[i] = wor.attrText(a, klasse) | |||
end | |||
return htm.tableHeader(args) | |||
end | |||
function p.TableLine(frame) | function p.TableLine(frame) | ||
-- mw.log("TableLine(frame)") | -- mw.log("TableLine(frame)") | ||
-- Kommandozeile zum Debuggen: | -- Kommandozeile zum Debuggen: | ||
-- =p.TableLine{ | -- =p.TableLine{pargs={"Test","Test3","Politiker","1. Januar 2024","2025-03-04","2025","Max","Mustermann","Hans Wurst"},args={nil, nil,"Beruf","Geburtsdatum","TodesdatumISO","Todesdatum","Vorname","Nachname","Person"}} | ||
-- =p.TableLine{pargs={"p1","p2","p3","p4","p5","p6"},args={,"A2",,"A4"}} | |||
local _, pargs, args = dev.GetFrameAndParentArgs(frame) | |||
-- mw.logObject(pargs, "pargs") | |||
-- mw.logObject(args, "args") | |||
-- Zeile zusammenbauen | |||
local line = {} | local line = {} | ||
for | local td_args, vorname, nachname | ||
local | for i, a in ipairs(pargs) do | ||
local | local attr = args[i] | ||
local val = a | |||
-- Sonderbehandlung Beruf | |||
if attr == "Beruf" then | if attr == "Beruf" then | ||
val = ber.berufePageLinkListe(val, ",") | |||
-- Sonderbehandlung Datum | |||
-- Reihenfolge: GeburtsdatumISO|Geburtsdatum | |||
-- bzw. TodesdatumISO|Todesdatum | |||
elseif attr == "GeburtsdatumISO" or attr == "TodesdatumISO" then | |||
td_args = "data-sort-value=\"" .. val .. "\"" | |||
val = nil | |||
elseif attr == "Geburtsdatum" or attr == "Todesdatum" then | |||
val = lfd.formatDate(val) | |||
if td_args ~= nil then | |||
val = {val, td_args = td_args} | |||
td_args = nil | |||
end | |||
-- Sonderbehandlung Person | |||
-- Reihenfolge: Vorname|Nachname|Person | |||
elseif attr == "Vorname" and args[i + 2] == "Person" then | |||
vorname = val | |||
val = nil | |||
elseif attr == "Nachname" and args[i + 1] == "Person" then | |||
nachname = val | |||
val = nil | |||
elseif attr == "Person" then | |||
val = "[[" .. val .."|" .. vorname .. " " .. nachname .. "]]" | |||
end | end | ||
-- mw.logObject(val, "val") | |||
table.insert(line, val) | |||
end | end | ||
local t = htm.tableLine(line) | local t = htm.tableLine(line) | ||
-- mw.logObject(t, "t") | -- mw.logObject(t, "t") | ||
return t | return t | ||
end | |||
function p.TableFooter(frame) | |||
return htm.TableFooter(frame) | |||
end | end | ||
return p | return p | ||