切换搜索
搜索
切换菜单
notifications
切换个人菜单
查看“模块:Icon/table”的源代码
来自决策链云智库
更多操作
←
模块:Icon/table
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
-- Create a table of icons to display on the template test case page require('strict') local p = {} local m_iconData = mw.loadData("Module:Icon/data") local m_iconSandboxData = mw.loadData("Module:Icon/data/sandbox") local function mergeTables(...) local ret = {} for _, t in ipairs{...} do for k, v in pairs(t) do ret[k] = v end end return ret end local function reconstituteAliases(iconDataCollection) local ret = {} for code, iconData in pairs(iconDataCollection) do local outputData = ret[iconData.canonicalCode] or { aliases = {}, image = iconData.image, tooltip = iconData.tooltip, link = iconData.link, } if code ~= iconData.canonicalCode then table.insert(outputData.aliases, code) end ret[iconData.canonicalCode] = outputData end return ret end local function makeTableData(iconDataCollection) local ret = {} for code, iconData in pairs(reconstituteAliases(iconDataCollection)) do if code ~= '_DEFAULT' then table.insert(ret, {code = code, description = iconData.tooltip, aliases = iconData.aliases}) end end table.sort( ret, function(t1, t2) return t1.code < t2.code end ) for _, t in ipairs(ret) do table.sort(t.aliases) end return ret end function p.testcases(frame) local tableData = makeTableData(mergeTables(m_iconData, m_iconSandboxData)) local ret = { '{| class="wikitable sortable"', '! Code', '! [[Template:Icon|Template]]', '! [[Template:Icon/sandbox|Sandbox]]', '! Description', } local function addRow(code, description) table.insert(ret, '|-') table.insert(ret, '| <code>' .. mw.text.nowiki('{{icon|' .. code .. '}}') .. '</code>') table.insert(ret, '| style="text-align: center" | ' .. frame:expandTemplate{title = 'icon', args = {code}}) table.insert(ret, '| style="text-align: center" | ' .. frame:expandTemplate{title = 'icon/sandbox', args = {code}}) table.insert(ret, '| ' .. description) end for _, rowData in ipairs(tableData) do addRow(rowData.code, rowData.description) for _, alias in ipairs(rowData.aliases) do addRow(alias, rowData.description) end end table.insert(ret, '|}') return table.concat(ret, '\n') end function p.main(frame) local tableData = makeTableData(m_iconData) local ret = { '{| class="wikitable sortable"', '! Icon', '! Description', '! Code', '! Aliases' } for _, rowData in ipairs(tableData) do table.insert(ret, '|-') table.insert(ret, '| style="text-align: center" | ' .. frame:expandTemplate{title = 'icon', args = {rowData.code}}) table.insert(ret, '| ' .. rowData.description) table.insert(ret, '| <code>' .. mw.text.nowiki('{{icon|' .. rowData.code .. '}}') .. '</code>') local aliasText = {} for _, alias in ipairs(rowData.aliases) do table.insert(aliasText, '<code>' .. alias .. '</code>') end table.insert(ret, '| ' .. table.concat(aliasText, ', ')) end table.insert(ret, '|}') return table.concat(ret, '\n') end return p
本页使用的模板:
模板:Icon
(
查看源代码
)
模板:Sandbox other
(
查看源代码
)
模块:Icon/data
(
查看源代码
)
模块:Icon/data/sandbox
(
查看源代码
)
模块:Icon/table
(
查看源代码
)
模块:Icon/table/doc
(
查看源代码
)
模块:String
(
查看源代码
)
返回
模块:Icon/table
。