Module:多重讯息框

来自植物大战僵尸百科
跳转到导航 跳转到搜索
{{🛈}}模組文檔[查看] [編輯] [歷史] [清除缓存]此文档嵌入自Module:多重讯息框/文档

本模組用於{{多重訊息框}},用法見其文檔。

模組內容

multi

本模組的返回值。

multi.main(frame)
從框架對象frame接收參數並傳遞至multi._main,返回其結果。
multi._main(args)
接收參數表args並返回訊息框結果。
local multi = {}
local ts = require('Module:参数').loadData('Module:讯息框/参数')

local getArgs = require('Dev:Arguments').getArgs

function multi.main(frame)
    local args = getArgs(frame--[[, { wrappers = { 'Template:多重讯息框', 'Template:息', 'Template:多通知' } }]])
    return multi._main(args)
end

function multi._main(args)
    local container = mw.html.create('div'):addClass('multi-mbox'):addClass('mw-collapsible')

    -- 摺疊說明
    container
        :tag('div'):addClass('mbox'):addClass('mbox-type-standard'):addClass('multi-mbox-first')
            :tag('div'):addClass('mbox-main')
                :tag('div'):addClass('mbox-header'):wikitext('本頁面有多個' .. (ts:parameter('類型', args) or '通知'))

    -- 主體
    local collapsible = container:tag('div'):addClass('mw-collapsible-content')
    for _, v in ipairs(args) do
    	--[[無效
        --v = string.gsub(tostring(v), '( ?)mw-collapsible( ?)', '')
        --v = string.gsub(v, '( ?)mw-collapsed( ?)', '')
        ]]
        v = string.gsub(v, '^{{%s*', '')
        v = string.gsub(v, '%s*}}$', '')
        collapsible:node(v)
    end

    return container
end

return multi