From 7d7bb3ecb8541f690f1a9d4c4a7b0b8eb0ebcbce Mon Sep 17 00:00:00 2001 From: Oziris Moreira Date: Fri, 9 Sep 2016 10:51:08 -0300 Subject: [PATCH] Prevent Challenge page from scrolling to top (#7975) * Test pageTitle challenge * Test state name challenge detail * Change != to !== * IGNORE_SCROLL_PAGES * add challenge to ignore_scroll --- website/client/js/controllers/rootCtrl.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/website/client/js/controllers/rootCtrl.js b/website/client/js/controllers/rootCtrl.js index fc907283e5..394dcbcf7b 100644 --- a/website/client/js/controllers/rootCtrl.js +++ b/website/client/js/controllers/rootCtrl.js @@ -6,6 +6,10 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$http', '$state', '$stateParams', 'Notification', 'Groups', 'Shared', 'Content', '$modal', '$timeout', 'ApiUrl', 'Payments','$sce','$window','Analytics','TAVERN_ID', function($scope, $rootScope, $location, User, $http, $state, $stateParams, Notification, Groups, Shared, Content, $modal, $timeout, ApiUrl, Payments, $sce, $window, Analytics, TAVERN_ID) { var user = User.user; + var IGNORE_SCROLL_PAGES = { + 'options.social.challenges.detail': true, + 'options.social.challenges': true + }; // Setup page once user is synced var clearAppLoadedListener = $rootScope.$watch('appLoaded', function (after) { @@ -24,8 +28,10 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$ $rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams){ $rootScope.pageTitle = $state.current.title; - - $window.scrollTo(0, 0); + + if (!($state.current.name in IGNORE_SCROLL_PAGES)) { + $window.scrollTo(0, 0); + } if (!!fromState.name) Analytics.track({'hitType':'pageview','eventCategory':'navigation','eventAction':'navigate','page':'/#/'+toState.name}); if (toState.name=='options.social.inbox' && User.user.inbox && User.user.inbox.newMessages > 0) {