Module:Sanctions/AlertHelper: Difference between revisions
Appearance
Content deleted Content added
another way |
sb |
||
Line 1: | Line 1: | ||
local p = {} |
local p = {} |
||
local getArgs = require('Module:Arguments').getArgs |
local getArgs = require('Module:Arguments').getArgs |
||
local checkIfValidTopic = require('Module:Sanctions').checkIfValidTopic |
local checkIfValidTopic = require('Module:Sanctions/sandbox').checkIfValidTopic |
||
local function tableContains(needle, haystack) |
local function tableContains(needle, haystack) |
Revision as of 03:48, 21 December 2021
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}}
</div>]]
end
function p.build(frame, args)
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