Moduuli:WLM-rivi

Wikipediasta
Siirry navigaatioon Siirry hakuun

Tämän moduulin ohjeistuksen voi tehdä sivulle Moduuli:WLM-rivi/ohje

local wlmrow = {}


function wlmrow.render_mapcol(frame, col, params)
	
	if (params["lat"]=="") or (params["long"]=="") then 
		return ;
	end

	local map="{{MapFrame/WLM-kartta-debug"
	.. "|wikidata=" .. params["wd"]
	.. "|leveys=150"
    .. "|korkeus=150"
    .. "|zoom=13"
    .. "|marker-symbol=museum"
    .. "|marker-color=0050d0"    
    .. "|align=right"
    .. "|lat=" .. params["lat"]
    .. "|long=" .. params["long"]
    .. "|nimi=" .. params["item"]
    .. "|selite=" .. params["p18"]
    .. "}}"    

	col:wikitext(frame:preprocess(map))
end

function wlmrow.render_maplinkcol(frame, col, params)
	if (params["lat"]=="") or (params["long"]=="") then 
		return ;
	end
	maplink="{{paikkalinkki"
	.. "|" .. params["lat"]
	.. "|" .. params["long"] 
	.. "|region:FI-11_type:landmark"
	.. "|nimi=" .. params["itemlabel"]
	.."}}"
	return 	col:wikitext(frame:preprocess(maplink))
end

function wlmrow.render_wikishootmecol(frame, col, params)
	if (params["lat"]=="") or (params["long"]=="") then 
		return ;
	end
	
	url="https://tools.wmflabs.org/fiwiki-tools/wikishootme/#interface_language=fi&zoom=15&layers=wikidata_image,wikidata_no_image&sparql_filter=VALUES%20%3FallowedLuetteloTypes%20%7B%20wd%3AQ38896738%20%7D%20%20%20.%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%7B%20%0A%20%20%20%20%3Fq%20p%3AP528%20%3Fluettelotunnusq%20%20.%20%0A%20%20%20%20%3Fluettelotunnusq%20pq%3AP972%20%3Fluettelo%20.%0A%20%20%20%20%3Fluettelotunnusq%20pq%3AP972%20%3FallowedLuetteloTypes%0A%20%20%7D%0A%20%20UNION%0A%20%20%7B%20%3Fq%20wdt%3AP361%20%3Frky%20.%20%3Frky%20wdt%3AP4009%20%3Frkyid%20.%20%7D%0A%20%20UNION%0A%20%20%7B%20%3Fq%20wdt%3AP4009%20%3Frkyid%20.%20%7D%20%20%0A%20%20UNION%0A%20%20%7B%20%3Fq%20wdt%3AP4106%20%3Fmjid.%20%7D&item="
	url=url .. params["wd"]
	
	local lat_str=math.floor(params["lat"] *100)*0.01
	local long_str=math.floor(params["long"] *100)*0.01
	
	label = lat_str.. "°N, " .. long_str .. "°E"
	return 	col:wikitext("[" .. url .." " .. label .. "]")
	
end


function wlmrow.render_col2(frame, col, params)
	local rkylink="";
	if (params["rkyid"] ~= "")	then
		rkylink= "RKY [http://www.rky.fi/read/asp/r_kohde_det.aspx?KOHDE_ID=" ..  params["rkyid"] .." " ..  params["rkyid"] .."]"
	end

	local titlesize="1.4em";
	local rkytext="<i>" .. rkylink .."</i>"
	if (params["rky"]~="") then
		titlesize="1.2em";
		rkytext="<i>Osa kohdetta " .. params["rky"] ..", " .. rkylink .." </i>"
	elseif (params["mjid"]~="") then
		rkytext="<i>Muinaismuistorekisteri: [http://www.kyppi.fi/to.aspx?id=112." .. params["mjid"] .. " " .. params["mjid"] .."]</i>"
	elseif (params["luettelotunnus"]~="" and params["luettelo"]=="[[Rakennusperintörekisteri]]") then
		rkytext="<i>Rakennusperintörekisteri: [http://www.kyppi.fi/to.aspx?id=130." 
			.. params["luettelotunnus"] .. " " .. params["luettelotunnus"] .."]</i>"
	end	
	
	local title = mw.html.create( 'div' )  
    title
    	:css("font-size", titlesize)
		:wikitext(params["item"])

	col:css(" vertical-align", "top")
		:node(title)
		:wikitext("<div>" .. rkytext .. "</div>")
			
	if (params["p131"]~="") then
		col:wikitext("<div>" .. params["p131"] .."</div>")
	end

	if (params["p31"]~="") then
		col:wikitext("<div>" .. params["p31"] .."</div>")
	end

	if (params["p84"]~="") then
		col:wikitext("<div>Arkkitehti " .. params["p84"] .."</div>")
	end

	if (params["p170"]~="") then
		col:wikitext("<div>Tekijä " .. params["p170"] .."</div>")
	end

	if (params["p276"]~="") then
		col:wikitext("<div>Sijainti " .. params["p276"] .."</div>")
	end

	if (params["p706"]~="") then
		col:wikitext("<div>Maantieteellisessä kohteessa  " .. params["p706"] .."</div>")
	end

	if (params["p206"]~="") then
		col:wikitext("<div>Vesistön " .. params["p206"] .." äärellä</div>")
	end

	if (params["p795"]~="") then
		col:wikitext("<div>" .. params["p795"] .." varrella</div>")
	end	
	
	if (params["p757"]~="") then
		col:wikitext("<div>Maailmanperintökohde " .. params["p757"] .."</div>")
	end	

	if (params["wd"]~="") then
		col:wikitext("<div>Tarkastele ja muokkaa tietoja Wikidatassa: [[:d:" .. params["wd"] .."|" .. params["wd"] .."]]</div>")
	end	

	local finna_str="";
	local finna_glue="";
	local commons_str="";
	if (params["itemlabel"]~="") then
		local finna_url="https://finna.fi/Search/Results?limit=100&filter%5B%5D=~usage_rights_str_mv%3A%22usage_B%22&filter%5B%5D=~format%3A%220%2FImage%2F%22&type=AllFields&view=grid&lookfor="
		finna_url = finna_url .. mw.uri.encode(params["itemlabel"])
		finna_str="Kuvia uudelleenkuvattavaksi: [" .. finna_url .."  Etsi kuvaa Finnasta]";
		finna_glue=", "
	end
    
    if (params["p373"]~="") then
    	commons_str=finna_glue .. frame:preprocess("[[:c:category:{{#property:p373|from=".. params["wd"].. "}}|Kuvia Commonsissa]]")
    end
    if (finna_str .. commons_str ~="" ) then
    	col:wikitext("<div>" .. finna_str .. commons_str .."</div>")
    end
