Module:Message box: Difference between revisions
Richard470l (talk | contribs) m 1 revision imported: infoboxes |
en>Izno div structure behind flag |
||
Line 188: | Line 188: | ||
-- Set text style. | -- Set text style. | ||
self.textstyle = args.textstyle | self.textstyle = args.textstyle | ||
-- Set image classes. | -- Set image classes. | ||
self.imageRightClass = args.imagerightclass or args.imageclass | self.imageRightClass = args.imagerightclass or args.imageclass | ||
Line 468: | Line 468: | ||
page = self.args.page | page = self.args.page | ||
} | } | ||
end | |||
function MessageBox:exportDiv() | |||
local root = mw.html.create() | |||
-- Add the subst check error. | |||
if self.isSubstituted and self.name then | |||
root:tag('b') | |||
:addClass('error') | |||
:wikitext(string.format( | |||
'Template <code>%s[[Template:%s|%s]]%s</code> has been incorrectly substituted.', | |||
mw.text.nowiki('{{'), self.name, self.name, mw.text.nowiki('}}') | |||
)) | |||
end | |||
local frame = mw.getCurrentFrame() | |||
root:wikitext(frame:extensionTag{ | |||
name = 'templatestyles', | |||
args = { src = self.base_templatestyles }, | |||
}) | |||
-- Add support for a single custom templatestyles sheet. Undocumented as | |||
-- need should be limited and many templates using mbox are substed; we | |||
-- don't want to spread templatestyles sheets around to arbitrary places | |||
if self.templatestyles then | |||
root:wikitext(frame:extensionTag{ | |||
name = 'templatestyles', | |||
args = { src = self.templatestyles }, | |||
}) | |||
end | |||
-- Create the box. | |||
local mbox = root:tag('div') | |||
mbox:attr('id', self.id or nil) | |||
for i, class in ipairs(self.classes or {}) do | |||
mbox:addClass(class or nil) | |||
end | |||
mbox | |||
:cssText(self.style or nil) | |||
if self.attrs then | |||
mbox:attr(self.attrs) | |||
end | |||
-- Add the left-hand image. | |||
if self.imageLeft then | |||
local imageLeftCell = mbox:tag('div'):addClass('mbox-image') | |||
imageLeftCell | |||
:addClass(self.imageLeftClass) | |||
:wikitext(self.imageLeft or nil) | |||
end | |||
-- Add the text. | |||
local textCell = mbox:tag('div'):addClass('mbox-text') | |||
if self.useCollapsibleTextFields then | |||
-- The message box uses advanced text parameters that allow things to be | |||
-- collapsible. At the moment, only ambox uses this. | |||
textCell:cssText(self.textstyle or nil) | |||
local textCellDiv = textCell:tag('div') | |||
textCellDiv | |||
:addClass('mbox-text-span') | |||
:wikitext(self.issue or nil) | |||
if (self.talk or self.fix) then | |||
textCellDiv:tag('span') | |||
:addClass('hide-when-compact') | |||
:wikitext(self.talk and (' ' .. self.talk) or nil) | |||
:wikitext(self.fix and (' ' .. self.fix) or nil) | |||
end | |||
textCellDiv:wikitext(self.date and (' ' .. self.date) or nil) | |||
if self.info and not self.isSmall then | |||
textCellDiv | |||
:tag('span') | |||
:addClass('hide-when-compact') | |||
:wikitext(self.info and (' ' .. self.info) or nil) | |||
end | |||
if self.removalNotice then | |||
textCellDiv:tag('span') | |||
:addClass('hide-when-compact') | |||
:tag('i') | |||
:wikitext(string.format(" (%s)", self.removalNotice)) | |||
end | |||
else | |||
-- Default text formatting - anything goes. | |||
textCell | |||
:cssText(self.textstyle or nil) | |||
:wikitext(self.text or nil) | |||
end | |||
-- Add the right-hand image. | |||
if self.imageRight then | |||
local imageRightCell = mbox:tag('div'):addClass('mbox-imageright') | |||
imageRightCell | |||
:addClass(self.imageRightClass) | |||
:wikitext(self.imageRight or nil) | |||
end | |||
-- Add the below row. | |||
if self.below then | |||
mbox:tag('div') | |||
:addClass('mbox-text') | |||
:cssText(self.textstyle or nil) | |||
:wikitext(self.below or nil) | |||
end | |||
-- Add error message for invalid type parameters. | |||
if self.invalidTypeError then | |||
root:tag('div') | |||
:addClass('mbox-invalid-type') | |||
:wikitext(string.format( | |||
'This message box is using an invalid "type=%s" parameter and needs fixing.', | |||
self.type or '' | |||
)) | |||
end | |||
-- Add categories. | |||
root:wikitext(self:renderCategories() or nil) | |||
return tostring(root) | |||
end | end | ||
function MessageBox:export() | function MessageBox:export() | ||
local root = mw.html.create() | local root = mw.html.create() | ||
Line 627: | Line 745: | ||
box:setParameters() | box:setParameters() | ||
box:setCategories() | box:setCategories() | ||
-- DIV MIGRATION CONDITIONAL | |||
if box.cfg.div_structure then | |||
return box:exportDiv() | |||
end | |||
-- END DIV MIGRATION CONDITIONAL | |||
return box:export() | return box:export() | ||
end | end |