Module:Room features: Difference between revisions
Make sure empty text shows for pages with results but where none are shown
(Add text and category when there are no features) |
(Make sure empty text shows for pages with results but where none are shown) |
||
Line 3:
function p.main(frame)
local args = frame:getParent().args
return p._main(args[1] or mw.title.getCurrentTitle().fullText, frame)
end
Line 33:
end
function p._main(
local ret = mw.html.create()
local query = mw.smw.ask(base_query(location))
local empty = true
if query ~= nil then
mw.logObject(query)
local results_by_type = {}
for i,v in pairs(infobox_cat_map) do
results_by_type[v] = {}
end
-- FIXME: Variant category pages (like [[Sparring Guard]]) do not
-- have an infobox so are not shown
for i,v in ipairs(query) do
local key = infobox_cat_map[v.infobox_sub or v.infobox]
Line 53 ⟶ 56:
for cat,results in pairs(results_by_type) do
if #results > 0 then
empty = false
ret
:tag('h3'):wikitext(header_text_override[cat] or cat):done()
Line 76 ⟶ 80:
end
end
end
if empty then
ret:tag('dd')
:wikitext("''No room features found" .. require('Module:Purge')._purge{ anchor = 'roomfeatures_purge', text = '(refresh)', tag = 'sup' } .. "''[[Category:Empty room features]]
:done()
end
|