$(function () {
let $pager;
let loading = false;
let $button;
let noMore = false;
let $noCommits;
const nextCommitListItem = () => {
if (loading === true) {
return;
}
loading = true;
const href = $button.attr('href');
//console.log(href);
if (href === undefined) {
loading = false;
if (!noMore) {
$.snackbar({
htmlAllowed: true,
content: `No more commits.`
});
noMore = true;
}
return
}
noMore = false;
const retrieve = `${location.pathname}${href}`
history.pushState({}, document.title, retrieve);
const url = new URL(location);
url.search = href;
url.searchParams.append('ajax', 1)
$.ajax({
url: url.toString(),
async: true,
type: "GET",
}).then(function (html) {
$pager.after(html);
$pager.remove();
loading = false;
window.gitlist.constructCommitsListConstructMarkdown()
paginate();
$('.p3x-gitlist-commit-list-no-more-commit').remove();
});
}
function paginate() {
$pager = $('#p3x-gitlist-pager-bottom');
$noCommits = $('#p3x-gitlist-commits-no-more')
if ($noCommits.length !== 0) {
$pager.remove();
return;
}
$button = $pager.find('#p3x-gitlist-commit-list-next');
$button.one('click', function (e) {
e.preventDefault();
nextCommitListItem()
return false;
});
}
paginate();
if ($button.length > 0) {
$(window).scroll(function () {
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
nextCommitListItem();
}
});
}
})