Module:Message box: Difference between revisions
Mediawiki>Mainframe98 |
Richardpruen (talk | contribs) m 1 revision imported |
||
Line 13: | Line 13: | ||
local CONFIG_MODULE = 'Module:Message box/configuration' | local CONFIG_MODULE = 'Module:Message box/configuration' | ||
local DEMOSPACES = {talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'} | local DEMOSPACES = {talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'} | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
Line 67: | Line 66: | ||
args = args or {} | args = args or {} | ||
local obj = {} | local obj = {} | ||
-- Set the title object and the namespace. | -- Set the title object and the namespace. | ||
Line 84: | Line 81: | ||
-- use template from DEMOSPACES | -- use template from DEMOSPACES | ||
obj.cfg = cfg[DEMOSPACES[demospace]] | obj.cfg = cfg[DEMOSPACES[demospace]] | ||
elseif string.find( demospace, 'talk' ) then | elseif string.find( demospace, 'talk' ) then | ||
-- demo as a talk page | -- demo as a talk page | ||
obj.cfg = cfg.tmbox | obj.cfg = cfg.tmbox | ||
else | else | ||
-- default to ombox | -- default to ombox | ||
obj.cfg = cfg.ombox | obj.cfg = cfg.ombox | ||
end | end | ||
elseif ns == 0 then | elseif ns == 0 then | ||
obj.cfg = cfg.ambox -- main namespace | obj.cfg = cfg.ambox -- main namespace | ||
elseif ns == 6 then | elseif ns == 6 then | ||
obj.cfg = cfg.imbox -- file namespace | obj.cfg = cfg.imbox -- file namespace | ||
elseif ns == 14 then | elseif ns == 14 then | ||
obj.cfg = cfg.cmbox -- category namespace | obj.cfg = cfg.cmbox -- category namespace | ||
else | else | ||
local nsTable = mw.site.namespaces[ns] | local nsTable = mw.site.namespaces[ns] | ||
if nsTable and nsTable.isTalk then | if nsTable and nsTable.isTalk then | ||
obj.cfg = cfg.tmbox -- any talk namespace | obj.cfg = cfg.tmbox -- any talk namespace | ||
else | else | ||
obj.cfg = cfg.ombox -- other namespaces or invalid input | obj.cfg = cfg.ombox -- other namespaces or invalid input | ||
end | end | ||
end | end | ||
Line 201: | Line 190: | ||
self:addClass(args.class) | self:addClass(args.class) | ||
self.style = args.style | self.style = args.style | ||
self.lang = args.lang | |||
self.dir = args.dir or (args.lang and 'auto' or nil) | |||
self.attrs = args.attrs | self.attrs = args.attrs | ||
Line 488: | Line 479: | ||
)) | )) | ||
end | end | ||
-- Create the box table. | -- Create the box table. | ||
local | local boxTable = root:tag('table') | ||
boxTable:attr('id', self.id or nil) | boxTable:attr('id', self.id or nil) | ||
for i, class in ipairs(self.classes or {}) do | for i, class in ipairs(self.classes or {}) do | ||
Line 516: | Line 490: | ||
:attr('role', 'presentation') | :attr('role', 'presentation') | ||
if self.lang then | |||
boxTable:attr('lang', self.lang) | |||
end | |||
if self.dir then | |||
boxTable:attr('dir', self.dir) | |||
end | |||
if self.attrs then | if self.attrs then | ||
boxTable:attr(self.attrs) | boxTable:attr(self.attrs) |