From 9942e2403967d9e4a1da07897ae5e6a9ecddf15a Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Tue, 16 Jun 2015 15:23:55 -0700 Subject: [PATCH] [Addressability] Work around reload again Work around Angular's page refresh on URL change to avoid unintended effects when chosen view changes (such as tree collapse), WTD-1149. --- platform/commonUI/browse/bundle.json | 8 +++++--- platform/commonUI/browse/src/BrowseController.js | 5 +++-- platform/commonUI/browse/src/BrowseObjectController.js | 8 +++++++- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/platform/commonUI/browse/bundle.json b/platform/commonUI/browse/bundle.json index 1f019991e9..7b98571441 100644 --- a/platform/commonUI/browse/bundle.json +++ b/platform/commonUI/browse/bundle.json @@ -3,11 +3,13 @@ "routes": [ { "when": "/browse/:ids*", - "templateUrl": "templates/browse.html" + "templateUrl": "templates/browse.html", + "reloadOnSearch": false }, { "when": "", - "templateUrl": "templates/browse.html" + "templateUrl": "templates/browse.html", + "reloadOnSearch": false } ], "controllers": [ @@ -19,7 +21,7 @@ { "key": "BrowseObjectController", "implementation": "BrowseObjectController.js", - "depends": [ "$scope", "$location" ] + "depends": [ "$scope", "$location", "$route" ] }, { "key": "CreateMenuController", diff --git a/platform/commonUI/browse/src/BrowseController.js b/platform/commonUI/browse/src/BrowseController.js index 826493f6a6..c1cd84c908 100644 --- a/platform/commonUI/browse/src/BrowseController.js +++ b/platform/commonUI/browse/src/BrowseController.js @@ -47,8 +47,9 @@ define( ); function updateRoute(domainObject) { - var context = domainObject.getCapability('context'), - objectPath = context.getPath(), + var context = domainObject && + domainObject.getCapability('context'), + objectPath = context ? context.getPath() : [], ids = objectPath.map(function (domainObject) { return domainObject.getId(); }), diff --git a/platform/commonUI/browse/src/BrowseObjectController.js b/platform/commonUI/browse/src/BrowseObjectController.js index 9a95c7ea97..ed94fe0c01 100644 --- a/platform/commonUI/browse/src/BrowseObjectController.js +++ b/platform/commonUI/browse/src/BrowseObjectController.js @@ -31,7 +31,7 @@ define( * object (the right-hand side of Browse mode.) * @constructor */ - function BrowseObjectController($scope, $location) { + function BrowseObjectController($scope, $location, $route) { function setViewForDomainObject(domainObject) { var locationViewKey = $location.search().view; @@ -48,8 +48,14 @@ define( } function updateQueryParam(viewKey) { + var unlisten, priorRoute = $route.current; + if (viewKey) { $location.search('view', viewKey); + unlisten = $scope.$on('$locationChangeSuccess', function () { + $route.current = priorRoute; + unlisten(); + }); } }