Changes
Jump to navigation
Jump to search
Line 1:
Line 1:
− -- This module implements the {{Uses TemplateStyles}} template.
Line 16:
Line 15:
− +
− +
− local args = {}+
− for k, v in pairs(origArgs) do+
− v = v:match('^%s*(.-)%s*$') +
− if v ~= '' then +
− args[k] = v
− end
− end
− return p._main(args)
− end
−
− function p._main(args, cfg)
− local tStyles = mTableTools.compressSparseArray(args)
− local box = p.renderBox(tStyles)
− local trackingCategories = p.renderTrackingCategories(args, tStyles)
− return box .. trackingCategories
− end
−
− function p.renderBox(tStyles)
− local boxArgs = {}
Line 60:
Line 44:
− boxArgs.type = 'notice'
− boxArgs.small = true
− boxArgs.image = string.format('[[File:Farm-Fresh css add.svg|32px|alt=%s]]', format('logo-alt'))
− +
Line 96:
Line 77:
− if cfg['protection_conflict_category'] and tsProt ~= currentProt and not addedLevelCat then
− addedLevelCat = true
− cats[#cats + 1] = cfg['protection_conflict_category']
− end
Line 105:
Line 82:
+
+
+
+
+
+
+
+
Line 114:
Line 99:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Matching reality rather than 2018 me's wishful thinking
local yesno = require('Module:Yesno')
local yesno = require('Module:Yesno')
local mList = require('Module:List')
local mList = require('Module:List')
end
end
function p.main(frame)
local function renderBox(tStyles)
local origArgs = frame:getParent().args
local boxArgs = {
type = 'notice',
small = true,
image = string.format('[[File:Farm-Fresh css add.svg|32px|alt=%s]]', format('logo-alt'))
}
if #tStyles < 1 then
if #tStyles < 1 then
boxArgs.text = string.format('<strong class="error">%s</strong>', format('error-emptylist'))
boxArgs.text = string.format('<strong class="error">%s</strong>', format('error-emptylist'))
'\n' .. tStylesList
'\n' .. tStylesList
end
end
return mMessageBox.main('mbox', boxArgs)
return mMessageBox.main('mbox', boxArgs)
end
end
function p.renderTrackingCategories(args, tStyles, titleObj)
local function renderTrackingCategories(args, tStyles, titleObj)
if yesno(args.nocat) then
if yesno(args.nocat) then
return ''
return ''
local tsTitleObj = mw.title.new(ts)
local tsTitleObj = mw.title.new(ts)
local tsProt = tsTitleObj.protectionLevels["edit"] and tsTitleObj.protectionLevels["edit"][1] or nil
local tsProt = tsTitleObj.protectionLevels["edit"] and tsTitleObj.protectionLevels["edit"][1] or nil
if cfg['padlock_pattern'] and tsProt and not addedPadlockCat then
if cfg['padlock_pattern'] and tsProt and not addedPadlockCat then
local content = tsTitleObj:getContent()
local content = tsTitleObj:getContent()
cats[#cats + 1] = cfg['missing_padlock_category']
cats[#cats + 1] = cfg['missing_padlock_category']
addedPadlockCat = true
addedPadlockCat = true
end
end
if cfg['protection_conflict_category'] and currentProt and tsProt ~= currentProt and not addedLevelCat then
currentProt = cfg['protection_hierarchy'][currentProt] or 0
tsProt = cfg['protection_hierarchy'][tsProt] or 0
if tsProt < currentProt then
addedLevelCat = true
cats[#cats + 1] = cfg['protection_conflict_category']
end
end
end
end
end
end
return table.concat(cats)
return table.concat(cats)
end
function p._main(args, cfg)
local tStyles = mTableTools.compressSparseArray(args)
local box = renderBox(tStyles)
local trackingCategories = renderTrackingCategories(args, tStyles)
return box .. trackingCategories
end
function p.main(frame)
local origArgs = frame:getParent().args
local args = {}
for k, v in pairs(origArgs) do
v = v:match('^%s*(.-)%s*$')
if v ~= '' then
args[k] = v
end
end
return p._main(args)
end
end
return p
return p