end

function wlmrow.listeriarow(frame)
    local params={}
	local parent = frame:getParent();    
    local paramlist={"description", "item", "itemlabel", "wd", "mjid", "luettelo", "luettelotunnus","p31", "p131", "p1435", "p1435", "p18", "p373", "p3896", "rky", "rkyid", "p757", "p170", "p276", "p206", "p706", "p795", "p170", "p84", "lat", "long"}
	
-- description = kulttuuriperintökohde, Helsinki
-- item = [[Östersundomin kartano, kappeli ja Björkuddenin huvila]]
-- itemlabel = Östersundomin kartano, kappeli ja Björkuddenin huvila
-- wd = Q30167175
-- p31 = [[kulttuuriperintökohde]]
-- p131 = [[Helsinki]]
-- p1435 = [[valtakunnallisesti merkittävä rakennettu kulttuuriympäristö (Q29966257)|valtakunnallisesti merkittävä rakennettu kulttuuriympäristö]]
-- p18 = 
-- p373 = 
-- p3896 = 
-- rkyid = 1544
-- p757 = 
-- p170 = 
-- p276 = 
-- p206 = 
-- p706 = 
-- p795 = 
-- p170 = 
-- p84 = 

	for n, propertyname in pairs(paramlist) do
		params[propertyname] =  frame.args[propertyname] or parent.args[propertyname] or "";
	end
	local tbl = mw.html.create( 'table' )
	local tr = mw.html.create( 'tr' )
    local col1 = mw.html.create( 'td' )
    local col2 = mw.html.create( 'td' )
    local col3 = mw.html.create( 'td' )
    local col4 = mw.html.create( 'td' )    
	
	
	
	
	if (params["p18"]=="") then 
--		params["p18"]="[[kuva:example.jpg|150px]]" 
	end
--	tbl:
--	row:css("border", "1px solid #aaa");
--	if (params["rky"]) then
--		tbl.css("background-color", "#f8f9fa");
--	end

	tr:css("border", "1px solid #aaa")

	
	col1
		:css("width","150px")
		:css("text-align", "left")
		:css("padding", 0)
		:css("vertical-align", "top")
		:css("background-color", "#f0f0f0")
		:wikitext(params["p18"]) 

    col2:css("padding", "10px 10px 10px 20px");
    wlmrow.render_col2(frame, col2, params)
    wlmrow.render_wikishootmecol(frame, col3, params)
--	col3:wikitext("kartta")


	local button="{{WLM-upload-button"
		.. "|wikidata=" .. params["wd"]
		.. "|lat=" .. params["lat"]
		.. "|long=" .. params["long"]
		.. "|otsikko=Lataa kuva"
		.. "|kampanja=wlm-fi-rephotography-wikidata"
		.. "|kuvaus=" .. params["description"]
		.. "|nimi=" .. params["itemlabel"]
		.. "}}"
		
	col4
		:css("text-align", "center")
		:css("vertical-align", "middle")
		:css("width", "150px")
		:wikitext(frame:preprocess(button))
	
	tr
		:node(col1)
		:node(col2)
		:node(col3)
		:node(col4)
			
	return tostring(tr)

end 
return wlmrow