Anonymous user
Module:Shortcut: Difference between revisions
From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
move messages to the config module and make categories optional
(output an error message if there is nothing to display) |
(move messages to the config module and make categories optional) |
||
Line 5:
-- Load required modules
local yesno = require('Module:Yesno')▼
local checkType = require('libraryUtil').checkType
▲local yesno = require('Module:Yesno')
local p = {}
local function message(msg, ...)
return mw.message.newRawMessage(msg, ...):plain()
end
local function makeCategoryLink(cat)
end
function p._main(shortcuts, options, frame, cfg)
Line 16 ⟶ 24:
frame = frame or mw.getCurrentFrame()
cfg = cfg or mw.loadData(CONFIG_MODULE)
local isCategorized = yesno(options.category) ~= false
-- Validate shortcuts
for i, shortcut in ipairs(shortcuts) do
if type(shortcut) ~= 'string' or #shortcut < 1 then
error(message(cfg['invalid-shortcut-error'], i), 2)
end
end
Line 37 ⟶ 43:
-- Return an error if we have nothing to display
if #listItems < 1 then
local msg = cfg['no-content-error']
msg = string.format('<strong class="error">%s</strong>', msg)
if isCategorized and cfg['no-content-error-category'] then
msg = msg .. makeCategoryLink(cfg['no-content-error-category'])
end
return msg
end
Line 61 ⟶ 70:
local nShortcuts = #shortcuts
if nShortcuts > 0 then
shortcutHeading =
shortcutHeading = frame:preprocess(shortcutHeading)
shortcutHeading = shortcutHeading .. '\n'
Line 92 ⟶ 98:
end
--
if isCategorized
and shortcuts[1]
then
local title = mw.title.new(shortcuts[1])
if not title or not title.exists then
root:wikitext(
▲ mw.site.namespaces[14].name,
▲ cfg['first-parameter-error-category']
end
end
|