Content added Content deleted
thegreatwar>Borderman m (1 revision imported) |
(add class using template name, code requested by User:SD0001) |
||
Line 5: | Line 5: | ||
require('Module:No globals') |
require('Module:No globals') |
||
local getArgs |
local getArgs |
||
⚫ | |||
local yesno = require('Module:Yesno') |
local yesno = require('Module:Yesno') |
||
Line 109: | Line 108: | ||
obj.categories = {} |
obj.categories = {} |
||
obj.classes = {} |
obj.classes = {} |
||
-- For lazy loading of [[Module:Category handler]]. |
|||
obj.hasCategories = false |
|||
return setmetatable(obj, MessageBox) |
return setmetatable(obj, MessageBox) |
||
Line 122: | Line 123: | ||
cat = string.format('[[Category:%s]]', cat) |
cat = string.format('[[Category:%s]]', cat) |
||
end |
end |
||
self.hasCategories = true |
|||
self.categories[ns] = self.categories[ns] or {} |
self.categories[ns] = self.categories[ns] or {} |
||
table.insert(self.categories[ns], cat) |
table.insert(self.categories[ns], cat) |
||
Line 158: | Line 160: | ||
-- Add attributes, classes and styles. |
-- Add attributes, classes and styles. |
||
self.id = args.id |
self.id = args.id |
||
⚫ | |||
if self.name then |
|||
self:addClass('box-' .. string.gsub(self.name,' ','_')) |
|||
end |
|||
if yesno(args.plainlinks) ~= false then |
if yesno(args.plainlinks) ~= false then |
||
self:addClass('plainlinks') |
self:addClass('plainlinks') |
||
Line 183: | Line 189: | ||
and cfg.templateCategoryRequireName |
and cfg.templateCategoryRequireName |
||
then |
then |
||
⚫ | |||
if self.name then |
if self.name then |
||
local templateName = mw.ustring.match( |
local templateName = mw.ustring.match( |
||
Line 195: | Line 200: | ||
and mw.title.equals(self.title, self.templateTitle) |
and mw.title.equals(self.title, self.templateTitle) |
||
end |
end |
||
-- Process data for collapsible text fields. At the moment these are only |
-- Process data for collapsible text fields. At the moment these are only |
||
-- used in {{ambox}}. |
-- used in {{ambox}}. |
||
Line 278: | Line 283: | ||
end |
end |
||
if date then |
if date then |
||
self.date = string.format(" <small>''(%s)''</small>", date) |
self.date = string.format(" <small class='date-container'>''(<span class='date'>%s</span>)''</small>", date) |
||
end |
end |
||
self.info = args.info |
self.info = args.info |
||
Line 429: | Line 434: | ||
function MessageBox:renderCategories() |
function MessageBox:renderCategories() |
||
if not self.hasCategories then |
|||
-- No categories added, no need to pass them to Category handler so, |
|||
-- if it was invoked, it would return the empty string. |
|||
-- So we shortcut and return the empty string. |
|||
return "" |
|||
end |
|||
-- Convert category tables to strings and pass them through |
-- Convert category tables to strings and pass them through |
||
-- [[Module:Category handler]]. |
-- [[Module:Category handler]]. |
||
⚫ | |||
return categoryHandler{ |
|||
main = table.concat(self.categories[0] or {}), |
main = table.concat(self.categories[0] or {}), |
||
template = table.concat(self.categories[10] or {}), |
template = table.concat(self.categories[10] or {}), |