Modul:Faktenbox/Work

Aus FürthWiki

Die Dokumentation für dieses Modul kann unter Modul:Faktenbox/Work/Doku erstellt werden

local p = {}

local geo = require("Modul:Geo")
local kar = require("Modul:Karte")

local fab_common = require("Modul:Faktenbox/Common")
local fab_zeilen = require("Modul:Faktenbox/Zeilen/Work")
local fab_tabs = require("Modul:Faktenbox/Tabs")
local fab_tabs_karte = require("Modul:Faktenbox/Tabs/Karte")
local fab_tabs_adressen = require("Modul:Faktenbox/Tabs/Adressen")

function p.Faktenbox(frame)
--	mw.log("Faktenbox(frame)")
--	mw.logObject(frame)
	-- Konsolenzeile zum Debuggen:
	-- =p.Faktenbox{pargs={Bild="Schwabacher Straße 12 Dez 2020 1.jpg",["Straße"]="Schwabacher Straße",location="Rathaus Fürth",Objekt="Häusle"}}
	local t = ""

	-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
	-- Kein(e) Klasse/Kategorie/Formular!
	local fbdata = fab_common.getFbdata_(frame)
	fbdata.hide_loc_latlon = "nein"												-- Karte darf GeoJson und Objekt-Lokationen haben
	fbdata.attr.noattr = true													-- Keine Attribute setzen

	-- Tabs einsammeln und zusammenfügen
	t = t .. fab_tabs.bildTab_(fbdata)
	if kar.kartenArgsVorhanden(fbdata.pargs) then
		t = t .. fab_tabs_karte.kartenTab_(fbdata)
	end
	t = t .. fab_tabs.universalDatenTab_(fbdata)
	t = fab_tabs.factbox_header_footer_(t)

	-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
	t = t .. fab_common.postprocess_(fbdata, false)
--	mw.logObject(t, "t")

	-- Pre-Processing und String-Länge checken
	t = fbdata.frame:preprocess(t)
--	mw.logObject(t, "t")
	return t
end

-- wrapper für functions von Modul:Faktenbox/Tabs
function p.universalDatenTab(...)			return fab_tabs.universalDatenTab_(...)				end
function p.bildTab(...)						return fab_tabs.bildTab_(...)						end
function p.kartenTab(...)					return fab_tabs_karte.kartenTab_(...)				end
function p.getKartenArgs(...)				return fab_tabs_karte.getKartenArgs_(...)			end
function p.benennungenTab(...)				return fab_tabs.benennungenTab_(...)				end
function p.adressenTab(...)					return fab_tabs_adressen.adressenTab_(...)			end
function p.tab(...)							return fab_tabs.tab_(...)							end
function p.table_header_footer(...)			return fab_tabs.table_header_footer_(...)			end
function p.factbox_header_footer(...)		return fab_tabs.factbox_header_footer_(...)			end

-- wrapper für functions von Modul:Faktenbox/Zeilen
function p.zeileKategorieSeite(...)			return fab_zeilen.zeileKategorieSeite_(...)			end
function p.zeileStrasseHnr(...)				return fab_zeilen.zeileStrasseHnr_(...)				end
function p.zeileAktenNr(...)				return fab_zeilen.zeileAktenNr_(...)				end
function p.zeileGeoDaten(...)				return fab_zeilen.zeileGeoDaten_(...)				end
function p.zeileDatum(...)					return fab_zeilen.zeileDatum_(...)					end
function p.zeileSemantikBrowsenAbfrage(...)	return fab_zeilen.zeileSemantikBrowsenAbfrage_(...)	end
function p.zeile(...)						return fab_zeilen.zeile_(...)						end

-- wrapper für functions von Modul:Faktenbox/Common
function p.postprocess(...)					return fab_common.postprocess_(...)					end
function p.getFbdata(...)					return fab_common.getFbdata_(...)					end
function p.addWartungsmeldung(...)			return fab_common.addWartungsmeldung_(...)			end

return p