模块:View:修订间差异

无编辑摘要
无编辑摘要
 
(未显示同一用户的2个中间版本)
第13行: 第13行:
     for _, componentItem in ipairs(payload) do
     for _, componentItem in ipairs(payload) do
       local tmplName, data = componentItem[1], componentItem[2]
       local tmplName, data = componentItem[1], componentItem[2]
      text = text .. tmplName .. "=" .. args[tmplName] .. "<br>"
     
       local tmplOptions = {}
       local tmplOptions = {}


第21行: 第19行:
         if type(value) == "table" then
         if type(value) == "table" then
           tmplOptions[key] = p.renderComponents( frame, value )
           tmplOptions[key] = p.renderComponents( frame, value )
          error("12")
         else
         else
           tmplOptions[key] = value
           tmplOptions[key] = value
第28行: 第25行:
       end
       end
        
        
       -- text = text .. frame:getParent():expandTemplate{title = args[tmplName], args = tmplOptions}
       text = text .. frame:getParent():expandTemplate{title = args[tmplName], args = tmplOptions}
     end
     end



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