Module:Update navigation
Jump to navigation
Jump to search
Documentation for this module may be created at Module:Update navigation/doc
local m_args = require('Module:ArgsLib')
local patch = require('Module:Patch/data') -- loadData has problems here
local u = {}
function u.getUpdateLink(version)
local data = patch.map[version]
return string.format('[[Update: %s|%s]]', data.date, data.title)
end
function u.getOfficialNotes(version)
local data = patch.map[version]
return string.format('[%s Official Patch Notes]', data.link)
end
local p = {}
function p.main(frame)
local args = m_args.merge()
return p._main(args)
end
function p._main(args)
local _version = args[1]
local _previousCount = 3
local _nextCount = 3
for i, v in ipairs(patch.ordered_list) do
if v == _version then
local _first = math.max(1, i - _previousCount)
local _last = math.min(#patch.ordered_list, i + _nextCount)
local navBox = mw.html.create('table'):addClass('wikitable navbox'):attr('style','text-align:center')
:tag('caption')
:wikitext(string.format('Update Navigation (%s, %s)', u.getOfficialNotes(_version), _version))
:done()
local navRow = navBox:tag('tr')
for j = _last, _first, -1 do
local _current = patch.ordered_list[j]
local _link = u.getUpdateLink(_current)
navRow:tag('td'):wikitext(_link):done()
end
return navBox
end
end
end
return p