Jump to content

Module:TestModule: Difference between revisions

From NewsWikiTestbed
AdamZachar (talk | contribs)
No edit summary
AdamZachar (talk | contribs)
No edit summary
Line 32: Line 32:


end
end
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
  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
    output = output .. "<ul>"
    for i, childTopic in ipairs(childTopics) do
    output = output .. " <li>" .. "[[" .. childTopic.topicName .. "]]"
    end
    output = output .. "</ul>"
  end
  end
  output = output .. "</ul>"
end
return output
end


return p
return p

Revision as of 12:52, 10 June 2025


local p = {} --p stands for package

function funcRecurseLineage(parentTopic)

 local output = ""
 local topics, errors = mw.ext.externaldata.getExternalData {
   source = "CaseData",
   query = "childrenTopics",
   data = "topicName=topic_name",
   parameters = parentTopic
  }

 if topics ~= nil then
  output = output .. "<ul>"
  for i, topic in ipairs(topics) do
   output = output .. " <li>" .. "[[" .. topic.topicName .. "]]"
   output = output .. funcRecurseLineage(topic.topicName)
  end
  output = output .. "</ul>"
 end

 return output

end


function p.recurseLineage( frame )

 final = funcRecurseLineage(frame.args.parentTopic)

 return final

end

return p