66 lines
2.3 KiB
JavaScript
66 lines
2.3 KiB
JavaScript
document.body.style.overflowY = "scroll";
|
|
CineraProps.Orientation = GetRealOrientation(orientations.LANDSCAPE_LEFT, CineraProps.IsMobile);
|
|
|
|
// Element Selection
|
|
//
|
|
Nav.Nexus = document.getElementById("cineraIndex");
|
|
Nav.Controls.Header = document.getElementById("cineraIndexControl");
|
|
Nav.Controls.Sort = Nav.Controls.Header.querySelector(".cineraMenuItem.sort");
|
|
Nav.Controls.View = Nav.Controls.Header.querySelector(".cineraMenuItem.view");
|
|
Nav.Controls.Anim = Nav.Controls.Header.querySelector(".cineraMenuItem.anim");
|
|
Nav.Controls.Save = Nav.Controls.Header.querySelector(".cineraMenuItem.save");
|
|
Nav.Controls.Help = Nav.Nexus.querySelector(".cineraHelp");
|
|
Nav.Controls.HelpDocumentation = Nav.Controls.Help.querySelector(".help_container");
|
|
Nav.GridContainer = Nav.Nexus.querySelector(".cineraIndexGridContainer");
|
|
Nav.Controls.GridTraversal.Header = Nav.GridContainer.querySelector(".cineraTraversal");
|
|
Nav.Controls.GridTraversal.Ascend = Nav.Controls.GridTraversal.Header.querySelector(".cineraButton.ascension");
|
|
Nav.Controls.GridTraversal.Prev = Nav.Controls.GridTraversal.Header.querySelector(".cineraButton.prev");
|
|
Nav.Controls.GridTraversal.Next = Nav.Controls.GridTraversal.Header.querySelector(".cineraButton.next");
|
|
|
|
Search.QueryElement = document.getElementById("query");
|
|
Search.ResultsSummary = document.getElementById("cineraResultsSummary");
|
|
Search.ResultsContainer = document.getElementById("cineraResults");
|
|
Search.IndexContainer = document.getElementById("cineraIndexList");
|
|
Search.ProjectsContainer = Search.IndexContainer.querySelectorAll(".cineraIndexProject");
|
|
//
|
|
///
|
|
|
|
// NOTE(matt): Initialisation
|
|
//
|
|
if(CineraProps.IsMobile)
|
|
{
|
|
Nav.Nexus.classList.add("mobile");
|
|
}
|
|
InitTraversalStack();
|
|
InitNexus();
|
|
InitHelpKeys(Nav.Controls.HelpDocumentation);
|
|
Nav.GridSize = ComputeOptimalGridSize();
|
|
SetHelpKeyAvailability(Nav.GridSize);
|
|
InitButtons(); // NOTE(matt): Also does "keydown" listeners, needed before UpdateButtons()
|
|
UpdateButtons();
|
|
|
|
InitQuery(Search.QueryElement);
|
|
InitPrototypes(Search.ResultsContainer);
|
|
prepareProjects();
|
|
|
|
SyncNavState();
|
|
//
|
|
////
|
|
|
|
// NOTE(matt): Listeners
|
|
//
|
|
BindControlKeys();
|
|
BindGridKeys(Nav.GridSize);
|
|
BindControls();
|
|
InitResizeEventListener();
|
|
InitOrientationChangeListener();
|
|
InitScrollEventListener(Nav.Grid);
|
|
//
|
|
////
|
|
|
|
// NOTE(matt): On-load Execution
|
|
//
|
|
runSearch();
|
|
//
|
|
////
|