Mudanças entre as edições de "Módulo:TesteBossYawn"
Ir para navegação
Ir para pesquisar
| Linha 1: | Linha 1: | ||
local p = {} | local p = {} | ||
function p.loadBossData(bossName) | |||
local normalizedName = bossName:gsub("^%l", string.upper) | |||
-- Carrega usando ponto | |||
local success, bossData = pcall(function() | |||
return require("Module:TesteBossYawn." .. normalizedName) | |||
end) | |||
if not success then | |||
return nil | |||
end | |||
return bossData | |||
end | |||
function p.render(frame) | function p.render(frame) | ||
local bossName = frame.args.boss | local bossName = frame.args.boss | ||
if not bossName or bossName == "" then | |||
return "<b>Erro:</b> Parâmetro 'boss' não especificado." | |||
end | |||
local bossData = p.loadBossData(bossName) | |||
if not bossData then | if not bossData then | ||
return "<b>Erro:</b> Boss '" .. | return "<b>Erro:</b> Boss '" .. bossName .. "' não encontrado." | ||
end | end | ||
local jsonData = mw.text.jsonEncode(bossData) | -- Processa o componente BossSkills no servidor | ||
local skillsModuleName = "TesteBossYawn.Barbarossa" | |||
local skillsHTML = frame:preprocess("{@BossSkills|module=" .. skillsModuleName .. "|lang=pt}") | |||
bossData.skillsHTML = skillsHTML | |||
local jsonData = mw.text.jsonEncode(bossData) | |||
jsonData = mw.text.encode(jsonData) | jsonData = mw.text.encode(jsonData) | ||
return frame:preprocess([[ | return frame:preprocess([[ | ||
<div class="boss-component" data-json="]] .. jsonData .. [["> | |||
{{#widget:TesteBossYawn}} | |||
</div> | |||
]]) | |||
end | end | ||
return p | return p | ||
Edição das 13h08min de 8 de abril de 2026
A documentação para este módulo pode ser criada em Módulo:TesteBossYawn/doc
local p = {}
function p.loadBossData(bossName)
local normalizedName = bossName:gsub("^%l", string.upper)
-- Carrega usando ponto
local success, bossData = pcall(function()
return require("Module:TesteBossYawn." .. normalizedName)
end)
if not success then
return nil
end
return bossData
end
function p.render(frame)
local bossName = frame.args.boss
if not bossName or bossName == "" then
return "<b>Erro:</b> Parâmetro 'boss' não especificado."
end
local bossData = p.loadBossData(bossName)
if not bossData then
return "<b>Erro:</b> Boss '" .. bossName .. "' não encontrado."
end
-- Processa o componente BossSkills no servidor
local skillsModuleName = "TesteBossYawn.Barbarossa"
local skillsHTML = frame:preprocess("{@BossSkills|module=" .. skillsModuleName .. "|lang=pt}")
bossData.skillsHTML = skillsHTML
local jsonData = mw.text.jsonEncode(bossData)
jsonData = mw.text.encode(jsonData)
return frame:preprocess([[
<div class="boss-component" data-json="]] .. jsonData .. [[">
{{#widget:TesteBossYawn}}
</div>
]])
end
return p