Module:Message box: Difference between revisions

    m (79 revisions imported from templatewiki:Module:Message_box)
    m (1 revision imported)
    Line 12: Line 12:
    -- Define constants
    -- Define constants
    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'}


    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------
    Line 74: Line 75:
    local ns = obj.title.namespace
    local ns = obj.title.namespace
    -- boxType is "mbox" or invalid input
    -- boxType is "mbox" or invalid input
    if ns == 0 then
    if args.demospace and args.demospace ~= '' then
    -- implement demospace parameter of mbox
    local demospace = string.lower(args.demospace)
    if DEMOSPACES[demospace] then
    -- use template from DEMOSPACES
    obj.cfg = cfg[DEMOSPACES[demospace]]
    elseif string.find( demospace, 'talk' ) then
    -- demo as a talk page
    obj.cfg = cfg.tmbox
    else
    -- default to ombox
    obj.cfg = cfg.ombox
    end
    elseif ns == 0 then
    obj.cfg = cfg.ambox -- main namespace
    obj.cfg = cfg.ambox -- main namespace
    elseif ns == 6 then
    elseif ns == 6 then
    Line 160: Line 174:
    -- Add attributes, classes and styles.
    -- Add attributes, classes and styles.
    self.id = args.id
    self.id = args.id
    self.name = args.name
    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 185: Line 203:
    and cfg.templateCategoryRequireName
    and cfg.templateCategoryRequireName
    then
    then
    self.name = args.name
    if self.name then
    if self.name then
    local templateName = mw.ustring.match(
    local templateName = mw.ustring.match(
    Line 197: Line 214:
    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 280: Line 297:
    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