| Line 1: |
Line 1: |
| − | -- This module implements the {{Uses TemplateStyles}} template.
| |
| | local yesno = require('Module:Yesno') | | local yesno = require('Module:Yesno') |
| | local mList = require('Module:List') | | local mList = require('Module:List') |
| Line 16: |
Line 15: |
| | end | | end |
| | | | |
| − | function p.main(frame) | + | local function renderBox(tStyles) |
| − | local origArgs = frame:getParent().args | + | local boxArgs = { |
| − | local args = {}
| + | type = 'notice', |
| − | for k, v in pairs(origArgs) do
| + | small = true, |
| − | v = v:match('^%s*(.-)%s*$') | + | image = string.format('[[File:Farm-Fresh css add.svg|32px|alt=%s]]', format('logo-alt')) |
| − | 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 = {} | |
| | 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')) |
| Line 60: |
Line 44: |
| | '\n' .. tStylesList | | '\n' .. tStylesList |
| | end | | end |
| − | boxArgs.type = 'notice'
| |
| − | boxArgs.small = true
| |
| − | boxArgs.image = string.format('[[File:Farm-Fresh css add.svg|32px|alt=%s]]', format('logo-alt'))
| |
| | 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 '' |
| Line 96: |
Line 77: |
| | 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['protection_conflict_category'] and tsProt ~= currentProt and not addedLevelCat then
| |
| − | addedLevelCat = true
| |
| − | cats[#cats + 1] = cfg['protection_conflict_category']
| |
| − | end
| |
| | 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() |
| Line 105: |
Line 82: |
| | 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 |
| Line 114: |
Line 99: |
| | 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 |