local getArgs = require('Module:Arguments').getArgslocal TableTools = require('Module:TableTools')local messages = mw.loadData('Module:Succession table monarch/messages')
local p =
p.fromArgs = function(argElements) local mainTag = mw.html.create('table') :addClass('succession-table-monarch wikitable') :css('text-align', 'center') :tag('tr') :tag('th'):wikitext(messages.name):done :tag('th'):wikitext(messages.lifespan):done :tag('th'):wikitext(messages.reignStart):done :tag('th'):wikitext(messages.reignEnd):done :tag('th'):wikitext(messages.notes):done :tag('th'):wikitext(messages.family):done :tag('th'):wikitext(messages.image):done :done local ubl = require('Module:List').unbulleted for _,eachElement in ipairs(argElements) do if eachElement.name then local list_args = if eachElement.nickname then table.insert(list_args, tostring(mw.html.create('small'):tag('i'):wikitext(eachElement.nickname))) end if eachElement.native then table.insert(list_args, eachElement.native) end local rowTr = mainTag:tag('tr') rowTr:tag('td') :css('vertical-align: middle;') :wikitext(eachElement.name .. ubl(list_args)) :done :tag('td') :wikitext(eachElement.life) :tag('td') :wikitext(eachElement.reignstart) :tag('td') :wikitext(eachElement.reignend) :tag('td') :wikitext(eachElement.notes) :tag('td') :wikitext(eachElement.family) local imageTd = rowTr :tag('td') if eachElement.image then imageTd:tag('span') :addClass('photo') :wikitext('') end end end return tostring(mainTag)end
p.fromArray = function(args) local argElements = TableTools.numData(args, true) return p.fromArgs(argElements)end
p.fromFrame = function(frame) local args = getArgs(frame) return p.fromArray(args)end
return p