UNPKG

generator-confit

Version:

Yeoman generator for creating the development process, tools and a sample project for current-generation web applications

32 lines (26 loc) 849 B
'use strict'; let win = window; win.onpopstate = stateChangeHandler; let demoModule = { gotoPage: gotoPage, setWindow: function(newWin) { // Allow the window object to be mocked win = newWin; win.onpopstate = stateChangeHandler; } }; // Basic routing functions, in the absence of a "proper" router function gotoPage(pageName, addToHistory) { // TODO: Use config paths here instead of 'modules/demoModule' win.document.getElementById('content').innerHTML = win[pageName.replace('#/', '')]; if (addToHistory !== false) { var title = pageName; var url = '#/' + pageName; win.history.pushState({ isPushState: true, url: url }, title, url); } } function stateChangeHandler(event) { if (event.state && event.state.isPushState) { demoModule.gotoPage(event.state.url, false); } }; export default demoModule;