pyc-website
main website for pyc inc.
git clone https://9o.is/git/pyc-website.git
commit c4b16f19f64121debe30b48243911fe9e9089805 parent 168f13ec77dc5848c610d7498e96f3e4629e89e8 Author: Jul <jul@9o.is> Date: Tue, 3 Jun 2014 16:11:32 -0400 page title changes after ui-router changes url (fixes issue #14) Diffstat:
| M | src/main/scala/inc/pyc/lib/NgUIRouter.scala | | | 22 | ++++++++++++++++++---- |
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/main/scala/inc/pyc/lib/NgUIRouter.scala b/src/main/scala/inc/pyc/lib/NgUIRouter.scala @@ -82,7 +82,7 @@ trait NgUIRouterSnip extends SnippetHelper { $stateProvider"""+{ routes.vend.map { menu => val templateUrl = S.contextPath+menu.loc.calcDefaultHref - val state: String = menu.loc.name.replaceAll(" ","").toLowerCase + val state: String = menu.loc.name.replaceAll(" ","_") ".state('"+state+"', {"+ "url:'"+templateUrl+"',"+ @@ -109,13 +109,25 @@ trait NgUIRouterSnip extends SnippetHelper { val liftCometStart = """window.liftComet.lift_cometRestart();""" - val log = if(Props.devMode) "console.log('$viewContentLoaded is running now ... ');" else "" + val log = if(Props.devMode) "console.log('$viewContentLoaded is running now ... ');" else "" - // ng ui-router run when $viewContentLoaded (on regular and ajax page load) + /** Changes document title on state change. */ + val changeTitle = "document.title = 'PYC: ' + toState.name.replace(/_/g, ' ');" + + /** + * Run commands when UI-Router's $viewContentLoaded event is fired. + */ def onViewContentLoaded(cmds: String*): String = """.run(['$rootScope', '$state', function($rootScope, $state) {$rootScope.$on('$viewContentLoaded', function() {"""+ cmds.mkString+"""}); }])""" + /** + * Run commands when UI-Router's $stateChangeSuccess event is fired. + */ + def onStateChangeSuccess(cmds: String*): String = + """.run(['$rootScope', function($rootScope) {$rootScope.$on('$stateChangeSuccess', function(e, toState) {"""+ + cmds.mkString+"""}); }])""" + def ifStateNotVisited(cmds: String*): String = """ var visited = false; angular.forEach(statesVisited, function(state){ @@ -130,7 +142,9 @@ trait NgUIRouterSnip extends SnippetHelper { def func(body: String): String = "(function() {"+body+"});" s"""// <![CDATA[ - ${init + app + config + onViewContentLoaded(log, ifStateNotVisited(updateLiftWatch, evalRenderedJS, liftCometStart))}; + ${init + app + config + + onViewContentLoaded(log, ifStateNotVisited(updateLiftWatch, evalRenderedJS, liftCometStart)) + + onStateChangeSuccess(changeTitle)}; $cometScript //]]>""" }