Modul:Pagination
Izvor: abcDNK
Documentation for this module may be created at Modul:Pagination/doc
local p = {} --p stands for package
function p.list(frame)
ret = ""
params = {}
params["namespace"] = frame.args.namespace
count = 0
all_pages = mw.ext.dpl.getPages(params)
if all_pages ~= nil then
for _ in pairs(mw.ext.dpl.getPages(params)) do count = count + 1 end
end
args_count = tonumber(frame.args.count)
args_offset = tonumber(frame.args.offset)
number_of_pages = math.ceil(count/args_count)
if number_of_pages > 1 then
ret = ret .. "<div class='row'>"
ret = ret .. "<div class='col-12 d-flex'>"
ret = ret .. '<ul class="pagination ml-auto mr-auto">'
-- first
--[[
ret = ret .. '<li class="page-item'
if args_offset <= 0 then
ret = ret .. ' disabled'
end
ret = ret .. '">'
ret = ret .. '<span class="page-link">[' .. frame.args.page_url .. '?offset=0 Prva]</span>'
ret = ret .. '</li>'
--]]
-- previous
ret = ret .. '<li class="page-item'
if args_offset <= 0 then
ret = ret .. ' disabled'
end
ret = ret .. '">'
offset = args_offset - args_count
if offset < 0 then
offset = 0
end
ret = ret .. '<span class="page-link">[' .. frame.args.page_url .. '?offset=' .. offset .. ' Prethodna]</span>'
ret = ret .. '</li>'
last_page_offset = math.floor(count/args_count) * args_count
if last_page_offset == count then
last_page_offset = last_page_offset - args_count
end
--[[
for page=1,number_of_pages,1 do
offset = (page - 1) * args_count
ret = ret .. '<li class="page-item'
if offset == args_offset then
ret = ret .. ' active'
elseif (page == 1 and args_offset <= 0) or (page == number_of_pages and args_offset >= last_page_offset) or offset == args_offset then
ret = ret .. ' disabled'
end
ret = ret .. '">'
if offset < 0 then
offset = 0
elseif offset > last_page_offset then
offset = last_page_offset
end
ret = ret .. '<span class="page-link">[' .. frame.args.page_url .. '?offset=' .. offset .. ' ' .. page .. ']</span>'
ret = ret .. '</li>'
end
--]]
-- next
ret = ret .. '<li class="page-item'
if args_offset >= last_page_offset then
ret = ret .. ' disabled'
end
ret = ret .. '">'
offset = args_offset + args_count
if offset > last_page_offset then
offset = last_page_offset
end
ret = ret .. '<span class="page-link">[' .. frame.args.page_url .. '?offset=' .. offset .. ' Sljedeća]</span>'
ret = ret .. '</li>'
--last
--[[
ret = ret .. '<li class="page-item'
if args_offset >= last_page_offset then
ret = ret .. ' disabled'
end
ret = ret .. '">'
ret = ret .. '<span class="page-link">[' .. frame.args.page_url .. '?offset=' .. last_page_offset .. ' Zadnja]</span>'
ret = ret .. '</li>'
--]]
ret = ret .. '</ul>'
ret = ret .. "</div>"
ret = ret .. "</div>"
end
return ret
end
return p