docbrown/app/assets/javascripts/initializePage.js
zhangted beb2800959
move initializeSettings to webpack (#19737)
* move initializeSettings to webpack + add tests

* add initializeSettings to InstantClick change block

* dont use classes, use modules

---------

Co-authored-by: PJ <pj@forem.com>
2023-08-01 13:09:50 +01:00

55 lines
1.4 KiB
JavaScript

/*
global initializeLocalStorageRender, initializeBodyData,
initializeAllTagEditButtons, initializeUserFollowButts,
initializeCommentsPage,
initializeRuntimeBanner,
initializeCreditsPage,
initializeOnboardingTaskCard,
initScrolling, nextPage:writable,
fetching:writable, done:writable, initializePaymentPointers,
initializeBroadcast
*/
function callInitializers() {
initializePaymentPointers();
initializeCommentsPage();
initializeCreditsPage();
initializeOnboardingTaskCard();
}
function initializePage() {
initializeLocalStorageRender();
initializeBodyData();
var waitingForDataLoad = setInterval(function wait() {
if (document.body.getAttribute('data-loaded') === 'true') {
clearInterval(waitingForDataLoad);
if (document.body.getAttribute('data-user-status') === 'logged-in') {
initializeBaseUserData();
initializeAllTagEditButtons();
}
initializeBroadcast();
initializeReadingListIcons();
initializeDisplayAdVisibility();
if (document.getElementById('sidebar-additional')) {
document.getElementById('sidebar-additional').classList.add('showing');
}
}
}, 1);
callInitializers();
function freezeScrolling(event) {
event.preventDefault();
}
nextPage = 0;
fetching = false;
done = false;
setTimeout(function undone() {
done = false;
}, 300);
if (!initScrolling.called) {
initScrolling();
}
}