Modul:Karte: Unterschied zwischen den Versionen

2.280 Bytes hinzugefügt ,  Donnerstag um 11:42
fix leere Argumente
(Kategorie:Hat Geolokation, aber keine Geokoordinate)
(fix leere Argumente)
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 5: Zeile 5:
local wik = require("Modul:Wiki")
local wik = require("Modul:Wiki")
local smw = require("Modul:SMW")
local smw = require("Modul:SMW")
local box = require("Modul:Box")


function p.Karte(frame)
function p.Karte(frame)
-- nur die benötigten Argumente übernehmen
-- nur die benötigten Argumente übernehmen
local args = {
local argslist = {
"lat", "lon", "location", "locationlist", "geojson", "geocode",
"lat", "lon", "location", "locationlist", "geojson", "geocode",
"zoom", "popuptitle", "popuptext",
"zoom", "popuptitle", "popuptext",
"box", "headline", "width", "height",
"box", "headline", "width", "height",
"noattr", "form"}
"noattr", "form",
args = wik.getArgs(frame.args, args)
"Work", "Debug"}
-- local args = wik.getArgs(frame.args, argslist)
local args = {} -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
for _, a in ipairs(argslist) do -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
if frame.args[a] ~= nil then -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
args[a] = frame.args[a] -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
end
end
return p.karte(frame, args)
return p.karte(frame, args)
end
end
Zeile 27: Zeile 35:
local kategorien = {}
local kategorien = {}
local pagename = args["pagename"] or wik.pagename() -- nur zum Debuggen pagename vorgebbar
local pagename = args["pagename"] or wik.pagename() -- nur zum Debuggen pagename vorgebbar
-- defaults setzen
args["box"] = args["box"] or "Ja"


-- geocode location and locationlist
-- geocode location and locationlist
Zeile 102: Zeile 113:


-- bisherige Vorlagen-Karte
-- bisherige Vorlagen-Karte
t = t .. frame:expandTemplate{title = "Karte/Legacy", args = args}
local karte_vorlage = "Karte/Legacy"
if com.isTrue(args["Work"]) then
karte_vorlage = karte_vorlage .. "/Work"
-- args["Debug"] = "Ja"
end
mw.logObject(args, "args zur Vorlage " .. karte_vorlage)
t = t .. frame:expandTemplate{title = karte_vorlage, args = args}
 
-- Box drum herum
if com.isTrue(args["box"]) then
local headline = args["headline"] or args["geojson"] or pagename
t = box.box{headline = headline, content = t, textalign = center}
end


-- Kategorien setzen
-- Kategorien setzen
for _, o in ipairs(geoobjects) do -- Check "Hat Geolokation, aber keine Geokoordinate"
kategorien["Hat Karte"] = true
if o["Geolokation"] ~= nil and o["Geokoordinate"] == nil then
-- Check "Hat Geolokation, aber keine Geokoordinate"
kategorien["Hat Geolokation, aber keine Geokoordinate"] = true
-- for _, o in ipairs(geoobjects) do -- Check "Hat Geolokation, aber keine Geokoordinate"
end
-- if o["Geolokation"] ~= nil and o["Geokoordinate"] == nil then
end
-- kategorien["Hat Geolokation, aber keine Geokoordinate"] = true
-- end
-- end
hat_geolokation = false -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
hat_geokoordinate = false -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
for _, o in ipairs(geoobjects) do -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
hat_geolokation = hat_geolokation or (o["Geolokation"] ~= nil) -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
hat_geokoordinate = hat_geokoordinate or (o["Geokoordinate"] ~= nil) -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
end -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
if hat_geolokation and not hat_geokoordinate then -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
kategorien["Hat Geolokation, aber keine Geokoordinate"] = true -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
end -- to do: diesen Block später rausschmeißen und obigen aktivieren, wenn fertig
-- nun setzen
for k, _ in pairs(kategorien) do
for k, _ in pairs(kategorien) do
t = t .. "[[Kategorie:" .. k .. "]]"
t = t .. "[[Kategorie:" .. k .. "]]"