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(argslocation, frame)
local frame = frame or mw.getCurrentFrame()
local ret = mw.html.create()
local location = args[1] or mw.title.getCurrentTitle().fullText
 
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
else
 
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]] ")
:wikitext(require('Module:Purge')._purge{ anchor = 'roomfeatures_purge', text = '(refresh)' })
:done()
end
1,525

edits