Module:Creo/Components/Prevnext
Appearance
This documentation is transcluded from Module:Creo/Components/Prevnext/doc.
Output the top navigation for Module:Creo using Module:Prevnext.
require( 'strict' )
local prevnext = require( 'Module:Prevnext' )
local getIndexDataById = require( 'Module:Creo' ).getIndexDataById
local p = {}
--- @param creoId number
--- @return table
local function getPrevnextData( creoId )
local prevNextData = {}
local prevId = creoId - 1
local nextId = creoId + 1
local prevIndexData = getIndexDataById( prevId )
local nextIndexData = getIndexDataById( nextId )
if prevIndexData then
local name = prevIndexData.name
prevNextData.prev = name
prevNextData.prevTitle = string.format( '#%d: %s', prevId, name )
end
if nextIndexData then
local name = nextIndexData.name
prevNextData.next = name
prevNextData.nextTitle = string.format( '#%d: %s', nextId, name )
end
return prevNextData
end
--- @param context ComponentContext
--- @return string
function p.render( context )
return prevnext._main( getPrevnextData( context.data.id ) )
end
return p