Modul:SMW/Work: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 143: Zeile 143:
-- Kommandozeile zum Debuggen:
-- Kommandozeile zum Debuggen:
-- p.Ask{pargs={" a "," ? b "," ? c1 # c2 "," ? d1 # d2 = d3 "," ? e1 = e3 ", " ? Ehemals ", " ? Ehemals = Test ", " ? Ehemals # tick ", " ? Ehemals # tick = Test", " ? Ehemals # tick =", Klasse="Straße"}}
-- p.Ask{pargs={" a "," ? b "," ? c1 # c2 "," ? d1 # d2 = d3 "," ? e1 = e3 ", " ? Ehemals ", " ? Ehemals = Test ", " ? Ehemals # tick ", " ? Ehemals # tick = Test", " ? Ehemals # tick =", Klasse="Straße"}}
local frame, pargs = dev.GetFrameAndParentArgs(frame)
local args = wik.getArgs(pargs)
return p.ask(frame, args)
end
function p.ask(frame, args)
local t = ""
local t = ""
local frame, pargs = dev.GetFrameAndParentArgs(frame)
-- defaults setzen
local args = wik.getArgs(pargs) -- filtert "" aus und macht shadow-copy
if args.format == nil or args.format == "table" then
args.headers = args.headers or "plain"
-- args.class = args.class or "wikitable sortable"
end
-- args.sep = args.sep or ", "
-- Klasse extrahieren
-- Klasse extrahieren
local klasse = args["Klasse"]
local klasse = args["Klasse"]
Zeile 152: Zeile 162:
for i, _ in ipairs(args) do
for i, _ in ipairs(args) do
args[i] = str.strip(string.gsub(args[i], "\n", ""))
args[i] = str.strip(string.gsub(args[i], "\n", ""))
end
--
args_temp = com.shallowcopy(args)
for i, a in pairs(args) do
if string.sub(a, 1, 1) == "?" then
else
end
end
end
-- query-args aufbereiten
-- query-args aufbereiten
Zeile 167: Zeile 185:
if attr_attr ~= nil then
if attr_attr ~= nil then
format = format or attr_attr["Anzeigeformat"] -- Anzeigeformat übernehmen
format = format or attr_attr["Anzeigeformat"] -- Anzeigeformat übernehmen
attr_text = attr_text or attr_attr["Einzahl"] -- Anzeigetext Einzahl übernehmen
if attr_text == "Mehrzahl" then -- Schlüsselwort "Mehrzahl"
attr_text = attr_attr["Mehrzahl"] -- Anzeigetext Mehrzahl übernehmen
else
attr_text = attr_text or attr_attr["Einzahl"] -- Anzeigetext Einzahl übernehmen
end
end
end
-- jetzt wieder alles zusammenbauen ?...#...=...
-- jetzt wieder alles zusammenbauen ?...#...=...
Zeile 180: Zeile 202:
end
end
end
end
-- defaults setzen
-- args.class = args.class or "wikitable sortable"
args.headers = args.headers or "plain"
args.sep = args.sep or ", "
-- nun #ask final aufrufen
-- nun #ask final aufrufen
-- mw.logObject(args, "args")
mw.logObject(args, "args")
t = t .. frame:callParserFunction("#ask", args)
t = t .. frame:callParserFunction("#ask", args)
return t
return t