MCPcopy Index your code
hub / github.com/codecombat/codecombat / onNavigate

Method onNavigate

app/core/Router.js:809–839  ·  view source on GitHub ↗
(e, recursive)

Source from the content-addressed store, hash-verified

807 }
808
809 onNavigate (e, recursive) {
810 let view
811 if (recursive == null) { recursive = false }
812 if (!recursive) { this.viewLoad = new ViewLoadTimer() }
813 if (_.isString(e.viewClass)) {
814 dynamicRequire[e.viewClass]().then(viewClass => {
815 return this.onNavigate(_.assign({}, e, { viewClass }), true)
816 })
817 return
818 }
819
820 const manualView = e.view || e.viewClass
821 if ((e.route === document.location.pathname) && !manualView) {
822 return document.location.reload()
823 }
824 this.navigate(e.route, { trigger: !manualView })
825 this._trackPageView()
826 if (!manualView) { return }
827 if (e.viewClass) {
828 const args = e.viewArgs || []
829 const Klass = e.viewClass.default ? e.viewClass.default : e.viewClass
830 view = new Klass(...Array.from(args || []))
831 view.render()
832 this.openView(view)
833 this.viewLoad.setView(view)
834 } else {
835 this.openView(e.view)
836 this.viewLoad.setView(e.view)
837 }
838 return this.viewLoad.record()
839 }
840
841 navigate (fragment, options) {
842 super.navigate(fragment, options)

Callers

nothing calls this directly

Calls 7

navigateMethod · 0.95
_trackPageViewMethod · 0.95
openViewMethod · 0.95
reloadMethod · 0.80
setViewMethod · 0.80
recordMethod · 0.80
renderMethod · 0.45

Tested by

no test coverage detected