模块:View:修订间差异
无编辑摘要 |
无编辑摘要 |
||
(未显示同一用户的40个中间版本) | |||
第1行: | 第1行: | ||
local p = {} --p stands for package | local p = {} --p stands for package | ||
function p.renderComponents( frame, payload) | function p.renderComponents(frame, payload) | ||
local args = frame.args | local args = frame.args | ||
-- 1. 载入 json 文件 | -- 1. 载入 json 文件 | ||
payload = mw.loadJsonData( args["payload"] ) | if not payload then | ||
payload = mw.loadJsonData( args["payload"] ) | |||
end | |||
local | local text = "" | ||
for _, componentItem in ipairs(payload) do | |||
local tmplName, data = componentItem[1], componentItem[2] | |||
local tmplOptions = {} | |||
return | for key, value in pairs(data) do | ||
if type(value) == "table" then | |||
tmplOptions[key] = p.renderComponents( frame, value ) | |||
else | |||
tmplOptions[key] = value | |||
end | |||
end | |||
text = text .. frame:getParent():expandTemplate{title = args[tmplName], args = tmplOptions} | |||
end | |||
return text | |||
end | end | ||
return p | return p |
2024年6月24日 (一) 17:36的最新版本
可在模块:View/doc创建此模块的帮助文档
local p = {} --p stands for package
function p.renderComponents(frame, payload)
local args = frame.args
-- 1. 载入 json 文件
if not payload then
payload = mw.loadJsonData( args["payload"] )
end
local text = ""
for _, componentItem in ipairs(payload) do
local tmplName, data = componentItem[1], componentItem[2]
local tmplOptions = {}
for key, value in pairs(data) do
if type(value) == "table" then
tmplOptions[key] = p.renderComponents( frame, value )
else
tmplOptions[key] = value
end
end
text = text .. frame:getParent():expandTemplate{title = args[tmplName], args = tmplOptions}
end
return text
end
return p