Modul:Faktenbox/Tabs/Legacy
Aus FürthWiki
< Modul:Faktenbox | Tabs
Die Dokumentation für dieses Modul kann unter Modul:Faktenbox/Tabs/Legacy/Doku erstellt werden
local p = {}
local com = require("Modul:Common")
local str = require("Modul:String")
local wik = require("Modul:Wiki")
local smw = require("Modul:SMW")
local fab_zeilen = require("Modul:Faktenbox/Zeilen/Legacy")
local fab_common = require("Modul:Faktenbox/Common")
function p.universalDatenTab_(fbdata)
-- mw.log("datenUniversalTab_(fbdata)")
-- mw.logObject(fbdata)
-- Konsolenzeile zum Debuggen (Achtung! Bug in Fehlerbereinigungskonsole! Kann nur 1x ausgeführt werden!):
-- fab=require("Modul:Faktenbox/Work"); fab_common = require("Modul:Faktenbox/Common"); fbdata=fab_common.fbdata_{pargs={lat="Bla", Objekt="Häusle", Test="BlaBla"}}; print(p.datenUniversalDatenTab_(fbdata))
local t = ""
local no_show_attr = {
["Bild"] = true,
["lat"] = true, ["lon"] = true, ["location"] = true,["locationlist"] = true, ["geojson"] = true,
["zoom"] = true, ["popuptitle"] = true, ["popuptext"] = true
}
-- Zusammenbau
t = t .. "<dl class = 'dataTable'>"
for a, _ in pairs(fbdata.pargs) do
if not com.isTrue(no_show_attr[a]) then
t = t .. fab_zeilen.zeile_{attr_name = a, fbdata = fbdata, delimiter = ";"}
end
end
t = t .. "</dl>"
t = t .. fab_zeilen.zeileSemantikBrowsenAbfrage_(fbdata)
-- Tab draus machen
t = p.tab_(t, "Daten")
-- mw.log("t = " .. t)
return t
end
function p.bildTab_(fbdata, seite)
-- mw.log("bildTab_(fbdata, " .. (seite or "nil") .. ")")
-- mw.logObject(fbdata.pargs)
-- Konsolenzeile zum Debuggen:
-- =p.bildTab_{pargs={Bild="Erloeserkirche.jpg"}}
local t = ""
local beschreibung = smw.getValues("Datei:" .. (fbdata.pargs["Bild"] or ""), "Beschreibung")
local beschreibung = beschreibung[1] or ""
if (fbdata.pargs["Bild"] or "") ~= "" and wik.pageExists("Bild:" .. fbdata.pargs["Bild"]) then
t = t .. '{| class = "factbox_imagetable" border = "0" cellpadding = "0" cellspacing = "0" width = "100%"\n'
t = t .. '|-\n'
t = t .. '|[[Datei:' .. fbdata.pargs["Bild"] .. '|768px|link=' .. (seite or '') .. ']]\n'
if beschreibung ~= "" then
t = t .. '|-\n'
t = t .. '|' .. beschreibung .. '\n'
end
t = t .. '|}'
smw.addAttrToList(fbdata.attr.list, "Bild", "Datei:" .. fbdata.pargs["Bild"])
end
-- Tab draus machen
t = p.tab_(t, "Bild")
-- mw.log("t = " .. t)
return t
end
function p.benennungenTab_(fbdata)
-- mw.log("benennungenTab_()")
-- mw.logObject(fbdata)
-- Konsolenzeile zum Debuggen:
-- =p.benennungenTab_({fullpagename="Engelhardtsteg"})
-- =p.benennungenTab_({fullpagename="Jakob-Henle-Straße"})
-- =p.benennungenTab_({fullpagename="Eichhornstraße"})
-- =p.benennungenTab_({fullpagename="Georg-Brandstätter-Straße"})
local t = ""
-- DB-Abfrage
local query = "[[-Has subobject::".. fbdata.fullpagename .. "]][[SubObjektTyp::Benennung]]|?Benennung|?Benennungsdatum|?BenanntNach|?Bemerkung|limit=100"
local ask_result = mw.smw.ask(query)
-- mw.logObject(ask_result)
-- Zeilen zusammenbauen
local first = true
if ask_result ~= nil then
for i, z in ipairs(ask_result) do -- Ergebniszeile durchiterieren
if (z.Benennung or "") ~= "" or (z.BenanntNach or "") ~= "" then
if first then
t = t .. "<nowiki></nowiki>\n" -- nötig, warum auch immer, damit erster Listeeintrag richtig gerendert wird
first = false
end
t = t .. "* "
if z.Benennung ~= nil then
t = t .. "[[" .. z.Benennung .. "]]"
end
if z.Benennung ~= nil and z.BenanntNach ~= nil then
t = t .. ", "
end
if z.BenanntNach ~= nil then
t = t .. "benannt nach " .. z.BenanntNach
end
if z.Benennungsdatum ~= nil then
t = t .. ", " .. z.Benennungsdatum
end
if z.Bemerkung ~= nil then
t = t .. " (" .. z.Bemerkung .. ")"
end
t = t .. "\n"
end
end
end
-- Tab draus machen
t = p.tab_(t, "Benennungen")
-- mw.log("t = " .. t)
return t
end
function p.tab_(t, name)
-- mw.log("tab(t)")
-- mw.logObject(t)
t = str.strip(t)
if t ~= "" then
t = "<tab name = ".. name .. ">" .. t .. "</tab>"
end
-- mw.log("t = " .. t)
return t
end
return p