Modul:ShowItem

Izvor: abcDNK
Inačica 62589 od 30. siječnja 2024. u 16:18 koju je unio Admin (razgovor | doprinosi)
Skoči na:orijentacija, traži

Documentation for this module may be created at Modul:ShowItem/doc

local p = {} --p stands for package

function p.show(frame)
	ret = ""
	--ret = '<div style="display: none;">[[File:AbcDNKhr_large_centar_photo.jpg]]</div>'
	entity_id = nil
	if frame.args.title ~= nil and frame.args.title ~= "" then
		entity_id = mw.wikibase.getEntityIdForTitle(frame.args.title)
	elseif frame.args.id ~= nil and frame.args.id ~= "" then
		entity_id = frame.args.id
	end
	if entity_id ~= nil and mw.wikibase.isValidEntityId(entity_id) and mw.wikibase.entityExists(entity_id) then
		ret = ret .. '<div class="row archive-item">'
		entity = mw.wikibase.getEntity(entity_id)
		
		
		args_catetory = nil
		
		ret = ret .. '<div class="col-12">'
		if entity["claims"]["P1"] ~= nil and 1 == 1 then
			args_catetory = entity["claims"]["P1"][1]["mainsnak"]["datavalue"]["value"]["id"]
		end

		ret = ret .. '<div class="row align-items-center archive-filter-first-row" style="justify-content: space-between;">'
	
		active = ""
		if args_catetory == 'Q83' or args_catetory == 'Q94' or args_catetory == 'Q1332' or args_catetory == 'Q172' or args_catetory == 'Q2140' or args_catetory == 'Q235' or args_catetory == 'Q5918' or args_catetory == 'Q225' or args_catetory == 'Q2357' or args_catetory == 'Q1905' or args_catetory == 'Q82' or args_catetory == 'Q1894' or args_catetory == 'Q2008' or args_catetory == 'Q206' then
			active = ' active'
		end
		ret = ret .. '<div class="col text-center' .. active .. '" style="flex-grow: unset; white-space: nowrap;">'
		ret = ret .. '[' .. frame.args.page_url .. '?category=Q83' .. ' ' .. 'PUBLIKACIJE' .. ']'
		ret = ret .. '</div>'
		
		active = ""
		if args_catetory == 'Q2996' then
			active = ' active'
		end
		ret = ret .. '<div class="col text-center' .. active .. '" style="flex-grow: unset; white-space: nowrap;">'
		ret = ret .. '[' .. frame.args.page_url .. '?category=Q2996' .. ' ' .. 'SITNI TISAK' .. ']'
		ret = ret .. '</div>'
		
		active = ""
		if args_catetory == 'Q144' or args_catetory == 'Q143' or args_catetory == 'Q2472' then
			active = ' active'
		end
		ret = ret .. '<div class="col text-center' .. active .. '" style="flex-grow: unset; white-space: nowrap;">'
		ret = ret .. '[' .. frame.args.page_url .. '?category=Q144' .. ' ' .. 'AUDIO VIDEO' .. ']'
		ret = ret .. '</div>'
		
		active = ""
		if args_catetory == 'Q85' then
			active = ' active'
		end
		ret = ret .. '<div class="col text-center' .. active .. '" style="flex-grow: unset; white-space: nowrap;">'
		ret = ret .. '[' .. frame.args.page_url .. '?category=Q85' .. ' ' .. 'PLAKATI' .. ']'
		ret = ret .. '</div>'
		
		active = ""
		if args_catetory == 'Q10990' then
			active = ' active'
		end
		ret = ret .. '<div class="col text-center' .. active .. '" style="flex-grow: unset; white-space: nowrap;">'
		ret = ret .. '[' .. frame.args.page_url .. '?category=Q10990' .. ' ' .. 'USMENA POVIJEST' .. ']'
		ret = ret .. '</div>'
		
		active = ""
		if args_catetory == 'Q1000000' then
			active = ' active'
		end
		--ret = ret .. '<div class="col text-center' .. active .. '" style="flex-grow: unset; white-space: nowrap;">'
		--ret = ret .. '[' .. frame.args.page_url .. '?category=Q1000000' .. ' ' .. 'HEMEROTEKE' .. ']'
		--ret = ret .. '</div>'
		
		ret = ret .. '</div>'
		
		if args_catetory == 'Q83' or args_catetory == 'Q94' or args_catetory == 'Q1332' or args_catetory == 'Q172' or args_catetory == 'Q2140' or args_catetory == 'Q235' or args_catetory == 'Q5918' or args_catetory == 'Q225' or args_catetory == 'Q2357' or args_catetory == 'Q1905' or args_catetory == 'Q82' or args_catetory == 'Q1894' or args_catetory == 'Q2008' or args_catetory == 'Q206' then
			ret = ret .. '<div class="row align-items-center archive-filter-second-row">'
			ret = ret .. '<div class="col-12">'
			
			active = ""
			if args_catetory == 'Q94' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q94' .. ' ' .. 'ČASOPISI' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q1332' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q1332' .. ' ' .. 'KNJIGE' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q172' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q172' .. ' ' .. 'KATALOZI' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q2140' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q2140' .. ' ' .. 'ISTRAŽIVANJA' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q235' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q235' .. ' ' .. 'OSTALE PUBLIKACIJE' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q5918' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q5918' .. ' ' .. 'NOVINE' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q225' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q225' .. ' ' .. 'ORGANIZACIJSKE PUBLIKACIJE' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q2357' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q2357' .. ' ' .. 'STRIPOVI' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q1905' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q1905' .. ' ' .. 'ZBORNICI TEKSTOVA' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q82' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q82' .. ' ' .. 'FANZINI' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q1894' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q1894' .. ' ' .. 'PRIRUČNICI' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q2008' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q2008' .. ' ' .. 'NEWSLETTERI' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q206' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q206' .. ' ' .. 'PROJEKTNE PUBLIKACIJE' .. ']'
			ret = ret .. '</span>'
			
			ret = ret .. '</div>'
			ret = ret .. '</div>'
		end
		
		if args_catetory == 'Q144' or args_catetory == 'Q143' or args_catetory == 'Q2472' then
			ret = ret .. '<div class="row align-items-center archive-filter-second-row">'
			ret = ret .. '<div class="col-12">'
			
			active = ""
			if args_catetory == 'Q143' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q143' .. ' ' .. 'RADIJSKE EMISIJE' .. ']'
			ret = ret .. '</span>&nbsp;&nbsp;/&nbsp;&nbsp;'
			
			active = ""
			if args_catetory == 'Q2472' then
				active = ' active'
			end
			ret = ret .. '<span class="' .. active .. '" style="white-space: nowrap;">'
			ret = ret .. '[' .. frame.args.page_url .. '?category=Q2472' .. ' ' .. 'AUDIO' .. ']'
			ret = ret .. '</span>'
			
			ret = ret .. '</div>'
			ret = ret .. '</div>'
		end
		ret = ret .. '</div>'
		
		
		
		
		
		ret = ret .. '<div class="offset-sm-1 col-sm-10" style="padding-top: 29px;">'
		label = entity:getLabel()
		ret = ret .. '<div class="title">'
		if label ~= nil then
			ret = ret .. label .. " (" .. entity_id .. ")"
		end
		description = entity:getDescription()
		if description ~= nil then
			ret = ret .. "<br>" .. description
		end
		ret = ret .. '</div>'
		
		--[[
		ret = ret .. '<div class="row row-property">'
		
		ret = ret .. '<div class="col-3">'
		ret = ret .. '<div class="highlight-property">'
		ret = ret .. '<div class="property-name pt-4 pb-4 pl-4 pr-4">'
		ret = ret .. 'Jezik'
		ret = ret .. '</div>'
		ret = ret .. '<div class="property-value pt-4 pb-4 pl-4 pr-4">'
		ret = ret .. 'hrvatski'
		ret = ret .. '</div>'
		ret = ret .. '</div>'
		ret = ret .. '</div>'
		
		ret = ret .. '<div class="col-3">'
		ret = ret .. '<div class="highlight-property">'
		ret = ret .. '<div class="property-name pt-4 pb-4 pl-4 pr-4">'
		ret = ret .. 'Jezik'
		ret = ret .. '</div>'
		ret = ret .. '<div class="property-value pt-4 pb-4 pl-4 pr-4">'
		ret = ret .. 'hrvatski'
		ret = ret .. '</div>'
		ret = ret .. '</div>'
		ret = ret .. '</div>'
		
		ret = ret .. '<div class="col-3">'
		ret = ret .. '<div class="highlight-property">'
		ret = ret .. '<div class="property-name pt-4 pb-4 pl-4 pr-4">'
		ret = ret .. 'Jezik'
		ret = ret .. '</div>'
		ret = ret .. '<div class="property-value pt-4 pb-4 pl-4 pr-4">'
		ret = ret .. 'hrvatski'
		ret = ret .. '</div>'
		ret = ret .. '</div>'
		ret = ret .. '</div>'
		
		ret = ret .. '<div class="col-3">'
		ret = ret .. '<div class="highlight-property">'
		ret = ret .. '<div class="property-name pt-4 pb-4 pl-4 pr-4">'
		ret = ret .. 'Jezik'
		ret = ret .. '</div>'
		ret = ret .. '<div class="property-value pt-4 pb-4 pl-4 pr-4">'
		ret = ret .. 'hrvatski'
		ret = ret .. '</div>'
		ret = ret .. '</div>'
		ret = ret .. '</div>'
		
		ret = ret .. '</div>'
		
		ret = ret .. '<div class="subtitle mt-4">IZVADCI</div>'
		--]]
		
		--properties = entity:getProperties()
		properties = {"P40", "P79", "P1", "P36", "P26", "P16", "P78", "P24", "P4", "P74", "P25", "P27", "P6", "P13", "P32", "P11", "P7", "P35", "P76", "P75"}
		for _, property in pairs(properties) do
			if entity["claims"] ~= nil and entity["claims"][property] ~= nil then
				ret = ret .. '<div class="row row-property">'
				ret = ret .. '<div class="property">'
				
				wikibase_item = false;
				label = ""
				value = ""
				for _, prop_value in pairs(entity["claims"][property]) do
					if prop_value["mainsnak"] ~= nil then
						if prop_value["mainsnak"]["datatype"] == "wikibase-item" then
							if wikibase_item == false then
								wikibase_item = true
							else
								--value = value .. "<br>"
							end
							if label == "" then
								label = mw.wikibase.getLabel(property)
							end
							tmp_value = mw.wikibase.getLabel(prop_value["mainsnak"]["datavalue"]["value"]["id"])
							if tmp_value ~= nil then
								--value = value .. "<span>[[/Arhiv:Item?id=" .. prop_value["mainsnak"]["datavalue"]["value"]["id"] .. " " .. tmp_value .. "]]</span>"
								value = value .. '<span class="property-value-item">[https://abcdnk.hr/Arhiv/' .. prop_value["mainsnak"]["datavalue"]["value"]["id"] .. ' ' .. tmp_value .. ']</span>'
							end
						else
							break
						end
					end
				end
				if wikibase_item == false then
					fs = entity:formatStatements(property)
					label = fs['label']
					value = fs['value']
				end
				
				ret = ret .. '<div class="col-sm-3 property-name pt-4 pb-4 pl-4 pr-4">'
				--ret = ret .. mw.wikibase.getLabel(property) .. ": "
				--fs = entity:formatStatements(property)
				--ret = ret .. fs['label']
				ret = ret .. label
				ret = ret .. '</div>'
				ret = ret .. '<div class="col-sm-9 property-value pt-4 pb-4 pl-4 pr-4">'
				--ret = ret .. fs['value']
				--ret = ret .. string.gsub(fs['value'], "</span>, <span>", "</span><br> <span>")
				ret = ret .. value
				ret = ret .. '</div>'
				ret = ret .. '</div>'
				ret = ret .. '</div>'
			end
		end
		
		properties2 = entity:getProperties()
		for _, property in pairs(properties2) do
			found = false
			for _, property2 in pairs(properties) do
				if property == property2 then
					found = true
					break
				end
			end
			if found == false then
				if entity["claims"] ~= nil and entity["claims"][property] ~= nil then
					ret = ret .. '<div class="row row-property">'
					ret = ret .. '<div class="property">'
					
					wikibase_item = false;
					label = ""
					value = ""
					for _, prop_value in pairs(entity["claims"][property]) do
						if prop_value["mainsnak"] ~= nil then
							if prop_value["mainsnak"]["datatype"] == "wikibase-item" then
								if wikibase_item == false then
									wikibase_item = true
								else
									--value = value .. "<br>"
								end
								if label == "" then
									label = mw.wikibase.getLabel(property)
								end
								tmp_value = mw.wikibase.getLabel(prop_value["mainsnak"]["datavalue"]["value"]["id"])
								if tmp_value ~= nil then
									--value = value .. "<span>[[/Arhiv:Item?id=" .. prop_value["mainsnak"]["datavalue"]["value"]["id"] .. " " .. tmp_value .. "]]</span>"
									value = value .. '<span class="property-value-item">[https://abcdnk.hr/Arhiv/' .. prop_value["mainsnak"]["datavalue"]["value"]["id"] .. ' ' .. tmp_value .. ']</span>'
								end
							else
								break
							end
						end
					end
					if wikibase_item == false then
						fs = entity:formatStatements(property)
						label = fs['label']
						value = fs['value']
					end
					
					ret = ret .. '<div class="col-sm-3 property-name pt-4 pb-4 pl-4 pr-4">'
					--ret = ret .. mw.wikibase.getLabel(property) .. ": "
					--fs = entity:formatStatements(property)
					--ret = ret .. fs['label']
					ret = ret .. label
					ret = ret .. '</div>'
					ret = ret .. '<div class="col-sm-9 property-value pt-4 pb-4 pl-4 pr-4">'
					--ret = ret .. fs['value']
					--ret = ret .. string.gsub(fs['value'], "</span>, <span>", "</span><br> <span>")
					ret = ret .. value
					ret = ret .. '</div>'
					ret = ret .. '</div>'
					ret = ret .. '</div>'
				end
			end
		end
		ret = ret .. '</div>'
		ret = ret .. '</div>'
		ret = ret .. '<div class="row justify-content-center imgc-fluid" style="margin-top: 60px;">https://abcdnk.hr/images/4/46/Odr%C5%BEan_otvoreni_razgovor_o_sada%C5%A1njosti_i_budu%C4%87nosti_dubrova%C4%8Dke_nezavisne_kulturne_scene_1.png<div>'
	end
	return ret
end

return p