|
|
| Zeile 1: |
Zeile 1: |
| local p = {} | | local p = {} |
|
| |
| local dev = require("Modul:Development")
| |
| local str = require("Modul:String")
| |
| local htm = require("Modul:HTML")
| |
| local wob = require("Modul:Wörterbuch")
| |
| local lfd = require("Modul:LinkFormDatum")
| |
| 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] = wob.attrText(a, klasse)
| |
| end
| |
| return htm.tableHeader(args)
| |
| end
| |
|
| |
| function p.TableLine(frame)
| |
| -- mw.log("TableLine(frame)")
| |
| -- Kommandozeile zum Debuggen:
| |
| -- =p.TableLine{pargs={"Test","Test3","Politiker","1. Januar 2024","2025-03-04,2026-02-03","2025,2026-02-03","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 td_args, vorname, nachname
| |
| for i, a in ipairs(pargs) do
| |
| local attr = args[i]
| |
| local val = a
| |
| -- Sonderbehandlung Beruf
| |
| if attr == "Beruf" then
| |
| val = ber.berufePageLinkListe(val, ",")
| |
| -- Sonderbehandlung Datum
| |
| -- Reihenfolge: GeburtsdatumISO|Geburtsdatum
| |
| -- bzw. TodesdatumISO|Todesdatum
| |
| elseif attr == "GeburtsdatumISO" or attr == "TodesdatumISO" or
| |
| attr == "FunktionVonISO" or attr == "FunktionBisISO" then
| |
| td_args = "data-sort-value=\"" .. val .. "\""
| |
| val = nil
| |
| elseif attr == "Geburtsdatum" or attr == "Todesdatum" or
| |
| attr == "FunktionVon" or attr == "FunktionBis" then
| |
| val = str.splitAndStrip(val, ",") -- als Liste behandeln
| |
| val_tmp = ""
| |
| for _, v in ipairs(val) do
| |
| val_tmp = str.appendWithComma(val_tmp, lfd.formatDate(v))
| |
| end
| |
| val = val_tmp
| |
| if val ~= "" and 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
| |
| local name = vorname
| |
| if vorname ~= "" and nachname ~= "" then
| |
| name = name .. " "
| |
| end
| |
| name = name .. nachname
| |
| if name == "" then
| |
| name = val
| |
| end
| |
| val = "[[" .. val .."|" .. name .. "]]"
| |
| end
| |
| -- mw.logObject(val, "val")
| |
| table.insert(line, val)
| |
| end
| |
| local t = htm.tableLine(line)
| |
| -- mw.logObject(t, "t")
| |
| return t
| |
| end
| |
|
| |
| function p.TableFooter(frame)
| |
| return htm.TableFooter(frame)
| |
| end
| |
|
| |
|
| function p.getAttrAttributes(attr, klasse) | | function p.getAttrAttributes(attr, klasse) |
| Zeile 129: |
Zeile 44: |
| end | | end |
| return query | | return query |
| | end |
| | |
| | function p.AttrText(frame) -- Attribut-Anzeige-Texte |
| | return p.attrText(frame.args[1], frame.args[2]) |
| end | | end |
|
| |
|