docbrown/app/assets/javascripts/initializePage.js
ludwiczakpawel 73e560f7a2
Updating navigation (especially mobile) (#10424)
* .

* .

* .

* .

* .

* specs

* specs

* .

* .

* merge

* moving cheese around

* layout

* .

* merge

* Fixed invalid selector for search.

* Fixed issue with URL not updating after a search.

* do things better

* kinda merge

* whoops

* whoops

* .

* .

* im a backend developer

* tooltips 1.0.1

* tooltips 1.0.1

* fix

* specs

* .

* reduce the spacing

* schema drop

* reverts

* revert

* reverts

* revert

* drop unused nav

* drop unused nav

* drop unused nav

* drop unused nav

* typos

* paths fixes

* speeding up JS

* js

* search

* Reworked initializeTopBarIcons.js

* Reworked initializeNavigation.js

* Small refactor and updated exported function API docs.

* Fixed a bug I created when refactoring the top navigation icons.

* sidebar nav links

* spec

* Fixed issues with logged out experience for top nav icons.

* Small refactor of top nav icons.

* Small refactor and added some API docs.

* Added @testing-library/dom

* Added tests for top navigation utilities.

* spec

* spec

Co-authored-by: Nick Taylor <nick@dev.to>
2020-12-08 15:59:21 +01:00

88 lines
2.8 KiB
JavaScript

/*
global initializeLocalStorageRender, initializeBodyData,
initializeAllChatButtons, initializeAllTagEditButtons, initializeUserFollowButts,
initializeBaseTracking, initializeTouchDevice, initializeCommentsPage,
initializeArticleDate, initializeArticleReactions, initNotifications,
initializeCommentDate, initializeCommentDropdown, initializeSettings,
initializeCommentPreview,
initializeTimeFixer, initializeDashboardSort, initializePWAFunctionality,
initializeEllipsisMenu, initializeArchivedPostFilter, initializeCreditsPage,
initializeUserProfilePage, initializeProfileInfoToggle, initializePodcastPlayback,
initializeVideoPlayback, initializeDrawerSliders, initializeProfileBadgesToggle,
initializeHeroBannerClose, initializeOnboardingTaskCard, initScrolling,
nextPage:writable, fetching:writable, done:writable, adClicked:writable,
initializePaymentPointers, initializeBroadcast, initializeDateHelpers,
initializeColorPicker
*/
function callInitializers() {
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();
initializeAllChatButtons();
initializeAllTagEditButtons();
}
initializeBroadcast();
initializeAllFollowButts();
initializeUserFollowButts();
initializeReadingListIcons();
initializeSponsorshipVisibility();
if (document.getElementById('sidebar-additional')) {
document.getElementById('sidebar-additional').classList.add('showing');
}
}
}, 1);
initializeBaseTracking();
initializePaymentPointers();
initializeTouchDevice();
initializeCommentsPage();
initializeArticleDate();
initializeArticleReactions();
initNotifications();
initializeCommentDate();
initializeCommentDropdown();
initializeSettings();
initializeCommentPreview();
initializeTimeFixer();
initializeDashboardSort();
initializePWAFunctionality();
initializeEllipsisMenu();
initializeArchivedPostFilter();
initializeCreditsPage();
initializeUserProfilePage();
initializeProfileInfoToggle();
initializeProfileBadgesToggle();
initializePodcastPlayback();
initializeVideoPlayback();
initializeDrawerSliders();
initializeHeroBannerClose();
initializeOnboardingTaskCard();
initializeDateHelpers();
initializeColorPicker();
function freezeScrolling(event) {
event.preventDefault();
}
nextPage = 0;
fetching = false;
done = false;
adClicked = false;
setTimeout(function undone() {
done = false;
}, 300);
if (!initScrolling.called) {
initScrolling();
}
}
function initializePage() {
initializeLocalStorageRender();
callInitializers();
}