4,001
edits
en>Izno (support templatestyles) |
m (1 revision imported) |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
require('strict') | |||
require(' | |||
local getArgs | local getArgs | ||
local yesno = require('Module:Yesno') | local yesno = require('Module:Yesno') | ||
local lang = mw.language.getContentLanguage() | local lang = mw.language.getContentLanguage() | ||
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 162: | Line 155: | ||
self.typeClass = typeData.class | self.typeClass = typeData.class | ||
self.typeImage = typeData.image | self.typeImage = typeData.image | ||
self.typeImageNeedsLink = typeData.imageNeedsLink | |||
-- Find if the box has been wrongly substituted. | -- Find if the box has been wrongly substituted. | ||
Line 303: | Line 297: | ||
end | end | ||
if date then | if date then | ||
self.date = string.format(" <span class='date-container'> | self.date = string.format(" <span class='date-container'><i>(<span class='date'>%s</span>)</i></span>", date) | ||
end | end | ||
self.info = args.info | self.info = args.info | ||
Line 325: | Line 319: | ||
self.imageCellDiv = not self.isSmall and cfg.imageCellDiv | self.imageCellDiv = not self.isSmall and cfg.imageCellDiv | ||
self.imageEmptyCell = cfg.imageEmptyCell | self.imageEmptyCell = cfg.imageEmptyCell | ||
-- Left image settings. | -- Left image settings. | ||
Line 339: | Line 330: | ||
and (cfg.imageSmallSize or '30x30px') | and (cfg.imageSmallSize or '30x30px') | ||
or '40x40px' | or '40x40px' | ||
self.imageLeft = string.format('[[File:%s|%s | self.imageLeft = string.format('[[File:%s|%s%s|alt=]]', self.typeImage | ||
or ' | or 'Information icon4.svg', imageSize, self.typeImageNeedsLink and "" or "|link=" ) | ||
end | end | ||
end | end | ||
Line 351: | Line 342: | ||
-- set templatestyles | -- set templatestyles | ||
self.base_templatestyles = cfg.templatestyles | |||
self.templatestyles = args.templatestyles | self.templatestyles = args.templatestyles | ||
end | end | ||
Line 486: | Line 478: | ||
)) | )) | ||
end | 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 | -- Add support for a single custom templatestyles sheet. Undocumented as | ||
-- need should be limited and many templates using mbox are substed; we | -- need should be limited and many templates using mbox are substed; we | ||
-- don't want to spread templatestyles sheets around to arbitrary places | -- don't want to spread templatestyles sheets around to arbitrary places | ||
if self.templatestyles then | if self.templatestyles then | ||
root:wikitext(frame:extensionTag{ | root:wikitext(frame:extensionTag{ | ||
Line 522: | Line 517: | ||
-- image width to 52px. If any images in a div are wider than that, | -- image width to 52px. If any images in a div are wider than that, | ||
-- they may overlap with the text or cause other display problems. | -- they may overlap with the text or cause other display problems. | ||
imageLeftCell = imageLeftCell:tag('div'): | imageLeftCell = imageLeftCell:tag('div'):addClass('mbox-image-div') | ||
end | end | ||
imageLeftCell:wikitext(self.imageLeft or nil) | imageLeftCell:wikitext(self.imageLeft or nil) | ||
Line 532: | Line 527: | ||
row:tag('td') | row:tag('td') | ||
:addClass('mbox-empty-cell') | :addClass('mbox-empty-cell') | ||
end | end | ||
Line 577: | Line 571: | ||
-- If we are using a div, redefine imageRightCell so that the image | -- If we are using a div, redefine imageRightCell so that the image | ||
-- is inside it. | -- is inside it. | ||
imageRightCell = imageRightCell:tag('div'): | imageRightCell = imageRightCell:tag('div'):addClass('mbox-image-div') | ||
end | end | ||
imageRightCell | imageRightCell | ||
Line 596: | Line 590: | ||
if self.invalidTypeError then | if self.invalidTypeError then | ||
root:tag('div') | root:tag('div') | ||
: | :addClass('mbox-invalid-type') | ||
:wikitext(string.format( | :wikitext(string.format( | ||
'This message box is using an invalid "type=%s" parameter and needs fixing.', | 'This message box is using an invalid "type=%s" parameter and needs fixing.', |