Latest revision |
Your text |
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 745: |
Line 627: |
| 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 |