Jump to content

Module:TestModule: Difference between revisions

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


function funcRecurseLineage(output, parentTopic)
function funcRecurseLineage(output, parentTopic)
  local topics, errors = mw.ext.externaldata.getExternalData
 
{
local output = ""
local parentTopic = frame.args.parentTopic
 
  local topics, errors = mw.ext.externaldata.getExternalData {
   source = "CaseData",
   source = "CaseData",
   query = "childrenTopics",
   query = "childrenTopics",
   data = "topicName=topic_name",
   data = "topicName=topic_name",
   parameters = parentTopic
   parameters = parentTopic
}
  }


  if topics ~= nil then
  if topics ~= nil then
Line 15: Line 18:


   for i, topic in ipairs(topics) do
   for i, topic in ipairs(topics) do
   output = output .. " <li>" .. "[[" .. topic.topicName .. "]]"
   output = output .. " <li>" .. "[[" .. topic.topicName .. "]]"
   -- funcRecruseLineage({output=output, parentTopic=parentTopic})
 
   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
   end


Line 24: Line 43:


  return output
  return output
end
end


Line 31: Line 51:
  local parentTopic = frame.args.parentTopic
  local parentTopic = frame.args.parentTopic


  final = funcRecurseLineage({output=output, parentTopic=parentTopic})
  final = funcRecurseLineage({output=frame.args.output, parentTopic=frame.args.parentTopic})


  return final
  return final

Revision as of 12:24, 10 June 2025


local p = {} --p stands for package

function funcRecurseLineage(output, parentTopic)

 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

function p.recurseLineage( frame )

 local output = frame.args.output
 local parentTopic = frame.args.parentTopic

 final = funcRecurseLineage({output=frame.args.output, parentTopic=frame.args.parentTopic})

 return final

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