Modul:Gebäude

Version vom 26. Januar 2024, 22:17 Uhr von Red Rooster (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
local p = {} --p stands for package

function p.Faktenbox( frame )
	pf = frame:getParent()
	args = pf.args
	
	-- Before you ask: No, you cant' use extensionTag here!
	tpl_bild = p.Bild( frame, args )
	tab_bild=''
	if tpl_bild:gsub("%s+", "") ~= '' then
		tab_bild='<tab name=Bild>' .. 
		tpl_bild .. '</tab>'
	end
	
	tpl_karte = p.Karte( frame, args )
	tab_karte=''
	if tpl_karte:gsub("%s+", "") ~= '' then
		tab_karte='<tab name=Karte>' .. 
		tpl_karte .. '</tab>'
	end
	
	-- The tab "Daten" is visible everytime
	tpl_daten = p.Daten( frame, args )
	tab_daten='<tab name=Daten>' .. 
	tpl_daten .. '</tab>'
	
	t ='<div class=factbox><tabs>' .. 
	   tab_bild .. 
	   tab_karte ..
	   tab_daten .. 
	   '</tabs></div>'

	-- Use preprocess to render the factbox and all contens at once
	return frame:preprocess(t)
end

function p.Bild( frame, args )
	t = frame:expandTemplate{title = 'Bildertab', args={
		Bild=args.Bild}
	}
    return t
end

function p.Daten( frame, args )
	t = frame:expandTemplate{title = 'Gebäude.Daten', args={
        Gebaeude=args.Gebaeude,
        Strasse=args.Strasse,
        Hausnummer=args.Hausnummer,
        Strasse2=args.Strasse2,
        Hausnummer2=args.Hausnummer2,
        AktenNr=args.AktenNr,
        Objekt=args.Objekt,
        TeilDesEnsembles=args.TeilDesEnsembles,
        TeilDesAreals=args.TeilDesAreals,
        Baujahr=args.Baujahr,
        Baustil=args.Baustil,
        Bauherr=args.Bauherr,
        Architekt=args.Architekt,
        Maurermeister=args.Maurermeister,
        GebaeudeBesteht=args.GebaeudeBesteht,
        DenkmalstatusBesteht=args.DenkmalstatusBesteht,
        Quellangaben=args.Quellangaben,
        Abbruchjahr=args.Abbruchjahr}
	}
    return t
end

function p.Karte ( frame, args )
	t = frame:expandTemplate{title = 'Positionstab', args={
		lat=args.lat,
		lon=args.lon,
		zoom=args.zoom
	}}
	return t
end

return p