Module:TestModule
Appearance
local p = {} --p stands for package
function p.topicLineage( frame )
local output = ""
local parentTopic = frame.args.parentTopic
local topics, errors = mw.ext.externaldata.getExternalData {
source = "CaseData"
, query = "childrenTopics"
, data = "topicName=topic_name"
, parameters = parentTopic
}
if topics == nil then return output end
output = output .. "<ul>"
for i, topic in ipairs(topics) do
output = output .. " <li>" .. "[[" .. topic.topicName .. "]]"
local childTopics, errors3 = mw.ext.externaldata.getExternalData {
source = "CaseData"
, query = "childrenTopics"
, data = "topicName=topic_name"
, parameters = topic.topicName
}
if childTopics == nil then break end
output = output .. "<ul>"
for i, childTopic in ipairs(childTopics) do
output = output .. " <li>" .. "[[" .. childTopic.topicName .. "]]"
end
output = output .. "</ul>"
end
output = output .. "</ul>"
return output
end
return p