Modul:ShowItem
Izvor: abcDNK
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
if frame.args.part == "first" then
ret = ret .. '<div class="row archive-item archive-item-first-part">'
else
ret = ret .. '<div class="row archive-item">'
end
entity = mw.wikibase.getEntity(entity_id)
args_catetory = nil
if entity ~= nil and entity["claims"] ~= nil and entity["claims"]["P1"] ~= nil and 1 == 1 then
args_catetory = entity["claims"]["P1"][1]["mainsnak"]["datavalue"]["value"]["id"]
end
if frame.args.part == "first" then
ret = ret .. '<div class="col-12">'
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> / '
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> / '
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> / '
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> / '
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> / '
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> / '
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> / '
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> / '
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> / '
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> / '
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> / '
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> / '
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> / '
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>'
end
if frame.args.part == "first" then
ret = ret .. '<div class="offset-sm-1 col-sm-10" style="padding-top: 29px;">'
else
ret = ret .. '<div class="offset-sm-1 col-sm-10">'
end
if frame.args.part == "first" then
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>'
end
--[[
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 = {}
if frame.args.part == "first" then
if args_catetory == 'Q10990' then
properties = {"P36", "P16", "P81", "P83", "P21"}
else
properties = {"P40", "P79", "P1", "P36", "P26", "P16", "P78", "P24", "P4", "P74", "P25", "P27", "P6", "P13", "P32", "P11", "P7", "P35", "P76", "P75"}
end
end
if frame.args.part == "second" then
if args_catetory == 'Q10990' then
properties = {"P43", "P79", "P35", "P86", "P1", "P40", "P26", "P78", "P24", "P4", "P74", "P25", "P27", "P6", "P13", "P32", "P11", "P7", "P76", "P75"}
else
properties = {}
end
end
for _, property in pairs(properties) do
if entity ~= nil and 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
if frame.args.part == "second" then
if args_catetory == 'Q10990' then
properties = {"P36", "P16", "P81", "P83", "P21", "P43", "P79", "P35", "P86", "P1", "P40", "P26", "P78", "P24", "P4", "P74", "P25", "P27", "P6", "P13", "P32", "P11", "P7", "P76", "P75"}
else
properties = {"P40", "P79", "P1", "P36", "P26", "P16", "P78", "P24", "P4", "P74", "P25", "P27", "P6", "P13", "P32", "P11", "P7", "P35", "P76", "P75"}
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 ~= nil and 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
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