Daniel@0: "use strict"; Daniel@0: Daniel@0: App.addInitializer(function(options){ Daniel@0: var _this = this; Daniel@0: Daniel@0: var popupsAreInstant = true; Daniel@0: var appRouter = new (Backbone.Router.extend({ Daniel@0: routes: { Daniel@0: "help": "navigateToHelp", Daniel@0: "help/:id": "navigateToHelp", Daniel@0: "": "navigateToDefault", Daniel@0: "*notFound": "notFound", Daniel@0: }, Daniel@0: Daniel@0: navigateToHelp: function(id){ Daniel@0: //App.logger.log("Navigating to help with material id: ", id); Daniel@0: App.HelpModule.show({materialId: id !== null ? id : "", instant: popupsAreInstant}); Daniel@0: }, Daniel@0: Daniel@0: navigateToDefault: function(id){ Daniel@0: //App.logger.log("Navigating to default"); Daniel@0: App.HelpModule.hide(); Daniel@0: }, Daniel@0: Daniel@0: notFound: function(context){ Daniel@0: App.logger.warn("Route not found", context); Daniel@0: } Daniel@0: }))(); Daniel@0: Daniel@0: App.HelpModule.on("show", function(options) { Daniel@0: var urlHash = "help"; Daniel@0: if (options.materialId) { Daniel@0: urlHash += "/" + options.materialId; Daniel@0: } Daniel@0: var needToReplace = Backbone.history.fragment.slice(0, 4) == "help"; Daniel@0: appRouter.navigate(urlHash, {"replace": needToReplace}); Daniel@0: }); Daniel@0: Daniel@0: App.HelpModule.on("hide", function(options) { Daniel@0: appRouter.navigate("/"); Daniel@0: }); Daniel@0: Daniel@0: Backbone.history.start({ Daniel@0: // "pushState": true, Daniel@0: // "root": "/chords" Daniel@0: }); Daniel@0: Daniel@0: popupsAreInstant: false; Daniel@0: });