Module:Sanctions/AlertHelper: Difference between revisions
Appearance
Content deleted Content added
local |
subst |
||
Line 15: | Line 15: | ||
return [[<span class="error">{{para|topic}} not specified. Available options:</span><div style="border-left: 5px dashed black; border-right: 5px dashed black; border-bottom: 5px dashed black; padding-left: 0.5em; padding-right: 0.5em; padding-bottom: 0.5em;"> |
return [[<span class="error">{{para|topic}} not specified. Available options:</span><div style="border-left: 5px dashed black; border-right: 5px dashed black; border-bottom: 5px dashed black; padding-left: 0.5em; padding-right: 0.5em; padding-bottom: 0.5em;"> |
||
{{Ds/topics/table}} |
{{Ds/topics/table}} |
||
{{Gs/topics/table}} |
{{Gs/topics/table|subst=y}} |
||
</div>]] |
</div>]] |
||
end |
end |
Revision as of 12:47, 12 February 2022
local p = {}
local getArgs = require('Module:Arguments').getArgs
local checkIfValidTopic = require('Module:Sanctions/sandbox').checkIfValidTopic
local function tableContains(needle, haystack)
for _, v in pairs(haystack) do
if v == needle then
return true
end
end
return false
end
local function syntaxHelp()
return [[<span class="error">{{para|topic}} not specified. Available options:</span><div style="border-left: 5px dashed black; border-right: 5px dashed black; border-bottom: 5px dashed black; padding-left: 0.5em; padding-right: 0.5em; padding-bottom: 0.5em;">
{{Ds/topics/table}}
{{Gs/topics/table|subst=y}}
</div>]]
end
function p.build(frame, args)
local topic = args[1] or args['topic']
if not topic then
return frame:preprocess(syntaxHelp())
end
if checkIfValidTopic(topic) then
return frame:expandTemplate {
title = 'Gs/alert/sandbox',
args = { topic }
}
else
-- return to ds template, let it error if not recognised
return frame:expandTemplate {
title = 'Ds/alert/sandbox',
args = { topic }
}
end
end
function p.main(frame)
local args = getArgs(frame, {
wrappers = {
'Template:Alert',
'Template:Alert/sandbox'
}
})
return p.build(frame, args)
end
return p