27.167
Bearbeitungen
(getAttrAttributes() + ValueQuery; + AttrValueQuery()) |
(anfangsbuchstabeGross() von Tabellenkopf) |
||
| (5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
local dev = require("Modul:Development") | |||
local str = require("Modul:String") | |||
function p.getAttrAttributes(attr, klasse) | function p.getAttrAttributes(attr, klasse) | ||
| Zeile 6: | Zeile 9: | ||
-- mw.logObject(p.getAttrAttributes("BietetKartenzahlung")) | -- mw.logObject(p.getAttrAttributes("BietetKartenzahlung")) | ||
local query = {"[[Attribut:" .. attr .. "]]", | local query = {"[[Attribut:" .. attr .. "]]", | ||
"?Datentyp#-", mainlabel = "-", limit = 1} | "?Datentyp#-", "?EhemalsAttribut", "?Anzeigegenauigkeit", | ||
mainlabel = "-", limit = 1} | |||
query = mw.smw.ask(query) | query = mw.smw.ask(query) | ||
if query ~= nil then | if query ~= nil then | ||
| Zeile 53: | Zeile 57: | ||
if query["Einzahl"] ~= attr then | if query["Einzahl"] ~= attr then | ||
query["ValueQuery"] = | query["ValueQuery"] = | ||
query["ValueQuery"] .. "=" .. query["Einzahl"] | query["ValueQuery"] .. "=" .. | ||
str.anfangsbuchstabeGross(query["Einzahl"]) | |||
end | |||
-- Sonderbehandlung Delimiter | |||
if query["Delimiter"] == "Semikolon" then | |||
query["Delimiter"] = ";" | |||
elseif query["Delimiter"] == "keine Liste" or | |||
(query["Delimiter"] == "Default/leer" and klasse == nil) then | |||
query["Delimiter"] = nil | |||
end | end | ||
end | end | ||
| Zeile 60: | Zeile 72: | ||
function p.AttrText(frame) -- Attribut-Anzeige-Texte | function p.AttrText(frame) -- Attribut-Anzeige-Texte | ||
local frame, _, args = dev.GetFrameAndParentArgs(frame) | |||
local attr, klasse = args[1], args[2] | |||
return p.attrText(attr, klasse) | |||
end | end | ||
function p.attrText(attr, klasse, mehrzahl) | function p.attrText(attr, klasse, mehrzahl) | ||
local query | local text | ||
local query = p.getAttrAttributes(attr, klasse) | |||
if query == nil then | if query == nil then | ||
text = attr | text = attr | ||
| Zeile 73: | Zeile 88: | ||
end | end | ||
return text | return text | ||
end | |||
function p.AttrInfo(frame) | |||
local frame, _, args = dev.GetFrameAndParentArgs(frame) | |||
local attr, klasse = args[1], args[2] | |||
local info, delimiter = p.attrInfotextDelimiter(attr, klasse) | |||
if info ~= nil then | |||
info = info .. "." | |||
if delimiter ~= nil then | |||
info = info .. " Mehrere Eintragungen möglich, zu trennen per " .. | |||
delimiter | |||
end | |||
info = string.gsub(info, "%.%.", ".") | |||
info = frame:callParserFunction("#info", info, "note") | |||
end | |||
return info | |||
end | |||
function p.attrInfotextDelimiter(attr, klasse) | |||
local text, delimiter | |||
local query = p.getAttrAttributes(attr, klasse) | |||
if query ~= nil then | |||
text = query["Infotext"] | |||
delimiter = query["Delimiter"] | |||
end | |||
return text, delimiter | |||
end | |||
function p.AttrField(frame) | |||
local t = "" | |||
local frame, _, args = dev.GetFrameAndParentArgs(frame) | |||
local attr, klasse = args[1], args[2] | |||
local query = p.getAttrAttributes(attr, klasse) | |||
t = t .. "{{{field|" .. attr | |||
if query ~= nil and query["FieldArgs"] ~= nil then | |||
t = t .. "|" .. query["FieldArgs"] | |||
end | |||
t = t .. "}}}" | |||
return t | |||
end | end | ||